扩散解码(Diffusion Decoding)
把 OCR 从 自回归生成 重新定义为 逆渲染问题 的新范式。代表实现:MinerU-Diffusion。
一句话定义
不再从左到右一个 token 一个 token 生成,而是整张文档同时”显影”——通过扩散去噪的方式并行生成所有 token。
为什么自回归不适合 OCR
1. 速度瓶颈
串行:生成第 100 个 token 必须等前 99 个完成 → 文档越长越慢。
2. 错误累积
多米诺骨牌:前面错一个,后面跟着错。
3. 依赖语言先验而非视觉证据
最犀利的观察:自回归模型在解码时不自觉地依赖”语义补全”——靠上下文猜,而非看图片。
Semantic Shuffle 测试:把文档单词打乱顺序重排成图片让模型识别。
- 自回归模型:准确率随打乱程度直线下跌
- 扩散模型:纹丝不动
结论:自回归 OCR 是在”理解+猜”,但 OCR 本质应是忠实”看”。
MinerU-Diffusion 的核心思想
把 OCR 看作”逆渲染”:
- 文档渲染:结构化文本 → 2D 图片
- OCR:2D 图片 → 结构化文本
- 渲染不需要从左到右逐字 → OCR 凭什么必须从左到右?
三大技术
1. Block-wise 分块扩散解码器
- Block 内:扩散并行
- Block 间:粗粒度自回归
- 兼顾效率与全局一致性(避免全局扩散的计算量爆炸)
2. 不确定性驱动的两阶段课程学习
- 第一阶段:大规模多样化数据建基础(约 750 万样本)
- 第二阶段:找出”不确定的硬骨头” → 人工精标后重点训练
3. 动态置信度调度
解码时按 token 置信度决定”落笔确认”:
- 高置信 → 定
- 低置信 → 继续去噪
- 阈值 τ 是”旋钮”,在速度与精度间灵活调节
性能(OmniDocBench v1.5)
| 配置 | Overall | TPS | 加速 |
|---|---|---|---|
| MinerU2.5(AR) | 93.44 | 51.46 | 1× |
| Diffusion τ=0.97 | 93.34 | 98.32 | 1.9× |
| Diffusion τ=0.95 | 93.37 | 108.9 | 2.1× |
| Diffusion τ=0.6 | > 90 | 164.8 | 3.26× |
深层意义
“OCR 的本质是视觉任务,解码方式应该与任务本质对齐。自回归是语言模型的标配,但 OCR 不是语言生成——你是在读图片,不是在写文章。”
这是范式级别的反思:当一种通用工具(AR 解码)成为默认,往往掩盖了任务本质上需要的是另一种工具。