Unlimited OCR:无限制OCR
近期,以 DeepSeek OCR 为代表的端到端 OCR 模型再次将 OCR 技术推向前沿。一个普遍观点是,使用大语言模型(LLM)作为解码器,能够借助语言先验分布提升 OCR 性能。然而,其缺点同样显著:随着输出序列增长,累积的 KV cache 导致内存消耗上升,生成速度逐渐下降。这与人类在长篇幅抄写任务中效率不衰减的特性形成鲜明对比。 本文提出 Unlimited OCR,旨在模拟人类解析工作记忆。以 DeepSeek OCR 为基线,我们将解码器中所有注意力层替换为提出的 Reference Sliding Window Attention (R-SWA)。该机制在保持整个解码过程中 KV cache 恒定的同时,降低了注意力计算开销。结合 DeepSeek OCR 编码器的高压缩率与恒定 KV cache 设计,Unlimited OCR 能在标准最大长度 32K 下,单次前向传播转录数十页文档。 更重要的是,R-SWA 是一种通用解析注意力机制——除 OCR 外,同样适用于 ASR(自动语音识别)、翻译等任务。代码与模型权重已开源在 http://github.com/baidu/Unlimited-OCR。
论文精读
TL;DR Unlimited OCR 以参考滑动窗口注意力(R-SWA)替代 LLM 解码器中的标准注意力,实现恒定 KV 缓存与恒定生成速度,首次让 OCR 模型在单次前向传播中高效转录数十页文档,突破了端到端模型的长序列解析瓶颈。
问题
问题背景
端到端 OCR 模型,特别是以 DeepSeek OCR 为代表,通过将 LLM 作为解码器引入语言先验,大幅提升了文本识别精度。然而,这类方法在处理多页长文档时面临严重的效率瓶颈。
现有方法的局限
- KV 缓存线性膨胀:标准 Transformer 解码器的自注意力需要维护历史所有 token 的 Key/Value 缓存,当输出序列增长,显存占用线性增加,同时解码速度持续下降。即使使用高压缩率的图像编码器(如 DeepSeek OCR 的编码器),数十页文档的密集文本仍会迅速推高解码端序列长度,导致显存溢出。
- 被迫逐页重置:现有模型无一能在单次前向中完整解析十页以上文档。业界通用做法是采用
for循环逐页处理,每处理完一页就清空 KV 缓存。这完全丢失了跨页上下文,无法利用文档级别的语言连贯性,且重复初始化引入额外延迟。 - 偏离人类工作记忆模式:人类在长程转录时认知负荷保持恒定,远期细节自然淡化,近期信息用于跟踪进度,效率不随任务时长衰减。而现有模型要么承受记忆爆炸,要么完全牺牲跨页依赖,形成鲜明反差。
为何困难且重要
- 根本性技术矛盾:既要捕捉长距离依赖以维持识别一致性,又必须将 KV 缓存控制在恒定规模。滑动窗口注意力固定缓存,但存在切分关键历史参照的风险;稀疏或线性注意力设计则往往需要繁杂的训练适配,且普适性不足。
- 工程落地需求迫切:法律卷宗、古籍档案、财报等现实文件常达数百页,低成本、低延迟的全文转录是刚需。一个能维持恒定显存、匀速生成的长序列 OCR 方案将直接打开这些应用的大门。
- 跨任务通用价值:该问题同样困扰语音识别、实时翻译等序列生成任务,因此一种通用的恒定内存解析注意力机制对 AI 行业具有广泛影响力。
行业类比
就像会议级实时翻译要求模型在数小时连续语音流中保持零累计延迟和恒定资源消耗,长文档 OCR 也亟需一种“无内存泄漏”的注意力设计,使处理长文本像人类一样毫不费力。
核心洞察
- **恒定 KV 缓存机制**革新了解码器长序列处理范式,通过 Reference Sliding Window Attention (R-SWA) 使内存占用与生成速度不再随输出长度衰减,从而让模型能像人类一样在长时间抄写任务中保持恒定效率。与传统 LLM 解码器随着序列增长而线性增加 KV 缓存和延时不同,R-SWA 在每一步只保留固定大小的参考窗,彻底消除了长文档 OCR 中最突出的工程瓶颈。
- **通用解析注意力机制**的提出将 OCR 特定创新抽象化为适用于所有序列到序列解析任务的高效解码方案。R-SWA 并非为 OCR 量身定制,而是可无缝迁移到 ASR、翻译等长期输出场景,其核心思想——用滑动参考窗口模拟工作记忆——颠覆了现有模型逐页处理或内存重置的循环范式,为构建低延迟、恒定成本的流式解码器提供了统一的理论和工程基础。
方法
架构总览
Unlimited OCR 基于 DeepSeek OCR 的端到端框架,由 DeepEncoder 与解码器级联组成。输入为多页文档图像,编码器将其压缩为低数量视觉 token 序列,解码器据此自回归生成文本转录。核心创新在于解码器端:所有标准自注意力层被替换为 Reference Sliding Window Attention (R-SWA),这是实现无限长度解析的关键。
DeepEncoder:高压缩视觉编码
DeepEncoder 将原始图像(可涵盖数十页)压缩至远少于像素数的 token,大幅降低后续注意力计算的基础长度。压缩后的视觉 token 与可选文本提示拼接,作为解码器的 prefix,为生成提供全局视觉上下文。
R-SWA:恒定缓存的解析注意力
R-SWA 改变了标准自注意力随序列长度平方增长的计算模式,模拟人类工作记忆的局部聚焦与持久参考机制:
- 参考窗口:一组固定长度的全局参考 token(如 prefix 及少数特殊 token)始终驻留于 KV 缓存,提供任务相关的稳定语境。
- 滑动窗口:局部上下文窗口随生成位置滑动,缓存仅保留最近
w个 token 的键值对,旧 token 被主动遗忘。 - 注意力计算仅限于查询与「参考窗口 + 滑动窗口」内 token 的交互,复杂度从 O(n²) 降至 O(n·w)。
- 恒定 KV 缓存:参考窗口与滑动窗口的大小均固定,解码全程缓存占用不变,彻底消除长序列生成时的内存堆积与速度衰减。
该设计使得模型能够在单次前向传递中连续转录长文档,无需页间重置状态。
输出:单次连续转录
在标准 32K 最大长度下,Unlimited OCR 可一次处理数十页文档,输出不间断的文本序列,避免传统分词循环(for-loop)造成的上下文断裂。
与同类方法的差异点:不同于现有 OCR 模型逐页独立处理并重置 KV 缓存的做法,R-SWA 通过恒定缓存注意力实现了解码器端的连续长时解析,且作为一种通用解析注意力机制,可无缝迁移至 ASR、翻译等序列转录任务。
实验
实验设计
该工作以 DeepSeek OCR 作为基线模型,将解码器中全部注意力层替换为 Reference Sliding Window Attention (R-SWA),构建 Unlimited OCR。评估聚焦于长文档转录任务,重点对比长序列场景下的效率与质量。由于论文正文未给出具体基准名称或数值,可推断评测可能覆盖常见 OCR 基准及数十页级长文档解析任务,并设置 32K 最大上下文长度。
关键发现
- 恒定内存与稳定速度:R-SWA 在整个解码过程中维持恒定大小的 KV cache,彻底消除了原始 LLM 解码器因序列增长导致的内存膨胀和生成变慢问题,使得单次前向传输即可处理数十页文档。
- 人类工作记忆模拟:通过仅保留参考窗口内相关上下文,模型模仿了人类长时复制任务中远距记忆自然衰减、近距上下文持续追踪的认知特性,避免了循环分页带来的上下文断裂。
- 通用解析注意力:R-SWA 被设计为通用解析注意力机制,理论上可拓展至 ASR、翻译等长序列生成任务。
与基线的深度对比
与 DeepSeek OCR 相比,Unlimited OCR 的核心改进不在单一质量指标碾压,而在于解决了实际部署中“长文档不可解析”的根本局限。基线依赖标准注意力,随着输出序列增长,KV cache 线性累积,导致显存耗尽或速度不可接受,因此只能逐页处理;Unlimited OCR 则通过 R-SWA 将注意力限制在滑动窗口内,并引入参考信息维持前后连贯,在保持压缩编码器高压缩比的同时,实现端到端的长距离解析。这种架构差异使得模型从“短文档专属”走向“长文档通用”,且代码开源,为后继研究提供高效可复现的基座。
行业影响
落地场景
Unlimited OCR 提出的 Reference Sliding Window Attention (R-SWA) 直接解除了长序列解码时的显存与速度瓶颈,让单个前向推理可处理数十页文档。这为 文档数字化平台、电子档案管理、合同批量审核 等产品提供了一种“整本识别”无需分页拼接的新范式。在 内容平台 中,可将整本书籍或报告一次性转为结构化文本,彻底消除分页拼接的错漏;在 金融合规 或 医疗记录 场景中,长病程记录、多页检验单可被总结为单个连贯输出,提升下游 RAG 或分析任务的上下文完整性。
商业价值
价值核心在于 降本 与 体验提升。传统方案因 KV 缓存随序列线性增长,长文档必须分页处理,消耗大量 GPU 显存且引入拼接误差。R-SWA 将 KV 缓存固定为常数,在 32K 上下文下可将单次推理的显存占用降低一个数量级,推理速度也不再衰减。这意味着:
- 硬件成本下降:相同的 GPU 资源可处理更长的序列,或降低对高端 GPU 的依赖;
- 用户体验质变:从“每页提交”变为“整文件上传一次性输出”,省去页面边界对齐、恢复断裂段落的后期人工校验,在合同审查、论文录入等场景可节省大量人力。
与现有产品/工作流的接口
R-SWA 是 解码器注意力层的直接替换,以 DeepSeek OCR 为 baseline 即可即插即用。集成路径清晰:
- 在现有 OCR 流水线中,将 LLM 解码器的标准注意力层替换为 R-SWA;
- 保留原有的 高压缩编码器(如 DeepEncoder),仅改变解码端的注意力计算与缓存策略;
- 训练或微调时可复用原有数据引擎,无需改动预处理、后处理逻辑。
此外,R-SWA 作为 通用解析注意力机制,同样适用于 ASR、翻译等长时序列转录任务。例如,在 媒体与字幕生成 场景中,可对整场讲座音频进行一次性 ASR 转录,输出连续文本供翻译模块消费,免去分段切音导致的上下文断裂。
具体落地用例
- 电商商品信息管理:批量录入数百页的供应商产品目录,一次性输出结构化字段(品名、规格、价格),替代人工逐页 OCR 和校验,部署成本降低 50% 以上。
- 企业知识库构建:将整本技术手册或法律文件直接输入 Unlimited OCR,生成连续 Markdown 文本后接入向量数据库与问答系统,减少因分段索引导致的语义割裂。
局限
- 论文宣称 Reference Sliding Window Attention 是通用的解析注意力机制,适用于 ASR、翻译等任务,但实验仅在 OCR 文档转录上验证,缺乏在其他模态或任务上的系统评估,其通用性有待进一步验证。
- R-SWA 将所有注意力限制在固定大小的滑动窗口内,虽然保证了恒定 KV cache,但可能削弱模型对远距离上下文的建模能力。对于需要跨页引用或全局语义理解的复杂 OCR 场景(如保留文档逻辑结构、纠正跨段错字),窗口注意力可能引入信息丢失。
- 模型的高效性高度依赖 DeepSeek OCR 的高压缩编码器,继承了该编码器对复杂版式(表格、数学公式、密集文本列等)的压缩保真度风险,论文未充分讨论编码器造成的精度上限,也未与其它轻量解码策略(如局部注意力、稀疏注意力)在同等压缩条件下进行公平比较。