做文档 OCR 的同学应该深有体会:一张带表格、公式、多栏排版的扫描页,传统做法要排版分析→文字识别→表格重建→公式转 LaTeX……四五个模型串起来,哪个环节出问题都得回去排查。最近阿里云开源了一个叫 OvisOCR2 的模型,0.8B 参数,给一张图就吐出 Markdown,端到端,不用管中间过程。
是什么
OvisOCR2 是阿里云 ATH-MaaS 团队开源的端到端文档解析模型。输入文档页面的图像,直接输出按自然阅读顺序组织的 Markdown——文本、公式、表格、视觉区域全部一次性搞定。
它基于 Qwen3.5-0.8B 后训练而来,参数量仅 0.8B,约 1.7GB 的模型文件。在 OmniDocBench v1.6 榜单上,OvisOCR2 以综合得分 96.58 登顶,成为第一个超越传统流水线方法的端到端模型。
为什么值得关注
文档解析领域之前一直是流水线方法的天下。一张文档图进来,先拿去版面分析,分好文本框和区域;再送去 OCR 识别文字;表格区走专门的表格重建模型;公式区走 LaTeX 识别……四五个模型串在一起,各有各的误差,累积到最后结果经常惨不忍睹。
OvisOCR2 用的是一步到位的端到端架构:一张图片进去,一个模型出来。训练上它走了四阶段流程——监督微调→强化学习→在线策略蒸馏→模型融合,并且构建了真实文档与合成文档互补的数据引擎,让 0.8B 的小模型能榨出这么大的能力。
成绩单
在 OmniDocBench v1.6 上,OvisOCR2(0.8B)综合得分 96.58,超过 PaddleOCR-VL-1.6(95.77)、MinerU2.5(95.56)和 HunyuanOCR(93.64)。参数最小,得分最高。
怎么用
OvisOCR2 已全面兼容 vLLM,可以用 transformers 一行代码加载推理:
from transformers import AutoModelForCausalLM, AutoProcessor
model = AutoModelForCausalLM.from_pretrained(
"ATH-MaaS/OvisOCR2",
trust_remote_code=True
)
processor = AutoProcessor.from_pretrained(
"ATH-MaaS/OvisOCR2",
trust_remote_code=True
)
inputs = processor(images=["doc.png"],
text="Extract as Markdown.",
return_tensors="pt")
output = model.generate(**inputs, max_new_tokens=4096)
print(processor.decode(output[0], skip_special_tokens=True))
不是没有槽点
公式识别还有提升空间。OmniDocBench 上的公式 CDM 得分是 97.5,比 PaddleOCR 的 98.0 略低。论文也提了这个问题——大约有 22/2352 个公式存在分割误差。
吞吐量一般。目前只支持 eager 模式,不支持 cudagraph 加速。实测一张 W7900 跑完 1651 页测试集约 1 小时。
中文文档表现。虽然模型基于 Qwen3.5 训练(对中文原生支持),但评测集以英文为主。中文竖排、古籍、双栏混排的真实表现建议自己跑几页看看。
跟同类怎么比
对比 PaddleOCR-VL-1.6:百度 OCR 流水线方案成熟,公式识别更强。OvisOCR2 综合得分更高,但纯表格+公式场景 PaddleOCR 可能更稳。
对比 MinerU2.5:精度高,文档预处理好,但 1.2B 参数部署成本更高。
我的建议:手里有 GPU 想跑文档 OCR,OvisOCR2 是目前开箱即用的好选择——轻量、开源、端到端,不用折腾串模型。
HuggingFace:ATH-MaaS/OvisOCR2
GitHub:AIwork4me/OvisOCR2-ROCm
原始项目:ATH-MaaS/Ovis ⭐1.5K
技术报告:arXiv 2607.13639
查看原文 → youtol.cn
关注我,每期分享一个帮你省事的强大工具
夜雨聆风