FireRed-OCR Technical Report¶
日期: 2026-03-02
arXiv: 2603.01840
代码: GitHub
领域: 多模态/VLM / 文档解析
关键词: OCR, document parsing, structural hallucination, GRPO, Qwen3-VL
一句话总结¶
FireRed-OCR 提出三阶段渐进训练框架(多任务预对齐 → SFT → 格式约束 GRPO),将通用 VLM (Qwen3-VL-2B) 特化为像素级精确的结构化文档解析专家,在 OmniDocBench v1.5 上以 92.94% 总分大幅超越 DeepSeek-OCR 2 和 OCRVerse,仅 2B 参数即超越 235B 级别的通用 VLM。
研究背景与动机¶
- 领域现状:大型 VLM(GPT-4V、Qwen-VL、LLaVA)在通用图文理解上表现出色,但在文档智能任务(解析金融报表、学术论文、复杂表单)中表现不稳定。传统 OCR 系统(PaddleOCR)靠流水线方式(先检测再识别)做到像素级精确,但缺乏语义理解能力;端到端方法(DeepSeek-OCR)能更好地捕捉语义,却在细粒度空间定位上力不从心。
- 核心痛点 — 结构幻觉:通用 VLM 在处理密集文本文档时频繁出现"结构幻觉"——Markdown 表格行列错乱、数学公式语法不存在、层级逻辑被丢弃。这类错误使输出在工业场景中完全不可用。根本问题在于模型会"理解意图"但不懂"遵守规则"。
- 数据质量瓶颈:现有开源 OCR 数据集存在两个致命问题——(a) 分布不均衡:简单排版(小说)占比远超复杂排版(多栏论文、金融表格),(b) 标注不一致:不同来源用不同格式标注公式和表格(有的用 HTML,有的用 Markdown),模型训练时收敛困难。
- 切入角度:作者认为问题不在模型能力不足,而在于缺乏高质量结构化数据和针对性训练策略。核心 idea 一句话:用"几何+语义"数据工厂造高质量数据 + 三阶段渐进训练(感知→格式→RL约束)把通用 VLM 改造为结构化文档专家。
方法详解¶
整体框架¶
以 Qwen3-VL 为 backbone,先构建高质量数据引擎,再通过三阶段渐进训练将通用 VLM 特化。输入是文档图像,输出是严格格式化的 Markdown 文本(含表格、公式、阅读顺序)。
关键设计 1: "几何+语义"数据工厂¶
这是一个五阶段数据精炼流水线,解决数据质量和多样性问题:
- 几何驱动特征提取与双索引:用轻量 ViT 提取文档图像的布局特征向量(忽略文本内容),对几何嵌入做无监督聚类(K-Means / DBSCAN),得到结构特征空间。高密度聚类(标准单栏文本)下采样去重,稀疏聚类(嵌套表格、不规则表单)保留。同时建立四维语义标签系统(语言、布局类型、文档来源、体裁),形成"几何+语义"双索引。
- 分层采样与统一标注:利用双索引做分层采样——大幅上采样"稀有布局"和"复杂体裁",限制简单文本贡献。然后用 PaddleOCR-VL 对全部采样数据做统一 Markdown 格式重标注,消除标注风格冲突。
- 合成数据生成:为自然数据中极度稀缺的结构(跨三页的表格、复杂嵌套数学证明),构建 HTML/CSS 模板库,随机化内容和样式参数后渲染高分辨率图像,得到像素完美对齐的 Markdown GT。
- 自动质量控制:双层过滤——规则检查(标签闭合、表格列数一致、垃圾检测)+ 轻量 LLM 审计(分类为"丢弃/噪声"或"保留/困难样本"),困难样本路由到专门仓库。
- 专家级精修:对困难样本用前沿模型(如 Gemini 3 Pro)做蒸馏式标注修正,修复结构幻觉和 OCR 系统误差,将大模型推理能力提炼到训练集中。
关键设计 2: 三阶段渐进训练¶
- Stage 1 — 多任务预对齐:在 ~1.3M 样本上联合训练三个子任务——检测+OCR(预测边界框+文本)、区域 OCR(给定区域裁剪识别文本)、全页 Markdown(布局到 Markdown 转换)。目标是让视觉编码器精确关注空间位置,建立"基础文档能力"。标准自回归交叉熵损失。
- Stage 2 — 专业化 SFT:在 400K 高质量文档-Markdown 对上精调,强化四个维度——结构一致性、层级表达稳定性、Markdown 格式标准化、跨语言复杂布局鲁棒性。关键发现:粗到精的数据策略(先用 PaddleOCR v1 粗标注训练 Stage 1,再用 v1.5 精标注训练 Stage 2)效果优于全程用高质量数据,粗标注为初期提供更平滑的学习曲面。
- Stage 3 — 格式约束 GRPO:使用 Group Relative Policy Optimization 做 RL 训练,50K 样本,学习率降到 \(5 \times 10^{-7}\)。对每个输入采样 G 个输出,用四个规则奖励函数评估:
- \(r_{syntax}\):LaTeX 公式语法检查(能否编译)
- \(r_{closure}\):层级闭合(标签配对完整性)
- \(r_{table}\):表格完整性(行列结构是否矩形)
- \(r_{text}\):文本准确性(与 GT 的归一化编辑距离)
总奖励 \(R(o) = \lambda_A r_{syntax} + \lambda_B r_{closure} + \lambda_C r_{table} + \lambda_D r_{text}\)
关键设计 3: 迭代 SFT-GRPO 循环¶
训练并非只走一遍三阶段,而是在 Stage 2 和 Stage 3 之间迭代 K 轮。原因: - SFT 保证文本识别正确性(语义保真),GRPO 保证格式严格性(结构刚性),二者互补 - 纯 RL 训练容易 reward hacking(生成语法完美但语义空洞的内容),定期 SFT 正则化拉回策略分布 - 迭代形成课程:早期轮次稳定基础标签生成,后期轮次处理文档布局的边界情况
意外发现:只对定位子任务施加 GRPO 约束,主任务性能也会提升——结构化坐标预测的严格要求隐式增强了整体视觉-文本对齐。
实验关键数据¶
主实验¶
| 模型 | OmniDoc v1.5 Overall↑ | FireRedBench Overall↑ | OCRBench (Text)↑ |
|---|---|---|---|
| FireRed-OCR-2B (本文) | 92.94 | 74.62 | 93.5 |
| DeepSeek-OCR 2 | 91.09 | 61.61 | - |
| dots.ocr | 88.41 | 72.93 | - |
| OCRVerse | 88.56 | - | - |
| Qwen3-VL-235B | 89.15 | - | 95.0 |
| Qwen3.5-397B | 90.80 | - | - |
| Gemini-3.0 Pro | 90.33 | 79.68 | 91.9 |
| GPT-5.2 | 85.50 | 68.09 | 83.7 |
| PaddleOCR-VL-1.5 (Pipeline) | 94.50 | 76.47 | 87.0 |
| Qwen3-VL-2B (backbone) | 81.87 | 65.58 | - |
OmniDocBench v1.5 详细指标¶
| 模型 | Overall | TextEdit↓ | FormulaCDM↑ | TableTEDS↑ | R-orderEdit↓ |
|---|---|---|---|---|---|
| FireRed-OCR-2B | 92.94 | 0.032 | 91.71 | 90.31 | 0.041 |
| Qwen3-VL-2B | 81.87 | 0.100 | 85.87 | 69.77 | 0.115 |
| Δ 提升 | +11.07 | +0.068 | +5.84 | +20.54 | +0.074 |
消融实验(GRPO 策略)¶
| 配置 | Overall↑ | TextEdit↓ | TableTEDS↑ |
|---|---|---|---|
| Base(无 GRPO) | 88.38 | 0.047 | 82.14 |
| + Table GRPO | 89.18 | 0.046 | 84.14 |
| + Text GRPO | 88.91 | 0.040 | 82.57 |
| + Table + Text Joint | 88.72 | 0.041 | 83.31 |
| + Mix 1:1:1 (Balanced) | 89.60 | 0.043 | 85.17 |
关键发现¶
- 参数效率极高:2B 模型在 OmniDocBench v1.5 上超越 235B 的 Qwen3-VL(92.94 vs 89.15)和 397B 的 Qwen3.5(90.80),证明领域专业化远比暴力规模扩展有效
- 表格结构提升最大:相比 backbone Qwen3-VL-2B,TableTEDS 提升 20.54 分(69.77→90.31),结构化训练对表格解析帮助最大
- 模态干扰问题:简单混合 Table+Text GRPO 数据反而不如单模态训练(88.72 < 88.91),因为不同模态优化方向冲突;用 1:1:1 均衡采样解决此问题
- 粗到精策略关键:先用粗标注再用细标注,比全程用高质量数据效果更好,粗标注提供更平滑的初始学习面
- GRPO 格式约束溢出效应:对定位子任务施加结构约束,主任务也获益——严格的"在哪里"预测增强了"是什么"的理解
亮点与洞察¶
- 结构幻觉概念的形式化:首次将 VLM 在文档解析中的格式错误定义为"结构幻觉",并提出"从文本生成到结构工程"的范式转换,问题界定非常精准。
- 数据工厂的工业化设计:几何聚类 + 语义标签的双索引机制很巧妙,实现了"按难度均匀分布"而非"按自然频率分布"的采样策略,这个思路可迁移到任何长尾分布数据场景。
- 迭代 SFT-GRPO:发现 SFT 和 GRPO 交替迭代优于单次流水线训练,本质上是在"内容正确性"和"格式严格性"之间做交替优化,避免 reward hacking。这个 insight 可应用于任何需要同时满足内容和格式约束的生成任务。
- 规则奖励函数设计:四个结构化奖励(公式语法、标签闭合、表格完整性、文本准确性)全部基于规则可自动计算,无需人工标注,成本极低。
局限性 / 可改进方向¶
- 依赖 PaddleOCR-VL 做标注:数据工厂的"统一标注"阶段用 PaddleOCR-VL 重标注,引入其系统偏差;虽然后续有专家模型修正困难样本,但大部分"简单"样本的偏差未被触及
- 评测以英文/中文为主:论文未展示在阿拉伯语、印地语等低资源语言复杂排版上的泛化能力
- 仅 2B 规模:虽然 2B 超越了通用 VLM,但没有展示同样训练策略在 7B/72B 上的效果,scaling law 在文档解析领域是否也成立未被验证
- GRPO 奖励设计偏"格式":四个奖励都是结构/格式层面的,缺少对语义理解质量(如阅读理解准确性)的直接奖励
相关工作与启发¶
- vs DeepSeek-OCR 2:同为端到端 OCR 模型,但 FireRed-OCR 用 GRPO 做格式约束而非纯 SFT,且数据工厂更精细。OmniDoc v1.5 上 92.94 vs 91.09
- vs PaddleOCR-VL-1.5:Pipeline 方案在标准基准上仍有优势(94.50),但在困难布局测试集 FireRedBench 上反而不如端到端方案(76.47 vs 74.62),流水线的级联误差在复杂场景暴露
- vs 通用 VLM:Qwen3-VL-235B 在 OCRBench 上仍强(95.0),但 OmniDocBench 上完败于 2B 专用模型,说明"专业化训练 >> 暴力扩参"在结构化任务上尤为明显
评分¶
- 新颖性: ⭐⭐⭐⭐ 三阶段训练和迭代 SFT-GRPO 有新意,但各组件(GRPO、数据蒸馏)单独看并不新
- 实验充分度: ⭐⭐⭐⭐⭐ 三个基准 + 详细消融 + 多维度对比 + 定性分析,非常扎实
- 写作质量: ⭐⭐⭐⭐ 条理清晰,数据工厂部分写得很系统
- 价值: ⭐⭐⭐⭐⭐ 开源代码和模型,工业落地价值极高,"通用VLM→专用结构专家"范式可复用