扩散解码(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)

配置OverallTPS加速
MinerU2.5(AR)93.4451.46
Diffusion τ=0.9793.3498.321.9×
Diffusion τ=0.9593.37108.92.1×
Diffusion τ=0.6> 90164.83.26×

深层意义

“OCR 的本质是视觉任务,解码方式应该与任务本质对齐。自回归是语言模型的标配,但 OCR 不是语言生成——你是在读图片,不是在写文章。”

这是范式级别的反思:当一种通用工具(AR 解码)成为默认,往往掩盖了任务本质上需要的是另一种工具。

在本 Wiki 中的出现

相关

MinerU