百度“无限OCR”通过将记忆模拟为人类遗忘,单次处理数十页文档
百度研究人员开发了Unlimited OCR模型,通过参考滑动窗口注意力(R-SWA)机制,实现单次推理处理数十页文档,内存和速度保持恒定,在基准测试中准确率达93%。
原贴
查看原文原文
中文翻译
百度研究人员构建了一个OCR模型,单次推理即可处理数十页文档,无论文本长度如何,内存使用和速度都保持恒定。重新设计的注意力机制使之成为可能。百度研究人员在其技术报告中写道,目前没有OCR模型能在单次推理中处理超过大约十页。瓶颈是KV缓存,这是一个缓冲区,语言模型在生成过程中存储所有先前处理的标记,以便以后查找。当前的端到端系统使用语言模型作为解码器,因此这个缓冲区会随着每一行新文本而增长。这导致内存使用增加,生成速度逐渐变慢。实践中,系统通过一个循环逐页处理每个文档,每一步后重置缓存来绕开这个问题。
百度用一个人类类比来描述这个问题。抄写书籍的人不会重读他们已经写下的所有内容。他们盯着原文、刚刚写下的最后几个字符以及下一个要写的字符。较早的段落通过一种软性遗忘逐渐淡出。研究人员希望Unlimited OCR模仿这种模式。它通过团队所称的参考滑动窗口注意力(R-SWA)来实现。每个生成的标记仍然可以看到所有参考标记、视觉图像标记和提示。但涉及到先前生成的输出时,它只回看最后128个标记。这使得KV缓存在整个过程中保持恒定,而不是随着输出长度线性增长。标准的滑动窗口注意力也会使视觉标记经历持续的状态变化,逐渐模糊图像特征并降低识别能力。R-SWA使视觉标记免于这些变化。它们被编码一次并保持不变。KV缓存作为一个队列工作,每个新标记将最旧的标记推出。使用标准多头注意力,内存使用随着标记数量增加而无限制增长。R-SWA将其上限设定为前缀长度和窗口大小的固定总和。
Unlimited OCR基于开源Deepseek OCR模型构建。百度保留了其DeepEncoder,并将其与一个混合专家架构配对,该架构有30亿参数,其中推理时仅有约5亿活跃。DeepEncoder将1024x1024像素的PDF图像压缩为256个标记。两种分辨率模式延续下来。“基础”模式处理多页文档,“高达”模式对单页使用动态分辨率。解码器中的每个标准注意力层都被替换为R-SWA。训练使用了约200万个文档样本,单页与多页数据按9:1分割。Paddle OCR负责单页的标注。多页数据是通过将单页拼接成2到50页的文档来合成的。所有数据被打包成32,000个标记的序列;训练在8x16块Nvidia A800 GPU上运行了4000步。DeepEncoder保持冻结,仅更新语言模型参数。
据作者称,Unlimited OCR在OmniDocBench v1.5文档基准测试中整体得分93%,比Deepseek OCR基线高6个百分点。该基准测试衡量多个子任务。纯文本识别错误率(以编辑距离衡量,即每字符需要纠正的次数)略有下降。表格结构识别提升更明显,接近6个百分点。在更新的v1.6版本上,模型达到93.92%,在端到端系统排名中位居首位。
核心信息
百度研究人员开发了Unlimited OCR模型,通过参考滑动窗口注意力(R-SWA)机制,实现单次推理处理数十页文档,内存和速度保持恒定,在基准测试中准确率达93%。
- 百度研究人员开发了Unlimited OCR模型,通过参考滑动窗口注意力(R-SWA)机制,实现单次推理处理数十页文档,内存和速度保持恒定,在基准测试中准确率达93%。
- 原贴提到:Baidu researchers have built an OCR model that handles dozens of documen
- 来源:the-decoder.com
成为会员查看完整内容
你已经看到了这篇内容的前置整理,剩余深度部分仅对会员开放。