文档视觉编码器究竟有多重要?一个直接的验证方法是把其他条件全部锁死:在 MonkeyOCRv2 的受控实验中,不同模型使用相同的 Qwen3-1.7B、相同的训练数据、优化设置和解码流程,视觉编码器也全部冻结。唯一发生变化的,就是文档进入语言模型之前所经过的那套视觉表示。结果是,在 8 个文档理解基准上,MonkeyOCRv2-B 取得 57.2 分,领先最强对照 OpenVision-B 整整 13.2 分。这说明:在 LLM 开始理解和推理之前,视觉编码器已经决定了它能拿到多少可靠证据。
- 论文标题:MonkeyOCRv2: A Visual-Text Foundation Model for Document AI
- 论文地址:https://arxiv.org/abs/2607.11562
- GitHub:https://github.com/Yuliang-Liu/MonkeyOCRv2
MonkeyOCRv2 真正提出的,不只是一个新的 OCR 模型,而是一种可以被检验的判断:重建,可以成为文档视觉记忆。
只换一双「眼睛」,为什么会差 13.2 分
(资料图片仅供参考)
文档视觉语言模型通常被理解为「视觉编码器加 LLM」。但在实际讨论中,视觉编码器常被当作可替换的前端:CLIP、DINO、SAM 或其他通用视觉模型先把页面压缩成视觉 Token,后端语言模型再完成识别、解析和推理。
这种模块化设计很方便,却掩盖了一个事实:一旦字符、数字、公式或版面关系在视觉编码阶段被抹掉,后端就无法重新读取原始页面,只能根据剩余线索补全。语言模型越强,这种补全越可能流畅,也越容易让人忽略信息究竟在哪里丢失。更危险的是,语言模型可能会把不常见但真实存在的写法,自动「纠正」为更常见的答案。它输出得更合理,却不再忠实于页面。
自然图像预训练追求语义不变性。同一辆车换了背景、光照或视角,模型仍应得到接近的表示。文档则要求另一种能力:一个小数点、一位数字、一个上下标或一条表格线,都可能改变最终答案。对自然图像而言,忽略细节可能代表鲁棒;对文档而言,忽略细节可能就是致命错误。例如,1.5 mg 与 15 mg,只差一个小数点,剂量却相差 10 倍。
图 1:自然图像视觉基础模型强调物体语义、全局对齐或区域边界;文档视觉表示则需要保留字符笔画、字形、布局、阅读顺序和细粒度文字。
「视觉记忆」不是比喻,而是一种可操作的定义
MonkeyOCRv2 同时使用图像到文本生成和像素级文档重建。两个目标看似常见,实际向视觉表示提出了不同要求。
生成目标只关心最终文本是否正确。只要输出字符相同,不同字体、间距、版式甚至部分局部差异都可以被视为无关因素。重建目标则改变了这份训练「合同」:同一组视觉 Token 不仅要支持生成文字,还要能够恢复原始页面。字符笔画、数字形状、标点位置、公式结构和版面关系一旦被过早丢弃,重建误差会直接暴露出来。
因此,论文所说的「重建即文档视觉记忆」,并不是增加一个外部记忆模块,也不是要求下游系统永远重建图片。它更接近一个可以测量的定义:一组视觉表示能够恢复多少输入信息,就说明它在编码时保留了多少。重建解码器只在预训练阶段存在,下游真正被复用的是视觉编码器。
这一定义的价值在于,它把「模型是否看见了」从一句直觉判断,变成了一个可训练、可消融、可比较的问题。
图 2:图像到文本生成负责语义对齐,像素级重建约束视觉信息保留;下游只复用视觉编码器。
证据链的第一环:把后端变量全部锁死
系统级榜单很难完成因果归因。不同模型通常同时改变视觉编码器、语言模型、训练数据、输入分辨率、后训练和解码策略。最终分数更高,不等于视觉编码器更好。
MonkeyOCRv2 因此设计了冻结编码器的受控比较:所有视觉编码器接入同一个 Qwen3-1.7B,使用相同下游数据、优化设置与解码流程,唯一有意改变的组件是视觉编码器。
表 1:固定语言模型、训练数据、优化与解码,仅替换冻结视觉编码器的受控比较。
这组结果支持了一个强判断:文档模型的视觉入口并不是可有可无的前置模块,它本身可以决定两位数的能力差距。
但它还不能单独证明「差距全部来自重建」。MonkeyOCRv2 还同时改变了预训练数据、生成目标和模型结构。要把因果进一步缩小到重建目标本身,需要看同架构、同数据条件下的消融,以及模型在语言捷径失效时的表现。
证据链的第二环:拿走语言模型最熟悉的捷径
正常文本具有强语言规律。即使视觉编码器没有读清一个字符,后端也可能根据常见词语和句法把它补回来。高准确率因此混合了两种能力:视觉识别与语言补全。
实验把同一批文本构造成两种版本:一组保留正常语义,另一组随机打乱字符顺序。字符被打乱后,语言上下文基本失效,模型必须更多依赖页面中真实存在的字符级证据。随后,输入图像的长边分辨率从 1288 逐步降到 448。
在最低分辨率下,不使用图像重建的模型对打乱文本的识别准确率为 55.4%;加入重建后提高到 72.1%,提升 16.7 个百分点。正常文本与打乱文本之间的准确率差距,也从 29.3 个百分点缩小到 15.3 个百分点。
这一结果并不等于「模型幻觉被解决」。字符打乱会引入分布变化,也可能影响分词与解码。但它提供了一种比自然文本平均准确率更严格的观察:当语言模型无法轻易补全、视觉信号又逐渐变弱时,重建训练留下的字符信息仍然能够被后端使用。
图 3:语言上下文被打乱后,重建目标显著提高低分辨率识别,并缩小正常文本与打乱文本之间的差距。
证据链的第三环:当语言常识与页面发生冲突
打乱文本测试的是「没有语言帮助时还能否读清」;CHAOS-Bench 测试的是更尖锐的情形:当页面视觉证据与语言常识发生冲突时,模型最终相信谁。
该基准会故意修改页面中若干单词的一个字符,把它变成视觉上清晰可见、但语义上不合理的词。依赖语言先验的模型可能把错误词自动改回正常词;忠实于页面的模型则应原样输出实际显示的字符。
MonkeyOCRv2-B-Parsing 的页面平均召回率为 17.9,高于 HunyuanOCR-1.5 的 14.2、DeepSeek-OCR 2 和 MinerU2.5-Pro 的 6.3,以及 PaddleOCR-VL-1.6 的 6.0。更直接的同模型消融显示,MonkeyOCRv2-S 在不使用重建时为 12.1,加入重建后提升到 14.7。
CHAOS-Bench 的绝对数值仍然不高,说明「视觉忠实度」远未成为已解决问题。它的意义不在于宣布胜利,而在于把评测从「最终有没有答对」推进到「答案是否来自页面证据」。
图 4:CHAOS-Bench 让页面内容与语言常识冲突,用于观察模型究竟忠于视觉证据还是自动纠正页面。
视觉文档底座跨越七类任务
一个模型能否被称为底座,至少需要满足三个条件:可以在后端不变时被替换;可以跨越不同输出形式;可以在多个任务中稳定减少下游补偿。
MonkeyOCRv2 被接入文字识别、公式识别、文本检测、文档篡改检测、重叠文字分割、文档解析和文档理解七类任务。它们的输出分别是文本序列、LaTeX、检测框、像素掩码、结构化页面和问答答案。如果跨越这些任务后均能取得增益,那就说明编码器学到的不是某个解码器专用的技巧。
基于冻结的 0.1B 视觉编码器与 0.6B 语言模型,0.7B 的 MonkeyOCRv2-B-Parsing 在 17 语种 MDPBench 上达到 83.3,其中拍照文档为 81.7,非拉丁文字为 82.1,位列当前官方排行榜已评测开源模型第一。
图 5:MDPBench 官方排行榜:https://huggingface.co/spaces/Delores-Lin/MDPBench-leaderboard。
但 83.3 分更适合作为视觉底座有效性的外部结果,而不是因果证据的起点。系统级模型之间仍然存在训练数据、训练阶段和解析流程等差异。因此,论文将系统榜单与受控编码器实验分开报告:前者说明 MonkeyOCRv2 能够支撑一个有竞争力的完整系统,后者则试图解释这种能力究竟来自哪里。
更重要的是,这种优势并没有停留在文档解析和理解任务上。实验表明,将原有视觉编码器替换为 MonkeyOCRv2 后,性能提升几乎贯穿文字识别、公式识别、文字检测、文档篡改检测和重叠文字分割等不同类型的下游任务。即使在已经高度饱和的传统文字识别基准上,CRNN 的平均性能仍提升 2.3 个百分点;PARSeq 在接近性能上限的情况下也进一步提升 0.4 个百分点,并超过此前的最佳方法 SVTRv2。
公式识别的结果更为直观:将 UniMERNet-T 原有的视觉编码器替换为仅约 1.1 亿参数的 MonkeyOCRv2-S,在基本保持解码器、训练数据和优化设置不变的情况下,这个 1.1 亿参数的模型反而超过了 3.25 亿参数的 UniMERNet-B。与此同时,MonkeyOCRv2 还在文字检测、文档篡改检测和重叠文字分割上分别带来 3.3、7.5 和 5.3 个百分点的提升。
这意味着,MonkeyOCRv2 带来的并不是某个榜单或某种下游架构中的偶然收益。无论任务需要识别字符、还原公式、定位文字、发现篡改,还是分离相互遮挡的文本,更强的文档视觉表示都能够转化为稳定的性能增益。在参数规模相当、下游结构和训练协议尽量保持不变的条件下,多项任务达到或超过此前的最佳结果,这才是它能够被称为「文档视觉底座」的更直接依据。
图 6:左为 MDPBench 性能与视觉编码器规模,右为 MonkeyOCRv2 在七类文档任务中的一致提升。
这条证据链已经成立到哪一步
综合来看,MonkeyOCRv2 至少建立了四层相互补充的证据:冻结后端的受控替换说明视觉编码器是独立变量;同模型重建消融说明重建目标贡献了增益;打乱文本与 CHAOS-Bench 说明这种增益与语言捷径减少、输出忠实度提高有关;跨任务迁移和系统榜单说明表征可以进入真实下游。
这比仅报告一个 SOTA 分数完整得多,也使「重建即视觉记忆」成为一个有操作定义、有消融、有行为测试、有迁移结果的研究假设。
不过,严格来说,证据链仍没有完全闭合。像素重建是否是最有效的记忆方式尚未确定;MSE 可能保留大量与文字无关的低层像素,也可能平均化锐利边缘。论文中加入字符边缘与距离约束后继续提升,恰恰说明「应该记住什么」比「是否重建」更值得继续研究。
更强的后续验证可以包括:在完全匹配训练算力下比较不同重建目标;绘制视觉 Token 数量、压缩率与字符保真之间的率失真曲线;用线性探针直接测量字符、字形与版面信息;在第三方代码库中独立复现;以及在低资源文字、手写、古籍和现场拍照文档上检验迁移。
最重要的,不只是开放模型,
而是把一亿级文档数据放到公共桌面上
过去,大模型时代下的文档智能领域更多是在比较最终分数。模型越来越大、榜单不断刷新,但训练数据、数据配比和训练流程往往不可见。很多时候,表面上比较的是模型,实际比较的却是各家掌握的私有资源。
这使得许多所谓的「模型比较」,实际上并不是在比较模型。一个系统可能拥有更大的私有数据、更复杂的训练流程和更多不可见的工程资源,另一个系统则只能依靠公开数据从头复现。最终,所有差异都被压缩成排行榜上的零点几分,却很难判断提升究竟来自模型设计,还是来自外界无法获得的数据优势。
尤其在文档解析领域,社区长期缺少可直接用于大规模视觉预训练的公开数据。很多工作开放了推理代码和模型权重,却没有开放模型真正学习过的文档世界。研究者可以使用模型,却很难重新训练它,更难在同一起点上验证某个结构、目标函数或训练策略是否真的有效。分数是公开的,形成分数的证据却仍然是封闭的。
MonkeyDoc v2 试图改变这种局面。它包含 1.13 亿张文档图像,覆盖 17 种语言,其中包括 800 万张页面级图像和 1.05 亿个细粒度文档元素,既服务于页面解析、版面分析和端到端识别,也覆盖文字、表格与公式等局部任务。这不是一个为了补充论文而发布的附属数据集,而是 MonkeyOCRv2 希望交给社区的一块公共实验场。
图 7:MonkeyDoc v2 的数据分布。
它的意义不只是「数据量很大」。更重要的是,当这 1.13 亿张文档图像真正开放后,不同团队终于有机会站在相对一致的起点上,重新回答一系列基础问题:图像到文本生成和像素重建各自贡献了什么?页面级数据与裁剪数据应该如何配比?低资源语言需要多少覆盖?更小的编码器能否通过更好的预训练目标超过更大的模型?哪些提升来自视觉表示,哪些提升只是后训练带来的?
公开数据当然不能自动保证绝对公平,算力、工程经验和训练预算依然存在差异。但它至少建立了公平比较最重要的前提:别人不仅能够看到结果,也能够检查结果是如何产生的。
这也是 MonkeyOCRv2 希望推动的一种研究文化变化。文档智能不应该只剩下大模型之间不断刷新的排行榜,也不应该变成「谁拥有更多不可见数据,谁就更有可能领先」。真正有价值的比较,应当尽可能固定数据、训练协议和下游系统,再讨论视觉编码器、目标函数与模型结构究竟带来了什么。
当一项工作只允许别人使用,它仍然只是一个产品;当别人能够重新训练、质疑并超越它,它才真正成为一个公共研究问题。
结语:从视觉压缩,到视觉记忆
DeepSeek-OCR 让文档 AI 重新思考一个问题:一页高分辨率文档,究竟可以被压缩成多少视觉 Token?
但文档不同于普通图像。它不仅需要被高效编码,更需要被忠实保存。一个笔画、一个小数点、一条表格边界,甚至一处阅读顺序的变化,都可能改变最终含义。一旦这些细节在视觉压缩中消失,后面的语言模型再强,也只能根据上下文猜测页面上原本写了什么。
因此,压缩之后还有一个更基础的问题:这些视觉 Token 究竟记住了什么?
MonkeyOCRv2 选择用「重建」来回答。重建并不是为了重新生成一张好看的页面,而是把它作为视觉记忆的检验:如果编码后的表示仍能恢复字符笔画、公式符号和版面结构,就说明这些证据没有在压缩过程中被轻易丢弃。当文字顺序被打乱、语言上下文无法提供帮助时,模型是否仍能依靠视觉作出判断,也成为检验这种记忆是否真实存在的另一种方式。
受控编码器实验、打乱文本测试和跨任务迁移共同指向同一个结论:更完整地保留页面证据,不仅能改善识别,也能继续转化为解析与理解能力。
或许,文档 AI 的下一阶段,不再只是把一页纸折叠得更小,而是确保它再次展开时,纸上的关键痕迹依然存在。
DeepSeek-OCR 打开了视觉压缩的问题,MonkeyOCRv2 则试图回答压缩之后的问题:「重建即视觉记忆」,就是让被折叠的页面仍然能够被忠实展开。