Prompt范式產(chǎn)業(yè)實踐分享!基于飛槳UIE-X和Intel OpenVINO實現(xiàn)跨模態(tài)文檔信息抽取
近期 Prompt 范式備受關注,實際上,其思想在產(chǎn)業(yè)界已經(jīng)有了一些成功的應用案例。中科院軟件所和百度共同提出了大一統(tǒng)諸多任務的通用信息抽取技術 UIE(Universal Information Extraction)。截至目前,UIE 系列模型已發(fā)布 UIE、UIE-X、UIE-senta 三大模型?;?Prompt 思想,UIE 系列模型憑借其強大的零樣本與小樣本能力、多任務統(tǒng)一建模能力,成為業(yè)界在信息抽取、情感分析等任務上的首選方案。

本次產(chǎn)業(yè)實踐范例基于 UIE-X 和 OpenVINO 實現(xiàn)醫(yī)療文檔信息抽取,提供了 UIE-X 模型在 Intel x86 平臺上優(yōu)化部署的完整方案,降低了產(chǎn)業(yè)落地門檻,可遷移至金融等行業(yè)的信息抽取應用場景。
場景難點
文檔種類繁多、版式多樣,如何有效結合文本、圖片、布局信息進行建模是一大難題;
傳統(tǒng)基于序列標注的抽取方案依賴大量領域標注數(shù)據(jù),成本極高;
同一個業(yè)務中往往存在實體、關系等多種信息抽取需求,單獨建模訓練成本高。
模型選型
除了純文本內容外,企業(yè)中還存在大量需要從跨模態(tài)文檔中抽取信息并進行處理的業(yè)務場景,例如目前醫(yī)療領域有大量的醫(yī)學檢查報告單、病歷、發(fā)票以及 CT 影像等醫(yī)療圖片數(shù)據(jù)。為了滿足跨模態(tài)文檔信息抽取需求, PaddleNLP 基于文心 ERNIE-Layout 跨模態(tài)布局增強預訓練模型,集成 PaddleOCR的PP-OCR、PP-Structure 版面分析等領先能力,基于大量信息抽取標注集,訓練并開源了 UIE-X——首個兼具文本及文檔抽取能力、多語言、開放域的信息抽取模型。
本案例為 UIE-X 在醫(yī)療領域的實戰(zhàn),通過少量標注+模型微調即可具備定制場景的端到端文檔信息提取能力。為實現(xiàn)智能文檔信息抽取,我們采取“定義 schema”、“Taskflow 定義”、“指定進行信息抽取的文檔”的方案:
第一步,基于 Prompt 范式,定義信息抽取的任務及所需抽取的信息;
第二步,定義 Taskflow,包括裝載定制模型。通過 task_path 指定模型權重文件的路徑,路徑下需要包含訓練好的模型權重文件 model_state.pdparams;
第三步,指定進行信息抽取的文檔所在路徑 doc_path,進行信息抽取。
飛槳通過龐大、精選的模型庫,能夠顯著降低用戶在模型選擇方面的難度,降低時間成本,實現(xiàn)快速迭代。在落地階段使用 Intel OpenVINO? 工具套件進行模型部署,充分發(fā)揮通用x86平臺上的網(wǎng)絡執(zhí)行效能,優(yōu)化方案整體成本,提升方案推理性能。
調優(yōu)策略
基于 OpenVINO 的 auto-device 中提供的多種 performance hint 策略,根據(jù)使用場景需求的不同,進行多線程配置,提升推理吞吐量或降低延遲。
支持 Intel CPU 以及 GPU 上的 Dynamic Input Shape 以提升方案在進行信息抽取時的推理性能,在保證推理時延的同時,優(yōu)化方案整體成本。
模型部署
本項目的最終部署環(huán)境為 Intel x86 硬件平臺設備。考慮開發(fā)便捷性,本次示例使用 Python 部署開發(fā)環(huán)境。通過輸入醫(yī)療文檔圖片以及定義抽取信息的 schema,利用 Taskflow 框架完成基于 UIE-X 的智能信息抽取。
該方案可以支持中文及英文的 Prompt/schema 以及跨語言抽取,同時也支持定制 OCR 結果。通過配置 layout 參數(shù)傳入 OCR Bounding Box 信息,優(yōu)化抽取效果。飛槳 AI Studio 也提供了完整的使用示例與開發(fā)說明,可參考該教程快速學習,并針對實際項目進行開發(fā)和集成。

為了讓小伙伴們更便捷地應用范例教程,OpenVINO 布道師武卓博士將于6月14日(周三)19:00為大家深度解析從數(shù)據(jù)準備、方案設計到模型優(yōu)化部署的開發(fā)全流程,手把手教大家進行代碼實踐。
