小红书技术REDtech

小红书hi lab开源多语言文档布局解析模型dots.ocr,1.7B小模型实现SOTA性能

Image

dots.ocr 是一款功能强大、支持多语言的文档解析模型,它在单一的视觉语言模型中统一了布局检测和内容识别,同时能保持良好的阅读顺序。尽管其基础模型是一个17亿参数的“小模型”,但它依然实现了业界领先(SOTA)的性能。dots.ocr对多语言识别的良好性能弥补了开源社区的空白,不错的检测、识别能力也为多模态和大模型社区提供了宝贵的基础。

Image

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

多语种端到端识别性能对比

Image

注:英文(EN)和中文(ZH)的指标是 OmniDocBench的端到端指标,多语言(Multilingual)的指标是dots.ocr-bench的端到端指标。

Image

2.1 公式解析样例

Image
Image
Image

<左右滑动查看更多>

2.2 表格解析样例

Image
Image
Image

<左右滑动查看更多>

2.3 多语言解析样例

Image
Image
Image

<左右滑动查看更多>

Image
Image
Image

<左右滑动查看更多>

2.4 阅读顺序样例

Image

2.5 局部解析样例

Image
Image

3.1 OmniDocBench

不同任务的端到端指标

Image

9种PDF类型的文本识别指标

Image

3.2 dots.ocr-bench

不同任务的端到端指标

Image

Layout检测指标

Image

注: parse all和detection only分别使用“全量解析”和“检测only”的prompt。

3.3 olmOCR-bench

Image
Image

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数据集。这个过程经过了三次迭代,包含以下步骤:

    1. 根据模型表现,筛选出“坏样本”(bad cases)。

    2. 对这些样本进行人工标注。

    3. 将它们重新加入训练集。

  • 阅读顺序:我们采用“大模型排序 + 规则后验”的方法修正了所有版面布局(layout)数据中元素框的顺序。我们发现,在数据质量和多样性足够的情况下,将元素列表按阅读顺序排列后进行训练,即可获得出色的效果。

  • 质量与鲁棒性:我们构建了一个多专家系统,用于数据清洗和蒸馏,并应用了数据增强(如缩放、旋转、加噪声)来提升模型的鲁棒性。

  • 多任务训练:我们利用单一的结构化布局数据源,构造不同提示词(prompts)的SFT数据。这种方法使得模型能根据提供的特定提示词,执行不同的任务,例如检测和识别。

最终得到的 dots.ocr 模型,其性能可与参数量远超于它的模型相媲美。

Image

虽然有不错的性能,但模型仍存在一些局限性和未来可改进之处:

  • 复杂的文档元素:

    • 表格与公式:对于高复杂度的表格和公式提取,dots.ocr 的表现尚不完美。

    • 图片:目前模型还无法解析文档中的图片信息。

  • 解析失败: 在特定条件下,模型可能会解析失败:

    • 当字符与像素的比率过高时。建议尝试放大图片或提高PDF解析的DPI(推荐设置为200)。但请注意,模型在分辨率低于11,289,600像素的图像上表现最佳。

    • 连续的特殊字符,如省略号(...)和下划线(_),可能会导致预测输出无限重复。在这种情况下,可以考虑使用其他提示词,详见github仓库。

  • 性能瓶颈:

    • 尽管dots.ocr基于17亿参数的LLM开发,但相对于PDF文件庞大的规模而言,它的效率仍然不够高。

未来,我们将进一步提升模型对表格和公式解析能力,并增强模型在不同场景的泛化能力,打造一个更强大、更高效的模型。此外,我们正考虑基于单视觉语言模型(VLM)完成更通用和广泛的感知任务,包括通用检测、图像描述和OCR任务等。解析文档中图片的内容也是我们未来工作的重点之一。

如果你对开发未来的VLM感兴趣,欢迎加入我们:[[email protected]]。

Image

Contributors

简米

小红书hi lab团队算法工程师,主要研究方向是多模态大模型

李雨萌

小红书hi lab团队算法实习生,现就读于北京航空航天大学,主要研究方向为多模态理解和生成

王泊文

小红书 hi lab团队算法实习生,现就读于美国宾夕法尼亚大学工程学院,主要研究方向为大语言模型对齐、多模态对齐

Project Leader

燕青

小红书hi lab团队算法工程师,主要研究方向是多模态大模型

Advisor

柯雄(colin zhang)

小红书 hi lab 多模方向研发负责人

Image

部门介绍

小红书 hi lab 团队(人文智能实验室,Humane Intelligence Lab)致力于突破人工智能的边界,通过发展人际智能、空间智能、音乐智能等多元智能形态,不断拓展人机交互的可能性,愿景是"让AI成为人类贴心和有益的伙伴"。

正式员工招聘

多模态通用基础大模型资深算法工程师
多模态算法工程师-语音方向

REDstar招聘

【REDstar】语音端到端交互大模型算法工程师
【REDstar】视觉语言大模型算法工程师

Ace顶尖实习生招聘

【Ace顶尖实习生】全模态实时交互大模型研究(语音方向)

【Ace顶尖实习生】探索多模态大模型的通用能力增强和跨模态能力迁移

Image
图片
往期精彩内容指路 

小红书JDK升级带来10%整体性能提升,这份升级指南收好了!

万字干货:小红书 hi lab 团队关于奖励模型的一些探索

告别无效思考 | 小红书Hi Lab 提出Think When You Need


添加小助手,了解更多内容

微信号 / REDtech01

图片