← 返回 2026-02-24

DODO:离散OCR扩散模型 DODO: Discrete OCR Diffusion Models

Sean Man, Roy Ganz, Roi Ronen, Shahar Tsiper, Shai Mazor, Niv Nayman 📅 2026-02-18 👍 10 2026-07-13 08:35
OCR 并行解码 扩散模型 文档理解 视觉语言模型

首个利用块离散扩散实现并行解码的OCR视觉语言模型,推理速度提升5倍

前置知识

自回归解码(Autoregressive Decoding)

自回归解码是一种序列生成方法,模型按从左到右的顺序逐个生成token。在生成第t个token时,模型以已生成的前t-1个token作为条件输入。这种方法在语言模型和视觉语言模型中被广泛使用,如GPT系列和Qwen-VL。其优点是生成质量高、连贯性好,但缺点是必须顺序执行,无法并行化,导致长序列生成时延迟显著增加。

DODO的核心目标是替代自回归解码以提升OCR推理效率,理解自回归解码的瓶颈是理解本文动机的关键

掩码扩散模型(Masked Diffusion Models, MDM)

掩码扩散模型是一种离散扩散模型,通过逐步将token替换为[MASK]标记来定义前向扩散过程,然后训练神经网络从部分掩码的序列中恢复原始token。与连续扩散模型不同,MDM直接在离散token空间操作。采样时从全[MASK]序列开始,迭代地预测并揭示token。MDM的关键假设是条件独立性——给定输入,各token的预测可以独立进行,这为并行解码提供了理论基础。

MDM是DODO的技术基础,理解其工作原理和假设对于理解DODO如何改进扩散解码至关重要

块扩散(Block Diffusion)

块扩散是一种混合生成范式,在块间采用自回归结构,在块内采用扩散并行解码。将序列划分为多个连续块,每个块内的token通过扩散模型并行生成,但块与块之间保持因果顺序。这种方法结合了自回归的稳定性和扩散的并行性,同时支持KV缓存以避免重复计算前缀表示。

块扩散是DODO的核心架构创新,理解其如何平衡并行性和稳定性是理解本文技术贡献的关键

KV缓存(Key-Value Cache)

KV缓存是Transformer推理中的重要优化技术。在自回归生成中,每生成一个新token都需要计算所有已生成token的Key和Value表示。KV缓存将这些已计算的Key-Value对存储起来,避免重复计算,从而显著降低计算成本。对于长序列生成,KV缓存可以将计算复杂度从O(n²)降低到接近O(n)。

DODO通过块因果注意力机制实现精确的KV缓存,这是其实现5倍推理加速的关键技术之一

条件独立性假设(Conditional Independence Assumption)

条件独立性假设是掩码扩散模型的核心理论前提,认为给定输入条件后,各token的预测可以独立进行。在数学上表示为:p(x_1:L|x_1:L_noisy, I) ≈ ∏p(x_i|x_1:L_noisy, I)。这个假设使得并行解码成为可能,但其有效性取决于任务的性质——输出分布越确定(低熵),该假设越可能成立。

论文论证OCR任务天然满足条件独立性假设,这是DODO能够成功应用扩散模型的理论基础

研究动机

现代文档理解系统广泛使用视觉语言模型进行OCR,但这些模型主要依赖自回归解码。自回归解码要求模型按从左到右的顺序逐个生成token,每个token都需要一次完整的前向传播。对于长文档(如学术论文、书籍页面),这种顺序生成方式导致严重的延迟瓶颈。具体而言,生成一个包含L个token的文档需要L次顺序的前向传播,计算成本随序列长度线性增长。在实际应用中,如大规模文档数字化、实时文档处理等场景,这种延迟是不可接受的。例如,在处理一篇包含数千token的学术论文时,自回归解码可能需要数秒甚至更长时间,严重限制了系统的吞吐量和实用性。

本文的目标是本文的核心目标是开发一种能够实现高效并行解码的OCR视觉语言模型,在保持与最先进自回归模型相当精度的同时,显著提升推理速度。具体而言,作者希望利用OCR任务的确定性特性(视觉输入严格决定唯一的文本输出),通过扩散模型实现并行token生成,将推理吞吐量提升数倍。量化目标包括:在标准OCR基准测试上达到与Qwen2.5-VL系列相当的编辑距离,同时将推理速度提升至少3-5倍。

与已有工作不同的是,本文的独特切入角度在于对OCR任务本质特性的深刻洞察。作者指出,OCR与图像描述、视觉问答等语义灵活任务存在根本差异:OCR是语义刚性的任务,给定图像后输出分布几乎是单峰的(接近Dirac delta函数),这使得OCR天然满足扩散模型的条件独立性假设。然而,现有扩散模型在OCR上表现不佳,并非因为条件独立性假设不成立,而是因为标准掩码扩散模型引入了结构性不稳定性——长度估计错误和位置锚定问题。这些在灵活任务中可以被容忍的误差,在OCR的刚性要求下变得不可恢复。这一洞察引导作者提出块扩散作为结构性解决方案,而非简单地将扩散模型应用于OCR。

