小红书搞了个"万物皆可OCR":3B小模型干翻一众大模型,图表也能解析成代码

论文:Multimodal OCR: Parse Anything from Documents
机构:华中科技大学 & 小红书 hi lab
链接:https://arxiv.org/abs/2603.13032
代码:https://github.com/rednote-hilab/dots.mocr

一句话总结

小红书团队提出了一个全新的文档解析范式——Multimodal OCR (MOCR),核心思想很简单但颠覆性很强:文档里的图表、图标、UI界面、化学分子式……统统不再当成"图片"裁出来扔掉,而是直接解析成可执行的SVG代码。

他们训练了一个仅 3B 参数的模型 dots.mocr,在文档解析和图形结构化两个方向都打出了惊人的成绩。

MOCR概览

▲ 图1:MOCR 概览。输入一张文档图片,输出统一的结构化表示——文字变Markdown,图表变SVG代码。


为什么这篇论文值得关注?

1. 提出了一个新范式,而不只是刷了个新SOTA

传统OCR系统(包括最近很火的各种文档大模型)的工作方式是:

这意味着文档中大量有信息量的图形元素,实际上被当成了黑盒丢掉了。你拿到的"解析结果"其实是有损的。

MOCR说:不行,图也得解析。 而且不是生成一段文字描述,而是直接输出可渲染的SVG代码——你可以用浏览器打开它、编辑它、重新组合它。

传统OCR vs MOCR

▲ 图2:传统OCR只管文字,图形直接裁成像素丢掉;MOCR把图形也解析成结构化的SVG代码,实现真正的"无损"文档解析。

这不仅仅是"做得更好",而是重新定义了"文档解析应该做什么"。

2. 3B模型打败了一堆大模型

来看成绩单:

性能对比

▲ 图3:dots.mocr 在文档解析和图形解析两个方向的综合表现。

文档解析(传统OCR方向):

图形结构化解析(SVG方向):

一个 3B 的模型,在图形解析上干翻了 Gemini 3 Pro。这说明什么?说明针对性的架构设计和数据工程,在特定任务上可以碾压通用大模型。

3. 小红书出品——工业界的硬核研究

这篇论文来自小红书的 hi lab,第一作者和通讯作者来自华中科技大学白翔教授团队(OCR/文档理解领域的顶级团队)。代码和模型已经全部开源。

小红书本身就有海量的图文内容需要理解和索引,MOCR 很可能不只是一篇论文,而是他们在内容理解管线上的核心升级。


技术细节拆解

架构:大视觉编码器 + 小语言解码器

dots.mocr 的架构设计很有意思:

为什么视觉编码器这么大?因为文档解析需要同时看清小字体文本和精确定位图形元素(图表中的标记点、流程图中的连线),这对分辨率的要求极高。

为什么用base模型而不是chat模型?因为MOCR需要生成的是高度结构化的序列(Markdown、LaTeX、SVG代码),这跟"对话"是完全不同的输出分布,从base模型开始训练更合适。

训练策略:三阶段渐进式预训练

  1. 阶段一:通用视觉-语言对齐,让语言模型学会"看图"
  2. 阶段二:混合训练——通用视觉数据 + 文本文档解析,建立强大的文字OCR能力
  3. 阶段三:加大MOCR特有任务的比重,特别是图形→SVG解析

三个阶段逐步提升输入分辨率,匹配越来越难的任务需求。

预训练之后还有指令微调(SFT),分为两个版本:

数据引擎:四大数据源

这可能是整篇论文最值得学习的部分——数据工程决定模型上限

  1. PDF文档:用自家的 dots.ocr 做自动标注,按语言/领域/版面复杂度分层采样
  2. 网页渲染:爬取网页并渲染成图片,HTML/DOM结构天然提供对齐信号,而且网页中大量原生SVG元素可以直接作为训练数据
  3. SVG图形资源:从网上收集原生SVG文件,经过 svgo 清洗、去重(代码级+感知哈希)、复杂度均衡采样
  4. 通用视觉数据:保持模型的通用视觉能力

特别值得注意的是SVG数据的处理——同一张图可以有无数种不同的SVG写法(代码不唯一),论文中通过规范化(canonicalization)、viewBox标准化、复杂度控制等手段来解决这个问题。

评估方法:OCR Arena

传统的WER、NED等指标对文档解析来说太脆弱了——格式稍有不同就会被过度惩罚。论文提出了OCR Arena评估框架:

这套评估方法本身就很有参考价值。


实际效果展示

来看几个实际的解析案例:

版面分析效果

▲ 图4:dots.mocr 在各种复杂文档上的版面分析结果——学术论文、报纸、表格、多语言文档都能准确识别。

SVG解析效果

▲ 图5:dots.mocr-svg 的图形解析效果。输入各种图标图片,输出可渲染的SVG代码,重建质量极高。


几个关键数字

指标成绩
模型参数3B(视觉1.2B + 语言1.5B + 连接器)
最大输入分辨率~1100万像素
olmOCR-Bench83.9(新SOTA)
OCR Arena排名开源第一,总榜仅次于Gemini 3 Pro
图形→SVG多个benchmark超越Gemini 3 Pro

我的思考

这不只是OCR的进步,而是"文档理解"定义的扩展

之前大家谈论文档解析,默认就是"提取文字"。MOCR把边界推到了"提取一切可结构化的信息"。这对下游的RAG、知识库构建、多模态预训练数据生产都有直接影响。

SVG作为统一表示的巧妙之处

为什么选SVG而不是其他格式?因为SVG是:

用SVG作为图形解析的统一输出格式,是一个非常优雅的设计选择。

数据工程 >> 模型规模

3B模型能打赢远大于自己的通用大模型,核心不在于模型架构有多创新,而在于:

这再次印证了一个行业共识:在特定任务上,数据质量和工程做到位,小模型完全可以碾压大模型。

局限性

论文也诚实地指出:目前文档解析和SVG解析还需要分两次跑(不是一次端到端),后续应该能统一成一次推理。此外在老旧扫描件、页眉页脚等场景还有提升空间。


总结

MOCR是文档解析领域一个真正的范式转变——从"只看文字"到"万物皆可解析"。小红书团队不仅提出了这个新范式,还用一个3B的小模型证明了它的可行性和竞争力。

代码和模型都已开源,如果你在做文档智能相关的工作,这篇论文和这个模型值得认真研究。

📄 论文:https://arxiv.org/abs/2603.13032
💻 代码:https://github.com/rednote-hilab/dots.mocr