乐于分享
好东西不私藏

Unlimited-OCR:长文档一次识别,靠的不是无限上下文

Unlimited-OCR:长文档一次识别,靠的不是无限上下文
Unlimited-OCR 真正的新意,不是名字里的“无限”,而是给长文档识别换了一种记忆方式。
普通全注意力会把越来越长的输出历史留在 KV 缓存里。生成越久,缓存越大,每一步要处理的历史也越长。Unlimited-OCR 提出的 R-SWA 则把记忆拆成两部分:全部参考词元始终可见,已经生成的内容只保留最近 128 个词元。
层次R-SWA 怎么处理解决什么问题  参考内容视觉词元与提示全部保留不让原文信息随生成变模糊输出历史只看最近 128 个词元避免缓存随全文线性增长长文档多页一次进入参考前缀保持跨页连续状态当前上限最大长度仍是 32K说明它还不是真正无限
这项工作的核心不是“上下文无限”,而是“原文一直在眼前,遥远输出可以忘掉”。
论文把每次解码能看见的内容分成参考窗口和输出窗口。
参考窗口包含全部视觉词元与提示。它在一次推理中保持不变,每个新词元都能回看完整参考内容。输出窗口则沿着生成结果向前滑动,只留下最近 128 个词元,用来维持局部连贯和识别进度。
原始视觉内容不会跟着输出一起被淘汰,也不需要经过反复状态更新。项目方认为,这能避免参考特征在长序列里逐渐模糊。

二、为什么 KV 缓存能有固定上界

标准全注意力的缓存会随着输出长度继续增长。R-SWA 保留固定参考前缀,再加一个固定宽度的输出队列。生成新词元时,超过窗口的旧输出被移出。
因此,在参考前缀已经确定的前提下,缓存上界就是“参考前缀长度 + 128”。输出从一千词元增长到一万词元,解码侧缓存不再同步线性变大。
这里必须加一个限定:参考前缀本身并不恒定于所有任务。页数越多、分辨率越高,输入视觉词元就越多,预填充开销和整体显存需求仍会变化。所谓恒定,是相对于同一份输入继续生成时的解码长度。

三、项目方报告了哪些结果

三个数字来自三种不同测试,不能揉成一个“全面提速”的结论。
测试项目方结果应该怎样理解  40+ 页自建长文档集编辑距离 0.1069,Distinct-35 96.90%观察跨页精度与重复退化OmniDocBench v1.5总分 93.23比基线高 6.22 个点6144 输出词元理论吞吐7847.71 TPS比基线 5822.87 TPS 高约 35%
Distinct-35 衡量生成结果中不同 35 元片段所占比例。96.90% 说明项目方测试里没有出现严重的大段循环重复,但它不是完整准确率。
OmniDocBench 是单页公开基准;40 多页结果来自项目方自建集合;理论 TPS 又采用理想并发条件。三组数字回答的是不同问题,理论吞吐不能直接当成单用户真实时延。

四、为什么 32K 仍然卡住“无限”

论文限制章节写得很直接:有限上下文下,模型无法做到真正无限解析。
R-SWA 能阻止输出缓存持续膨胀,却不能让越来越多的页面凭空消失。多页图像会被压缩成参考词元,页数越多,参考前缀越长,最终仍会碰到 32K 最大长度。
训练数据也需要看清。约 200 万样本中,单页与多页比例为 9:1;多页样本由单页数据合成拼接,每份包含 2 至 50 页。这适合训练连续输出,却不能完整代表真实扫描件的跨页结构和噪声。
论文还指出,40 多页测试中的部分重复错误集中在难辨小字,和多页模式使用 1024×1024 分辨率有关。因此“40+ 页”不是对任意 PDF 都成立的通行证。

五、落地前先测三件事

第一,拿自己的长文档测编辑距离和漏识别。第二,记录跨页后的重复片段与顺序错误。第三,把端到端时延拆成页面栅格化、图像编码、预填充和解码。
官方 PDF 路径会先按 300 DPI 把页面变成图像,再进入多页推理。官方 Transformers 路径面向 NVIDIA GPU,测试环境包含 CUDA 12.9。这些都是明确的工程前提。
我的判断是:Unlimited-OCR 最值得复用的是 R-SWA 的记忆分工,而不是“无限”这个标签。它让长输出缓存更可控,但没有消除上下文、输入前缀、小字清晰度、硬件和数据分布的边界。
来源:Unlimited-OCR 官方仓库、arXiv 2606.23050 v1 技术报告与官方模型卡;核验于 2026-08-03,详细口径见 sources.md。