RLVR训练多模态文档解析模型-olmOCR 2技术方案(模型、数据和代码均开源) 原创

发布于 2025-10-24 09:57
浏览
0收藏

olmOCR 2相关对比:

RLVR训练多模态文档解析模型-olmOCR 2技术方案(模型、数据和代码均开源)-AI.x社区

持数据、模型和代码完全开源

olmOCR 2 是一套面向文档 OCR 的端到端解决方案,其核心方法围绕RLVR,通过 “合成数据规模化 - 单元测试定奖励 - RL 训练提性能” 的闭环,解决传统 OCR 系统在复杂场景(数学公式、表格、多列布局)中的痛点。

现有问题

传统OCR系统的性能评估依赖编辑距离 ,计算模型输出与Ground Truth的字符级差异(插入、删除、替换次数)。

RLVR训练多模态文档解析模型-olmOCR 2技术方案(模型、数据和代码均开源)-AI.x社区

图1:传统编辑距离的局限性:阅读顺序问题

RLVR训练多模态文档解析模型-olmOCR 2技术方案(模型、数据和代码均开源)-AI.x社区

图2:传统编辑距离的局限性:公式识别问题

为解决上述问题,设计了下面6类可验证的二进制单元测试(结果仅“通过(PASS)”或“失败(FAIL)”),覆盖文档OCR的需求:

测试类型

核心功能

文本存在性

验证特定短语(如关键句子、公式)是否精确出现在输出中

文本不存在性

验证无关内容(如页眉、页脚、页码)是否未出现在输出中

自然阅读顺序

验证句子/段落的顺序是否符合人类阅读习惯(如图1中“绿色→黄色”不被红色打断)

表格准确性

验证表格单元格的相对位置与数值是否正确(如“Model”在“GPT-4-turbo”上方)

数学公式准确性

用KaTeX渲染模型输出与参考公式,验证视觉结构是否一致(如图2)

基线鲁棒性

验证无长重复n-gram、无非目标语言字符(避免模型幻觉)

这些测试的优势在于:

  1. 公平处理浮动元素:对图注、表格等位置灵活的元素,只要核心逻辑正确(如表格单元格关系、阅读顺序),均判定为通过,避免编辑距离的“过度惩罚”;
  2. 精准反映实际正确性:聚焦“用户是否能用”(如公式能否正确渲染、表格能否正确读取),而非“字符是否完全匹配”。

数据

手动为每个文档设计单元测试耗时极长(原文提到“需数小时/文档”),无法支撑RL训练的大规模数据需求。因此,文章开发了全自动合成数据生成 pipeline,实现“文档→HTML→单元测试”的端到端规模化,核心流程分三步:

1. 步骤1:挑选“难处理场景”PDF数据源

为确保合成数据的挑战性(覆盖真实OCR痛点,避免“模板化数据”,确保数据多样性,与真实世界OCR需求对齐。),文章选择高难度文档样本: 数据来源arXiv数学论文(含复杂公式)、旧扫描件(低分辨率)、多列布局文档、含复杂表格的文档。

RLVR训练多模态文档解析模型-olmOCR 2技术方案(模型、数据和代码均开源)-AI.x社区

olmOCR 2 合成数据流水线的 HTML 页面生成。从真实文档中采样一个页面(左图),并提示通用 视觉语言模型(VLM)生成一个高度相似的 HTML 页面(右图)。渲染后的 HTML 页面图像与原始 HTML 配对,作 为专用于 OCR 的 VLM 的监督信号。

2. 步骤2:PDF→HTML的三阶段转换(生成“带Ground Truth的结构化文档”)

HTML是生成单元测试的关键:其语义标签(如​​<header>​​​、​​<footer>​​​、​​<table>​​、KaTeX公式)可直接用于自动提取测试用例。转换过程依赖通用VLM(Claude-sonnet-4-20250514) ,分三阶段迭代优化:

阶段

核心任务

输入

输出

1. 布局分析

让VLM识别文档结构:列数、图像/表格位置、页眉/页脚区域、公式位置等

原始PDF页面图像

布局结构描述(如“2列,右上角有表格”)

2. 内容渲染

让VLM基于布局分析,生成与原始PDF尺寸一致的语义HTML

原始图像+布局描述

初始HTML(含文本、KaTeX公式、HTML表格)

3. 输出优化

渲染初始HTML为图像,与原始PDF对比,让VLM修正差异(如字体、间距、公式格式)

原始图像+初始HTML+渲染图像

优化后的最终HTML

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),确保覆盖足够多的候选结果;

奖励函数设计

RLVR训练多模态文档解析模型-olmOCR 2技术方案(模型、数据和代码均开源)-AI.x社区

olmOCR 2 的 RLVR 训练的单元测试奖励。给定一个生成的 HTML 页面及其单元测试(左侧),可以 根据这些单元测试轻松地对生成的 Markdown 页面(右侧)进行评分。每个测试贡献一个二元奖励,这些奖励在页面级 别汇总为通过率。例如,6 个测试中有 4 个通过,则页面级别的奖励为 0.67。

奖励总分为三部分,取值均为0~1,确保模型同时优化“内容正确性”和“输出格式合规性”:

奖励类型

计算方式

作用

主奖励:单元测试通过率

(通过的单元测试数量)/(总单元测试数量)

核心:优化内容正确性(公式、表格等)

辅助奖励1:EOS token

若输出以EOS(结束符)结尾则为1,否则为0

避免模型无限重复(解决“重复循环”)

辅助奖励2:元数据位置

若文档元数据(语言、旋转校正系数)在输出顶部则为1,否则按位置递减

确保输出结构规范,便于下游处理

3. 阶段3:模型融合(Souping)

为避免单一模型的随机性,文章采用模型权重平均(Souping) 策略:训练6个不同随机种子的RL模型(3个用token级重要性采样,3个用序列级重要性采样);对6个模型的权重进行平均,得到最终的olmOCR-2-7B-1025模型;

实验性能

RLVR训练多模态文档解析模型-olmOCR 2技术方案(模型、数据和代码均开源)-AI.x社区

OCR 模型性能对比

参考文献: olmOCR 2 Unit Test Rewards for Document OCR,https://arxiv.org/pdf/2510.19817v1
repo:https://github.com/allenai/olmocr

本文转载自​​大模型自然语言处理​​   作者:老余

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
收藏
回复
举报
回复
相关推荐