核心方法

DODO的核心思想可以用一个简单的类比来理解:想象你在抄写一份手稿。传统自回归方法就像一个字一个字地抄写,而标准扩散方法则像试图一次性抄写整页内容——很容易抄错位置或漏掉内容。DODO的方法则像是分段抄写:每次抄写一小段(块),抄完一段后再抄下一段,这样既能保持并行抄写的效率,又能确保每段内容的准确性。具体技术路线是:首先将文档文本序列划分为多个连续的块,每个块包含一定数量的token(如32-256个)。然后,在块间采用自回归顺序(块1→块2→块3...),在块内采用扩散并行解码。块因果注意力机制确保已解码的块作为稳定的上下文,同时块内token可以双向注意力交互。最后,通过精确的KV缓存避免重复计算已解码块的表示,实现显著的推理加速。

DODO的核心创新点在于识别并解决了标准掩码扩散模型在OCR任务上的结构性失败。与已有方法最本质的区别是:标准扩散模型试图在全局序列上进行并行解码,这在OCR中导致两种不可恢复的错误——长度不匹配(模型估计的序列长度与真实长度不符)和位置锚定错误(token被放置在错误的位置)。DODO通过块分解将全局问题转化为局部问题:每个块的长度相对较小且更容易估计,块间的因果关系提供了稳定的锚定点。更关键的是,DODO利用OCR的确定性特性,证明了在块内并行解码时条件独立性假设是成立的,同时通过块因果注意力避免了全局扩散的同步失败。这种架构设计使得DODO能够将可利用的块大小从32扩展到256个token,显著提升了并行度和精度。

方法步骤详情

DODO的方法包含以下关键步骤:1) 序列分块:将长度为L的目标序列划分为B个连续块,每块包含L'个token(L = B × L')。2) 块因果注意力训练:训练时使用块因果注意力掩码,当前块内的token可以双向注意力交互并关注所有已解码的前缀块,但前缀块不能关注当前块。这确保了训练时的因果一致性。3) 扩散训练:在每个块内应用掩码扩散训练,使用互补掩码策略和分层均匀调度进行时间步采样。4) 推理采样:从第一个块开始,对当前块应用扩散采样(从全[MASK]开始迭代去噪),使用置信度阈值策略(阈值p=0.99)决定何时揭示token。当前块解码完成后,将其作为固定上下文处理下一个块。5) KV缓存优化:由于块因果注意力确保已解码块的表示不变,可以精确缓存其Key-Value对,避免重复计算,实现显著的推理加速。

技术新颖性

DODO的技术新颖性体现在三个层面:首先,这是第一个成功将离散扩散模型应用于OCR任务的视觉语言模型。此前的扩散VLM(如Dimple、LaViDa、LLaDA-V)在OCR上表现极差(编辑距离>0.5),而DODO达到了0.069的编辑距离。其次,DODO首次在多模态视觉语言模型中应用块因果掩码进行训练和推理。此前的块扩散工作仅在纯文本模型上探索,且使用较小的块大小(4-32个token)。DODO证明了在OCR的刚性约束下,块因果训练是必要的,仅在推理时应用块解码会导致精度崩溃。第三,DODO发现扩散框架独特地支持跨块的双向注意力,这在自回归模型中是不可能的。这种双向注意力允许上下文动态适应当前活跃块,将可利用的块大小从32扩展到256个token,进一步提升了精度。

DODO:高吞吐量并行生成
Figure 1: DODO:高吞吐量并行生成
全扩散 vs 块扩散
Figure 4: 全扩散 vs 块扩散

实验结果

DODO在两个OCR基准测试上进行了全面评估,结果令人印象深刻。在OmniDocBench(包含290个英语文档,涵盖9种文档类型)上,DODO达到0.069的归一化编辑距离,显著优于所有现有的扩散视觉语言模型:Dimple为0.856,LaViDa-L为0.994,LLaDA-V为0.524。这意味着DODO比最佳扩散基线(LLaDA-V)提升了约7.6倍。与自回归基线相比,DODO超越了其骨干网络Qwen2.5-VL的所有规模:3B版本(0.184)、7B版本(0.135),甚至接近72B版本(0.092)。在Fox-Pages数据集(112个纯文本文档页面)上,DODO达到0.038的编辑距离,与Qwen2.5-VL-3B(0.051)和7B(0.025)相当。推理吞吐量方面,DODO实现了103.69 tokens/sec,相比Qwen2.5-VL-3B的21.00 tokens/sec实现了约5倍加速。消融实验证明了块结构的关键作用:标准掩码扩散模型即使在已知序列长度的情况下也表现不佳(编辑距离0.100),而块训练使其降至0.067。块大小分析显示,256个token是精度和效率的最佳平衡点,更大块(512、1024)会导致精度下降。

