OLMOCR1.0:allenai开源多模态的文档智能解析大模型(OLMOCR)方法、效果浅析
往期相关:
-
端到端的多模态文档解析模型-DeepSeek-OCR架构、数据、训练方法 -
再看两阶段多模态文档解析大模型-PaddleOCR-VL架构、数据、训练方法 -
如何打造一个文档解析的多模态大模型?MinerU2.5架构、数据、训练方法
olmOCR 2相关对比:
olmOCR 2 是一套面向文档 OCR 的端到端解决方案,其核心方法围绕RLVR,通过 “合成数据规模化 - 单元测试定奖励 - RL 训练提性能” 的闭环,解决传统 OCR 系统在复杂场景(数学公式、表格、多列布局)中的痛点。
现有问题
传统OCR系统的性能评估依赖编辑距离 ,计算模型输出与Ground Truth的字符级差异(插入、删除、替换次数)。
为解决上述问题,设计了下面6类可验证的二进制单元测试(结果仅“通过(PASS)”或“失败(FAIL)”),覆盖文档OCR的需求:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
这些测试的优势在于:
-
公平处理浮动元素:对图注、表格等位置灵活的元素,只要核心逻辑正确(如表格单元格关系、阅读顺序),均判定为通过,避免编辑距离的“过度惩罚”; -
精准反映实际正确性:聚焦“用户是否能用”(如公式能否正确渲染、表格能否正确读取),而非“字符是否完全匹配”。
数据
手动为每个文档设计单元测试耗时极长(原文提到“需数小时/文档”),无法支撑RL训练的大规模数据需求。因此,文章开发了全自动合成数据生成 pipeline,实现“文档→HTML→单元测试”的端到端规模化,核心流程分三步:
1. 步骤1:挑选“难处理场景”PDF数据源
为确保合成数据的挑战性(覆盖真实OCR痛点,避免“模板化数据”,确保数据多样性,与真实世界OCR需求对齐。),文章选择高难度文档样本: 数据来源arXiv数学论文(含复杂公式)、旧扫描件(低分辨率)、多列布局文档、含复杂表格的文档。
2. 步骤2:PDF→HTML的三阶段转换(生成“带Ground Truth的结构化文档”)
HTML是生成单元测试的关键:其语义标签(如<header>、<footer>、<table>、KaTeX公式)可直接用于自动提取测试用例。转换过程依赖通用VLM(Claude-sonnet-4-20250514) ,分三阶段迭代优化:
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3. 步骤3:基于HTML自动生成单元测试
利用HTML的结构化信息,程序化提取单元测试用例,无需人工干预:
-
文本不存在性测试:从 <header>/<footer>标签提取页眉/页脚,生成“这些内容不应出现”的测试; -
数学公式测试:从KaTeX标签提取公式,生成“渲染后与参考一致”的测试; -
表格测试:从 <table>标签随机采样单元格,生成“单元格相对位置正确”的测试; -
阅读顺序测试:基于HTML中段落的先后顺序,生成“段落顺序符合HTML结构”的测试。
最终生成的合成数据集 olmOCR2-synthmix-1025 包含:2186个PDF页面 → 30381个单元测试用例,为RL训练提供充足数据。
训练流程:SFT→RLVR→模型融合,端到端优化
olmOCR 2的训练分为监督微调(SFT) 和强化学习(RLVR) 两阶段,结合模型融合(Souping)进一步提升性能:
1. 阶段1:sft
让模型掌握基础的文档解析能力(文本提取、公式识别、表格结构感知),为后续RL优化打基础。选择Qwen2.5-VL-7B-Instruct,使用改进后的监督数据集 olmOCR-mix-1025(267962页,来自10万+PDF),相比旧版(olmOCR-mix-0225)的改进:
-
用GPT-4.1替代GPT-4o处理数据,减少幻觉; -
统一公式格式(块级公式用 \[,行内公式用\(); -
表格用HTML格式存储(而非纯文本); -
为图像添加基础alt文本;
2. 阶段2:强化学习(RLVR)
核心是用合成数据的单元测试作为奖励信号,通过GRPO算法优化模型,解决SFT阶段未覆盖的复杂场景(如多列、公式、表格)。
-
训练数据:olmOCR2-synthmix-1025的合成文档(带单元测试); -
采样策略:每个文档生成28个不同的模型输出(completions),确保覆盖足够多的候选结果;
奖励函数设计
奖励总分为三部分,取值均为0~1,确保模型同时优化“内容正确性”和“输出格式合规性”:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
3. 阶段3:模型融合(Souping)
为避免单一模型的随机性,文章采用模型权重平均(Souping) 策略:训练6个不同随机种子的RL模型(3个用token级重要性采样,3个用序列级重要性采样);对6个模型的权重进行平均,得到最终的olmOCR-2-7B-1025模型;
实验性能
参考文献: olmOCR 2 Unit Test Rewards for Document OCR,https://arxiv.org/pdf/2510.19817v1
repo:https://github.com/allenai/olmocr

