多模态文檔理解能力新 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