百度 Unlimited OCR:把端到端文档解析推进「一次性长文档」时代,R-SWA 把 KV 缓存压成常数

# 百度 Unlimited OCR:把端到端文档解析推进「一次性长文档」时代,R-SWA 把 KV 缓存压成常数 **摘要**:端到端 OCR 一直被「KV 缓存随输出线性增长」卡在十页以内——每多生成一个字,显存和延迟就多一份。百度团队把视角拉回人抄书时的「工作记忆」,提出 Reference Sliding Window Attention(R-SWA),在 DeepSeek OCR 的基座上把 KV 缓存压成常数。一夜之间,模型能一次前向解析几十页 PDF,还顺手在 OmniDocBench v1.5 上把 DeepSeek OCR 又甩开 6 个百分点。 --- 6 月 22 日,百度在 GitHub、arXiv(2606.23050)、Hugging Face、ModelScope 同步开源 Unlimited OCR Works:3B 总参、500M 激活的 MoE 端到端模型,MIT 协议,发布次日登顶 GitHub Trending 与 Hugging Face 多模态趋势榜。底层仍是 DeepSeek OCR 的 DeepEncoder——16× token 压缩把一张 1024×1024 的 PDF 页压成 256 个视觉 token,多页推理的前缀负担就此稳住。 真正的手术在解码端。R-SWA 给「参考 token(视觉 + prompt)」和「最近 n 个输出 token(默认 128)」开了两条独立通道: - **参考段** L_m 长度只跟图像分辨率相关,编码一次后全解码过程静态不变,视觉特征不会被自己的输出「磨糊」; - **解码段**以固定容量队列形式滑出,老 token 的 KV 不断被弹出,**总缓存大小收敛到 L_m + n 这个常数**。 论文给出的对照非常直观:标准 MHA 的 cache 是 L_m + T(线性增长),R-SWA 是 L_m + min(n,T) ≤ L_m + n(常数),当 T 远大于 n 时,cache ratio 趋近 0。Flash Attention v3 的实测 kernel 延迟也变成了一条平直的线,而 DeepSeek OCR 每跨过 KV 对齐边界就会出现一次尖峰。 在 OmniDocBench v1.5 上,Unlimited OCR 拿到 93%,比 DeepSeek OCR 强 6 个百分点;公开评测 v1.6 综合分达 93.92%,刷新端到端 OCR 公开纪录。最大单次推理长度 32K,几十页 PDF 一次 forward pass 即可吐完。发布 6 天内 vLLM 官方补上 recipe(vllm/vllm-openai:unlimited-ocr 镜像)、SGLang 同步放出 streaming server、AK 在 Hugging Face Spaces 搭了 demo。 更大的信号藏在论文结尾:R-SWA 是一种「参考型解析注意力」,对参考 token 静态、对输出 token 滑动——这种结构天然契合 ASR(参考 token 是音频段)、长文档翻译、代码库级别的多文件重构等所有「长输出 + 固定参考」任务。它不只是一次 OCR 升级,而是一类新的 attention 范式:从硬扛超长 context window,转向把 attention 本身变得对长输出友好。