DODO结果:OmniDocBench和Fox-Pages上的OCR性能
Table 1: DODO结果:OmniDocBench和Fox-Pages上的OCR性能
块结构的影响
Table 2: 块结构的影响
块大小和缓存策略
Table 3: 块大小和缓存策略
推理吞吐量比较
Figure 5: 推理吞吐量比较
解码效率分析
Figure 6: 解码效率分析
查看结构化数据
任务指标本文基线提升
OmniDocBench OCR 归一化编辑距离 0.069 Qwen2.5-VL-3B: 0.184, Qwen2.5-VL-7B: 0.135, LLaDA-V: 0.524 比Qwen2.5-VL-3B提升62.5%,比LLaDA-V提升86.8%
Fox-Pages OCR 归一化编辑距离 0.038 Qwen2.5-VL-3B: 0.051, Qwen2.5-VL-7B: 0.025 比Qwen2.5-VL-3B提升25.5%
推理吞吐量 tokens/sec 103.69 Qwen2.5-VL-3B: 21.00 提升约5倍
文档长度泛化 编辑距离(4096+ tokens) 0.079 Qwen2.5-VL-7B: 0.185 长文档场景提升57.3%

局限与改进

尽管DODO取得了显著成果,但仍存在一些局限性。首先,作者承认在使用精确KV缓存时,较大块尺寸(256个token)的精度会下降(编辑距离从0.069增至0.177),而双向注意力变体可以缓解这一问题但需要更多计算。这表明在速度和精度之间仍存在权衡。其次,DODO的训练需要专门的块因果掩码和扩散目标,与标准自回归训练相比增加了实现复杂性。第三,评估仅在英语文档上进行,对多语言OCR的泛化能力尚未验证。第四,DODO在极短文档(0-128 tokens)上的优势不明显,因为自回归解码的延迟在此场景下不是主要瓶颈。最后,论文未讨论DODO在实时流式处理场景中的适用性,块解码可能引入额外的延迟。

独立分析的弱点

基于独立分析,DODO存在以下弱点及改进方向:1) 块大小敏感性:DODO的性能对块大小选择敏感(最佳为256),这可能限制其在不同文档类型上的适应性。改进方向是开发自适应块大小策略,根据文档内容的复杂度和长度动态调整块大小。2) 训练效率:块因果训练需要专门的注意力掩码实现,可能影响训练吞吐量。可以探索更高效的训练算法,如课程学习或渐进式块大小增加。3) 置信度阈值策略:当前使用固定的高置信度阈值(p=0.99)可能过于保守。可以研究自适应阈值策略,根据当前块的上下文复杂度动态调整。4) 多模态扩展:DODO仅评估了文档OCR,未探索其在场景文本、手写体等其他OCR变体上的表现。改进方向是扩展训练数据以覆盖更多OCR场景。

未来方向

作者提出和基于成果可延伸的未来研究方向包括:1) 探索专门为OCR设计的扩散采样器,可能比通用采样策略更适合文本的刚性结构。2) 研究块大小与文档结构(如段落、章节)的对齐,可能进一步提升精度。3) 将DODO的块扩散思想扩展到其他需要精确输出的序列生成任务,如代码生成、数学公式识别等。4) 探索DODO与检索增强生成(RAG)的结合,用于大规模文档理解和问答。5) 研究DODO在边缘设备上的部署优化,利用其并行解码特性实现移动端实时OCR。6) 探索DODO与其他模态(如语音、视频)的结合,实现多模态文档理解。

复现评估

DODO的复现条件相对友好。论文基于开源的Qwen2.5-VL-3B架构,训练数据使用公开的olmOCR-mix-1025数据集(约270K文档-文本对)。算力需求方面,作者使用8×NVIDIA A100(40GB)GPU训练200,000步,这对大多数研究机构是可接受的。实现复杂性中等,需要修改注意力掩码以支持块因果结构,并实现扩散训练目标。论文提供了详细的超参数设置(学习率5×10^-6、权重衰减0.01、WSD调度器)和训练配置(bfloat16精度、最大序列长度8192)。评估使用标准基准测试(OmniDocBench、Fox-Pages)和标准指标(归一化编辑距离)。总体而言,具备扩散模型和视觉语言模型经验的研究团队应该能够在合理时间内复现DODO。