小紅書hi lab開源多語言文檔布局解析模型dots.ocr,1.7B小模型實現SOTA性能

dots.ocr 是一款功能強大、支持多語言的文檔解析模型,它在單一的視覺語言模型中統一了布局檢測和內容識別,同時能保持良好的閱讀順序。盡管其基礎模型是一個17億參數的“小模型”,但它依然實現了業界領先(SOTA)的性能。dots.ocr對多語言識別的良好性能彌補了開源社區的空白,不錯的檢測、識別能力也為多模態和大模型社區提供了寶貴的基礎。
01、簡介
dots.ocr 是一款功能強大、支持多語言的文檔解析模型,它在單一的視覺語言模型中統一了布局檢測和內容識別,同時能保持良好的閱讀順序。盡管其基礎僅是一個17億參數的”小模型“,但依然在多個benchmark上獲得了匹配超大參數量閉源模型的業界領先(SOTA)性能。
- 性能強大:dots.ocr 在 OmniDocBench 基準測試上,針對文本、表格和閱讀順序三方面均取得了業界領先(SOTA)的性能,同時其公式識別效果可與豆包-1.5(Doubao-1.5)和 gemini2.5-pro 等更大規模的模型相媲美。
- 多語言支持:dots.ocr 在小語種上展現出強大的解析能力,在我們內部的多語言文檔基準測試中,無論是在布局檢測還是內容識別方面,都取得了顯著的優勢。
- 統一且簡潔的架構:通過利用單一的視覺語言模型,dots.ocr 提供了一個比依賴復雜多模型流水線的方法更為精簡的架構。任務切換僅需通過更改輸入提示詞(prompt)即可完成,證明了視覺語言模型(VLM)同樣可以取得與 DocLayout-YOLO 等傳統檢測模型相媲美的檢測效果。
- 高效與快速:dots.ocr 基于一個17億參數的大語言模型構建,因此其推理速度優于多種更大規模的 VLM 方案。
github:
https://github.com/rednote-hilab/dots.ocr
hugginface:
https://huggingface.co/rednote-hilab/dots.ocr
demo:
https://dotsocr.xiaohongshu.com
多語種端到端識別性能對比

注:英文(EN)和中文(ZH)的指標是 OmniDocBench的端到端指標,多語言(Multilingual)的指標是dots.ocr-bench的端到端指標。
02、樣例展示
2.1 公式解析樣例



<左右滑動查看更多>
2.2 表格解析樣例



<左右滑動查看更多>
2.3 多語言解析樣例



<左右滑動查看更多>



<左右滑動查看更多>
2.4 閱讀順序樣例

2.5 局部解析樣例

03、評測指標
3.1 OmniDocBench
不同任務的端到端指標

9種PDF類型的文本識別指標

3.2 dots.ocr-bench
不同任務的端到端指標

Layout檢測指標

注: parse all和detection only分別使用“全量解析”和“檢測only”的prompt。
3.3 olmOCR-bench

04、方法
4.1 預訓練
我們通過一個三階段的訓練過程,開發了一個基座視覺語言模型(VLM):
- 階段一:視覺編碼器預訓練
我們基于一個規模龐大且內容豐富的圖文對數據集,從零開始訓練了一個12億參數的視覺編碼器。 - 階段二:視覺編碼器持續預訓練
我們采用NaViT動態分辨率架構支持高達1100萬像素的高分辨率輸入,同時加入了OCR、視頻、定位數據(grounding data)等額外的視覺數據,我們將該視覺編碼器與Qwen2.5-1.5B語言模型進行對齊,并在這些多樣的視覺數據上訓練,最終產出了我們的通用視覺編碼器 dots.vit。 - 階段三:VLM訓練
我們使用純OCR數據集訓練。為提升訓練效率,我們首先在凍結VE參數的情況下,訓練一定量的tokens;隨后,我們放開全部參數繼續訓練了1/5的token量,最終產出了我們的OCR基座模型 dots.ocr.base。
4.2 監督微調
SFT階段采用了以下關鍵策略:
- 多樣化的SFT數據集:我們構建了一個包含數十萬樣本的數據集,該數據集整合了我們內部的人工標注數據、合成數據(表格、公式、多語言OCR)以及開源數據集。
- 迭代式數據飛輪:我們采用反饋循環機制,構建了一個包含1.5萬樣本的內部多語言結構化layout數據集。這個過程經過了三次迭代,包含以下步驟:
- 根據模型表現,篩選出“壞樣本”(bad cases)。
- 對這些樣本進行人工標注。
- 將它們重新加入訓練集。
- 閱讀順序:我們采用“大模型排序 + 規則后驗”的方法修正了所有版面布局(layout)數據中元素框的順序。我們發現,在數據質量和多樣性足夠的情況下,將元素列表按閱讀順序排列后進行訓練,即可獲得出色的效果。
- 質量與魯棒性:我們構建了一個多專家系統,用于數據清洗和蒸餾,并應用了數據增強(如縮放、旋轉、加噪聲)來提升模型的魯棒性。
- 多任務訓練:我們利用單一的結構化布局數據源,構造不同提示詞(prompts)的SFT數據。這種方法使得模型能根據提供的特定提示詞,執行不同的任務,例如檢測和識別。
最終得到的 dots.ocr 模型,其性能可與參數量遠超于它的模型相媲美。
05、局限性和未來工作
雖然有不錯的性能,但模型仍存在一些局限性和未來可改進之處:
- 復雜的文檔元素:
a.表格與公式:對于高復雜度的表格和公式提取,dots.ocr 的表現尚不完美。
b.圖片:目前模型還無法解析文檔中的圖片信息。
- 解析失敗: 在特定條件下,模型可能會解析失敗:
a.當字符與像素的比率過高時。建議嘗試放大圖片或提高PDF解析的DPI(推薦設置為200)。但請注意,模型在分辨率低于11,289,600像素的圖像上表現最佳。
b.連續的特殊字符,如省略號(...)和下劃線(_),可能會導致預測輸出無限重復。在這種情況下,可以考慮使用其他提示詞,詳見github倉庫。
- 性能瓶頸:
a.盡管dots.ocr基于17億參數的LLM開發,但相對于PDF文件龐大的規模而言,它的效率仍然不夠高。
未來,我們將進一步提升模型對表格和公式解析能力,并增強模型在不同場景的泛化能力,打造一個更強大、更高效的模型。此外,我們正考慮基于單視覺語言模型(VLM)完成更通用和廣泛的感知任務,包括通用檢測、圖像描述和OCR任務等。解析文檔中圖片的內容也是我們未來工作的重點之一。
06、作者簡介
Contributors
簡米
小紅書hi lab團隊算法工程師,主要研究方向是多模態大模型
李雨萌
小紅書hi lab團隊算法實習生,現就讀于北京航空航天大學,主要研究方向為多模態理解和生成
王泊文
小紅書 hi lab團隊算法實習生,現就讀于美國賓夕法尼亞大學工程學院,主要研究方向為大語言模型對齊、多模態對齊
Project Leader
燕青
小紅書hi lab團隊算法工程師,主要研究方向是多模態大模型
Advisor
柯雄(colin zhang)
小紅書 hi lab 多模方向研發負責人

































