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