XYZNOT

论文 · arXiv 2606.23050

Unlimited OCR Works

发表于 cs.CVcs.CL arXivPDF

用 XYZNOT 阅读(全文翻译与 AI 讲解)

三句话总结

  1. 🎯 基于标准 LLM 的 OCR 解码器在长程多页文档转录过程中面临 KV 缓存线性增长和生成速度不断下降的问题。
  2. 🔧 采用参考滑动窗口注意力(R-SWA),解码 token 全局关注所有前缀/视觉 token,同时仅保留最近输出的常数因果窗口()。
  3. 📈 在 OmniDocBench v1.5 上总体得分达到 93.23%(相比 DeepSeek OCR 提升 +6.22%),并在长文本输出中保持恒定的生成延迟。

摘要

近期,以 DeepSeek OCR 为代表的端到端 OCR 模型再次将 OCR 技术推向了聚光灯下。一种被广泛接受的观点认为,采用大语言模型(LLM)作为解码器可以让模型充分利用语言的先验分布,从而提升 OCR 性能。然而,其缺点也同样明显:随着输出序列的增长,累积的 KV 缓存会导致显存占用不断增加,并使生成速度逐渐变慢。这与人类在长程抄写任务中效率完全不衰减的表现形成了鲜明对比。在本技术报告中,我们提出了 Unlimited OCR,该模型旨在模拟人类解析时的工作记忆机制。以 DeepSeek OCR 为基线,我们将其解码器中的所有注意力层替换为我们提出的参考滑动窗口注意力(Reference Sliding Window Attention,R-SWA),在降低注意力计算开销的同时,确保整个解码过程中的 KV 缓存保持恒定。通过将 DeepSeek OCR 编码器的高压缩率与我们的常数级 KV 缓存设计相结合,Unlimited OCR 能够在标准的 32K 最大长度限制下单次前向转录数十页文档。更重要的是,R-SWA 是一种通用的解析注意力机制——除 OCR 之外,它同样适用于 ASR、机器翻译等任务。代码和模型权重已在 http://github.com/baidu/Unlimited-OCR 开源发布。

英文原文摘要

Recently, end-to-end OCR models, exemplified by DeepSeek OCR, have once again thrust OCR into the spotlight. A widely held view is that employing a large language model (LLM) as the decoder allows the model to leverage the prior distribution of language, leading to improved OCR performance. However, the downside is equally evident: as the output sequence lengthens, the accumulated KV cache drives up memory consumption and progressively slows down generation. This stands in stark contrast to humans, who exhibit no such decline in efficiency during long-horizon copying tasks. In this technical report, we propose Unlimited OCR, a model designed to emulate human parsing working memory. Taking DeepSeek OCR as the baseline, we replace all attention layers in the decoder with our proposed Reference Sliding Window Attention (R-SWA), which reduces attention computation costs while maintaining a constant KV cache throughout the entire decoding process. By combining the high compression rate of DeepSeek OCR's encoder with our constant KV cache design, Unlimited OCR can transcribe dozens of pages of documents in a single forward pass under a standard maximum length of 32K. More importantly, R-SWA is a general-purpose parsing attention mechanism - beyond OCR, it is equally applicable to tasks such as ASR, translation, etc. Codes and model weights are publicly available at http://github.com/baidu/Unlimited-OCR.

论文解读

问题与动机

人类在连续转录数百页文档或翻译数小时音频时能够保持速度不衰减,其机制是利用工作记忆跟踪局部上下文,同时原始参考素材始终可供查阅。相比之下,当前的多模态大语言模型(MLLMs)和稠密 OCR 系统在长程解析中举步维艰。现有系统通常采用按页循环(for-loop)的方式处理多页文档,每一步都会重置记忆,这仅是一种工程变通方案,而非真正的连续处理。

当端到端模型尝试解码长序列时,标准的多头注意力(MHA)会导致键值(KV)缓存随输出长度 呈线性累积。这引发了 GPU 显存占用的持续上升和延迟的逐步恶化。采用循环更新的线性注意力模型同样无法胜任,因为循环状态更新会逐步模糊视觉参考特征。

核心思想

  • 参考滑动窗口注意力(Reference Sliding Window Attention, R-SWA):生成的 token 全局关注所有静态前缀参考 token(视觉表征和指令),同时在局部仅关注前面的 个输出 token(默认 )。
  • 常数级解码 KV 缓存:通过先进先出(FIFO)队列逐出生成缓冲区中早于 的 token,解码缓存占用被严格限制在 的上限内,从而保证了每步恒定的延迟和恒定的 GPU 显存占用。
  • 高压缩比视觉前缀:结合来自 DeepSeek OCR 的 DeepEncoder(将 图像压缩 至 256 个 token),可以在不超过标准上下文长度限制的前提下单次 Prefill 数十页内容。

方法

