天天看點

基于飛槳UIE-X和Intel OpenVINO實作跨模态文檔資訊抽取

作者:百度飛槳

近期 Prompt 範式備受關注,實際上,其思想在産業界已經有了一些成功的應用案例。中科院軟體所和百度共同提出了大一統諸多任務的通用資訊抽取技術 UIE(Universal Information Extraction)。截至目前,UIE 系列模型已釋出 UIE、UIE-X、UIE-senta 三大模型。基于 Prompt 思想,UIE 系列模型憑借其強大的零樣本與小樣本能力、多任務統一模組化能力,成為業界在資訊抽取、情感分析等任務上的首選方案。

基于飛槳UIE-X和Intel OpenVINO實作跨模态文檔資訊抽取

UIE系列模型(UIE、UIE-X、UIE-senta)基本資訊表

本次産業實踐範例基于 UIE-X 和 OpenVINO 實作醫療文檔資訊抽取,提供了 UIE-X 模型在 Intel x86 平台上優化部署的完整方案,降低了産業落地門檻,可遷移至金融等行業的資訊抽取應用場景。

場景難點

  • 文檔種類繁多、版式多樣,如何有效結合文本、圖檔、布局資訊進行模組化是一大難題;
  • 傳統基于序列标注的抽取方案依賴大量領域标注資料,成本極高;
  • 同一個業務中往往存在實體、關系等多種資訊抽取需求,單獨模組化訓練成本高。

模型選型

除了純文字内容外,企業中還存在大量需要從跨模态文檔中抽取資訊并進行處理的業務場景,例如目前醫療領域有大量的醫學檢查報告單、病曆、發票以及 CT 影像等醫療圖檔資料。為了滿足跨模态文檔資訊抽取需求, PaddleNLP 基于文心 ERNIE-Layout 跨模态布局增強預訓練模型,內建 PaddleOCR的PP-OCR、PP-Structure 版面分析等領先能力,基于大量資訊抽取标注集,訓練并開源了 UIE-X——首個兼具文本及文檔抽取能力、多語言、開放域的資訊抽取模型。

本案例為 UIE-X 在醫療領域的實戰,通過少量标注+模型微調即可具備定制場景的端到端文檔資訊提取能力。為實作智能文檔資訊抽取,我們采取“定義 schema”、“Taskflow 定義”、“指定進行資訊抽取的文檔”的方案:

  • 第一步,基于 Prompt 範式,定義資訊抽取的任務及所需抽取的資訊;
  • 第二步,定義 Taskflow,包括裝載定制模型。通過 task_path 指定模型權重檔案的路徑,路徑下需要包含訓練好的模型權重檔案 model_state.pdparams;
  • 第三步,指定進行資訊抽取的文檔所在路徑 doc_path,進行資訊抽取。

飛槳通過龐大、精選的模型庫,能夠顯著降低使用者在模型選擇方面的難度,降低時間成本,實作快速疊代。在落地階段使用 Intel OpenVINO™ 工具套件進行模型部署,充分發揮通用x86平台上的網絡執行效能,優化方案整體成本,提升方案推理性能。

調優政策

  • 基于 OpenVINO 的 auto-device 中提供的多種 performance hint 政策,根據使用場景需求的不同,進行多線程配置,提升推理吞吐量或降低延遲。
  • 支援 Intel CPU 以及 GPU 上的 Dynamic Input Shape 以提升方案在進行資訊抽取時的推理性能,在保證推理時延的同時,優化方案整體成本。

模型部署

本項目的最終部署環境為 Intel x86 硬體平台裝置。考慮開發便捷性,本次示例使用 Python 部署開發環境。通過輸入醫療文檔圖檔以及定義抽取資訊的 schema,利用 Taskflow 架構完成基于 UIE-X 的智能資訊抽取。

該方案可以支援中文及英文的 Prompt/schema 以及跨語言抽取,同時也支援定制 OCR 結果。通過配置 layout 參數傳入 OCR Bounding Box 資訊,優化抽取效果。飛槳 AI Studio 也提供了完整的使用示例與開發說明,可參考該教程快速學習,并針對實際項目進行開發和內建。

基于飛槳UIE-X和Intel OpenVINO實作跨模态文檔資訊抽取

醫療文檔資訊抽取部署demo方案

為了讓小夥伴們更便捷地應用範例教程,OpenVINO 布道師武卓博士将于6月14日(周三)19:00為大家深度解析從資料準備、方案設計到模型優化部署的開發全流程,手把手教大家進行代碼實踐。

基于飛槳UIE-X和Intel OpenVINO實作跨模态文檔資訊抽取

繼續閱讀