阿里7B多模態文檔理解大模型拿下新SOTA
多模態文檔理解能力新SOTA!
阿里mPLUG團隊發布最新開源工作mPLUG-DocOwl 1.5,針對高分辨率圖片文字識別、通用文檔結構理解、指令遵循、外部知識引入四大挑戰,提出了一系列解決方案。
話不多說,先來看效果。
復雜結構的圖表一鍵識別轉換為Markdown格式:
不同樣式的圖表都可以:
更細節的文字識別和定位也能輕松搞定:
還能對文檔理解給出詳細解釋:
要知道,“文檔理解”目前是大語言模型實現落地的一個重要場景,市面上有很多輔助文檔閱讀的產品,有的主要通過OCR系統進行文字識別,配合LLM進行文字理解可以達到不錯的文檔理解能力。
不過,由于文檔圖片類別多樣、文字豐富且排版復雜,難以實現圖表、信息圖、網頁等結構復雜圖片的通用理解。
當前爆火的多模態大模型QwenVL-Max、Gemini, Claude3、GPT4V都具備很強的文檔圖片理解能力,然而開源模型在這個方向上的進展緩慢。
而阿里新研究mPLUG-DocOwl 1.5在10個文檔理解基準上拿下SOTA,5個數據集上提升超過10個點,部分數據集上超過智譜17.3B的CogAgent,在DocVQA上達到82.2的效果。
除了具備基準上簡單回答的能力,通過少量“詳細解釋”(reasoning)數據的微調,DocOwl 1.5-Chat也能具備多模態文檔領域詳細解釋的能力,具有很大的應用潛力。
阿里mPLUG團隊從2023年7月份開始投入多模態文檔理解的研究,陸續發布了mPLUG-DocOwl、 UReader、mPLUG-PaperOwl、mPLUG-DocOwl 1.5,開源了一系列文檔理解大模型和訓練數據。
本文從最新工作mPLUG-DocOwl 1.5出發,剖析“多模態文檔理解”領域的關鍵挑戰和有效解決方案。
挑戰一:高分辨率圖片文字識別
區分于一般圖片,文檔圖片的特點在于形狀大小多樣化,其可以包括A4大小的文檔圖、短而寬的表格圖、長而窄的手機網頁截圖以及隨手拍攝的場景圖等等,分辨率的分布十分廣泛。
主流的多模態大模型編碼圖片時,往往直接縮放圖片的大小,例如mPLUG-Owl2和QwenVL縮放到448x448,LLaVA 1.5縮放到336x336。
簡單的縮放文檔圖片會導致圖片中的文字模糊形變從而不可辨認。
為了處理文檔圖片,mPLUG-DocOwl 1.5延續了其前序工作UReader的切圖做法,模型結構如圖1所示:
△圖1:DocOwl 1.5模型結構圖
UReader最早提出在已有多模態大模型的基礎上,通過無參數的形狀適應切圖模塊(Shape-adaptive Cropping Module)得到一系列子圖,每張子圖通過低分辨率編碼器進行編碼,最后通過語言模型關聯子圖直接的語義。
該切圖策略可以最大程度利用已有通用視覺編碼器(例如CLIP ViT-14/L)的能力進行文檔理解,大大減少重新訓練高分辨率視覺編碼器的代價。形狀適應的切圖模塊如圖2所示:
△圖2:形狀適應的切圖模塊。
挑戰二:通用文檔結構理解
對于不依賴OCR系統的文檔理解來說,識別文字是基本能力,要實現文檔內容的語義理解、結構理解十分重要,例如理解表格內容需要理解表頭和行列的對應關系,理解圖表需要理解線圖、柱狀圖、餅圖等多樣化結構,理解合同需要理解日期署名等多樣化的鍵值對。
mPLUG-DocOwl 1.5著力于解決通用文檔等結構理解能力,通過模型結構的優化和訓練任務的增強實現了顯著更強的通用文檔理解能力。
結構方面,如圖1所示,mPLUG-DocOwl 1.5放棄了mPLUG-Owl/mPLUG-Owl2中Abstractor的視覺語言連接模塊,采用基于“卷積+全連接層”的H-Reducer進行特征聚合以及特征對齊。
相比于基于learnable queries的Abstractor,H-Reducer保留了視覺特征之間的相對位置關系,更好的將文檔結構信息傳遞給語言模型。
相比于保留視覺序列長度的MLP,H-Reducer通過卷積大幅縮減了視覺特征數量,使得LLM可以更高效地理解高分辨率文檔圖片。
考慮到大部分文檔圖片中文字優先水平排布,水平方向的文字語義具有連貫性,H-Reducer中采用1x4的卷積形狀和步長。論文中,作者通過充分的對比實驗證明了H-Reducer在結構理解方面的優越性以及1x4是更通用的聚合形狀。
訓練任務方面,mPLUG-DocOwl 1.5為所有類型的圖片設計了統一結構學習(Unified Structure Learning)任務,如圖3所示。
△圖3:統一結構學習
Unified Structure Learning既包括了全局的圖片文字解析,又包含了多粒度的文字識別和定位。
在全局圖片文字解析任務中,對于文檔圖片和網頁圖片,采用空格和換行的形式可以最通用地表示文字的結構;對于表格,作者在Markdown語法的基礎上引入表示多行多列的特殊字符,兼顧了表格表示的簡潔性和通用性;對于圖表,考慮到圖表是表格數據的可視化呈現,作者同樣采用Markdown形式的表格作為圖表的解析目標;對于自然圖,語義描述和場景文字同等重要,因此采用圖片描述拼接場景文字的形式作為解析目標。
在“文字識別和定位”任務中,為了更貼合文檔圖片理解,作者設計了單詞、詞組、行、塊四種粒度的文字識別和定位,bounding box采用離散化的整數數字表示,范圍0-999。
為了支持統一的結構學習,作者構建了一個全面的訓練集DocStruct4M,涵蓋了文檔/網頁、表格、圖表、自然圖等不同類型的圖片。
經過統一結構學習,DocOwl 1.5具備多領域文檔圖片的結構化解析和文字定位能力。
△圖4: 結構化文字解析
如圖4和圖5所示:
△圖5: 多粒度文字識別和定位
挑戰三:指令遵循
“指令遵循”(Instruction Following)要求模型基于基礎的文檔理解能力,根據用戶的指令執行不同的任務,例如信息抽取、問答、圖片描述等。
延續mPLUG-DocOwl的做法,DocOwl 1.5將多個下游任務統一為指令問答的形式,在統一的結構學習之后,通過多任務聯合訓練的形式得到一個文檔領域的通用模型(generalist)。
此外,為了使得模型具備詳細解釋的能力,mPLUG-DocOwl曾嘗試引入純文本指令微調數據進行聯合訓練,有一定效果但并不理想。
在DocOwl 1.5中,作者基于下游任務的問題,通過GPT3.5以及GPT4V構建了少量的詳細解釋數據(DocReason25K)。
通過聯合文檔下游任務和DocReason25K進行訓練,DocOwl 1.5-Chat既可以在基準上實現更優的效果:
△圖6:文檔理解Benchmark評測
又能給出詳細的解釋:
△圖7:文檔理解詳細解釋
挑戰四:外部知識引入
文檔圖片由于信息的豐富性,進行理解的時候往往需要額外的知識引入,例如特殊領域的專業名詞及其含義等等。
為了研究如何引入外部知識進行更好的文檔理解,mPLUG團隊著手于論文領域提出了mPLUG-PaperOwl,構建了一個高質量論文圖表分析數據集M-Paper,涉及447k的高清論文圖表。
該數據中為論文中的圖表提供了上下文作為外部知識來源,并且設計了“要點”(outline)作為圖表分析的控制信號,幫助模型更好地把握用戶的意圖。
基于UReader,作者在M-Paper上微調得到mPLUG-PaperOwl,展現了初步的論文圖表分析能力,如圖8所示。
△圖8:論文圖表分析
mPLUG-PaperOwl目前只是引入外部知識進文檔理解的初步嘗試,仍然面臨著領域局限性、知識來源單一等問題需要進一步解決。
總的來說,本文從最近發布的7B最強多模態文檔理解大模型mPLUG-DocOwl 1.5出發,總結了不依賴OCR的情況下,進行多模態文檔理解的關鍵四個關鍵挑戰(“高分辨率圖片文字識別”,“通用文檔結構理解”,“指令遵循”, “外部知識引入” )和阿里巴巴mPLUG團隊給出的解決方案。
盡管mPLUG-DocOwl 1.5大幅提升了開源模型的文檔理解表現,其距離閉源大模型以及現實需求仍然有較大差距,在自然場景中文字識別、數學計算、通用型等方面仍然有進步空間。
mPLUG團隊會進一步優化DocOwl的性能并進行開源,歡迎大家持續關注和友好討論!
GitHub鏈接:https://github.com/X-PLUG/mPLUG-DocOwl
論文鏈接:https://arxiv.org/abs/2403.12895