Unlimited OCR 基于 DeepSeek OCR 基线构建,保留了其冻结的 DeepEncoder(级联 SAM-ViT 和 CLIP-ViT),并搭配一个 3B 参数的混合专家(MoE)LLM 解码器(激活 500M 参数)。解码器中的所有标准 MHA 层均被替换为 R-SWA。

数学形式化

对于在解码步 生成的 token,其可访问的注意力集合 由两部分组成:

其中 是长度为 的静态前缀段,而 是在已生成 token 上的因果滑动窗口:

从 token 到位置 的注意力权重 为:

输出表征在该可访问集合上进行聚合:

KV 缓存扩展性

标准 MHA 的缓存随解码长度 呈线性扩展(),而 R-SWA 则将缓存容量限制在一定范围内:

当解码阶段占据主导地位时( 且 ),相对缓存比例趋近于零:

实验结果

  • OmniDocBench v1.5:Unlimited OCR 取得了 93.23% 的综合得分(相较于 DeepSeek OCR 的 87.01% 获得了 6.22% 的绝对提升),将文本编辑距离(Text Edit Distance)从 0.073 降低至 0.038,并将表格 TEDS 从 84.97% 提升至 90.93%。
  • OmniDocBench v1.6:综合得分达到 93.92%,媲美或超越了同期的端到端模型,如 Qianfan-OCR(93.90%)和 FireRed-OCR(93.26%)。
  • 推理速度:在 OmniDocBench 测试中,Unlimited OCR 达到了 5,580 TPS,相比 DeepSeek OCR 的 4,951 TPS 提升了 12.7%。在 6,144 个生成 token 的理论最大并发测试下,Unlimited OCR 达到 7,847.71 TPS,而 DeepSeek OCR 则下降至 5,822.87 TPS(性能差距达 35%)。
  • 多页长程 OCR:在多页图书评测中,Unlimited OCR 在 2 页上的编辑距离为 0.0362,20 页上为 0.0572,而在 40+ 页上为 0.1069(保持了 96.90% 的 Distinct-35)。

局限性与开放问题

  • Prefill 瓶颈:当前模型仍受限于最大输入上下文长度(32K tokens)。尽管 DeepEncoder 将单页压缩为 256 个 token,但数百页文档仍会占用大量 Prefill 显存。
  • 小字识别退化:在多页场景下,使用 DeepEncoder 的 1024×1024 Base 模式会由于分辨率限制而非注意力窗口缺失,导致对极小字号的识别出错。
  • 外部 Prefill 池:未来的工作包括在 128K 上下文上进行训练,并构建模拟翻页动作的自主动态 Prefill KV 拉取机制。

关键术语

Reference Sliding Window Attention (R-SWA)
一种注意力机制,每个解码 token 全局关注所有静态前缀/视觉 token,并在局部关注前 个生成的 token。
DeepEncoder
一种级联 SAM-ViT 和 CLIP-ViT 的视觉编码器,可实现 16 倍的 token 压缩率,将 1024x1024 的图像压缩为 256 个视觉 token。
Constant KV Cache
通过 FIFO 逐出队列将上限限制在 个 token 的解码缓存结构,可保持 GPU 显存和每步延迟的稳定。
Long-horizon Parsing
在单次不间断的前向传递中连续转录或解析多页文档(例如 20 到 40+ 页)。
OmniDocBench
一个多维度的文档解析基准,用于评估文本编辑距离、公式 CDM、表格结构(TEDS)以及阅读顺序。
Flash Attention v3 Kernel Latency
解码期间的单步算子执行耗时,该指标在标准 MHA 中呈线性增长,但在 R-SWA 下保持恒定。
Distinct-n
一种多样性度量指标,定义为独立 n-gram 与总 n-gram 的比率,用于衡量生成过程中的幻觉或重复死循环问题。

常见问题

Unlimited OCR 中默认的滑动窗口宽度 $n$ 是多少?

因果解码窗口 默认为 128 个 token,这足以用于跟踪进度和维持页内连续性。

R-SWA 与原生滑动窗口注意力(SWA)有何不同?

原生 SWA 对所有 token 应用局部窗口,这会丢弃或逐步模糊视觉参考 token。R-SWA 使所有视觉/前缀 token 保持全局可访问且无状态转换,仅在已生成的文本上进行滑动。

推理过程中激活了多少参数?

Unlimited OCR 采用了总参数量为 3B 的 MoE 架构,在推理期间仅激活 500M 参数。

为什么 DeepSeek OCR 会随着输出长度增长而变慢,而 Unlimited OCR 不会?

DeepSeek OCR 依赖于标准 MHA,其 KV 缓存大小随序列长度增加而增长,增大了注意力计算和显存开销。Unlimited OCR 维持大小为 的常数级 KV 缓存,从而保持了平稳的单步延迟。

本页解读由 AI 根据论文生成,可能有错误;细节请以原文为准。

用 XYZNOT 阅读(全文翻译与 AI 讲解)