
文章摘要
Unlimited-OCR 是百度对 DeepSeek-OCR 的进一步进化。通过将解码器的全部注意力层替换为 R-SWA(Reference Sliding Window Attention),它在整个解码过程中保持 KV 缓存恒定,从而在标准 32K 词元长度内一次前向即可解析数十页文档。
Unlimited-OCR 指南 2026:百度出品、一次解析数十页的下一代 OCR
2026 年 6 月,百度(Baidu)发布了新 OCR 模型Unlimited-OCR。它在 HuggingFace 上的下载量已突破310 万次,成为 OCR 领域最受关注的开源模型之一。
先给结论:Unlimited-OCR 是百度对 DeepSeek-OCR 的进一步进化。通过将解码器的全部注意力层替换为 R-SWA(Reference Sliding Window Attention),它在整个解码过程中保持 KV 缓存恒定,从而在标准 32K 词元长度内一次前向即可解析数十页文档。
传统 OCR 的问题是「输出越长,KV 缓存越多、速度越慢」。Unlimited-OCR 从架构层面解决了这个限制。
本文将从 Unlimited-OCR 概览、R-SWA 原理、与 DeepSeek-OCR 的区别、安装与用法进行全面解析。
Unlimited-OCR 是什么
Unlimited-OCR 是百度于 2026 年 6 月 22 日发布的开源 OCR(光学字符识别)模型。
| 项目 | 内容 |
|---|---|
| 开发方 | 百度(Baidu) |
| 许可证 | MIT(可商用) |
| 模型规模 | 约 3B 级(safetensors 约 6.7GB) |
| 架构 | DeepSeek-V2 系 MoE + R-SWA |
| 上下文 | 最大 32,768 词元(32K) |
| 支持 | 文本、图像、多页 PDF |
| 下载量 | 310 万+(HF,2026 年 9 月) |
| 发布日期 | 2026 年 6 月 22 日 |
口号是「Welcome the Era of One-shot Long-horizon Parsing」(一次性长文档解析时代),目标是一次前向解析数十页文档。
传统 OCR 的问题:输出越长越慢
传统端到端 OCR(如 DeepSeek-OCR)用LLM 作为解码器,借助语言先验提升识别准确率。
但这种设计有明显缺陷:
- 输出序列越长,KV 缓存不断累积,内存消耗激增
- 生成越来越慢(解码速度下降)
- 数十页文档需要分块处理,破坏上下文一致性
这与人类「长时间抄写任务不衰减」形成鲜明对比。
R-SWA:恒定 KV 缓存实现「无限」解析
Unlimited-OCR 的核心是R-SWA(Reference Sliding Window Attention)——一种新的注意力机制。
R-SWA 的原理
- 以参考词元(Reference Token)为基准,用滑动窗口固定注意力范围
- 解码全程KV 缓存恒定 → 内存与延迟不增长
- 注意力计算成本也大幅降低
结合 DeepSeek-OCR 的高压缩编码器,在标准 32K 长度内一次转写数十页文档成为可能。
不止于 OCR
R-SWA 并非 OCR 专用。论文将其描述为通用解析注意力机制,同样适用于ASR(语音识别)、翻译等任务——这项技术有望应用于更多长文档处理场景。
与 DeepSeek-OCR 的区别
Unlimited-OCR 以 DeepSeek-OCR 为基线,但解码器的注意力机制完全不同。
| 对比 | DeepSeek-OCR | Unlimited-OCR |
|---|---|---|
| 解码器注意力 | 标准注意力 | R-SWA(滑动窗口) |
| KV 缓存 | 随输出增长 | 恒定 |
| 长文档处理 | 需要分块 | 一次解析数十页 |
| 解码速度 | 越长越慢 | 保持恒定 |
| 内存消耗 | 随输出增长 | 恒定 |
继承 DeepSeek-OCR 的高压缩编码器,同时用 R-SWA 替换解码器,实现「长文档不衰减」的处理能力。
安装方法
Unlimited-OCR 可通过 HuggingFace transformers 使用。测试环境为Python 3.12 + CUDA 12.9。
依赖库
pip install torch==2.10.0 torchvision==0.25.0 \
transformers==4.57.1 Pillow==12.1.1 matplotlib==3.10.8 \
einops==0.8.2 addict==2.4.0 easydict==1.13 \
pymupdf==1.27.2.2 psutil==7.2.2
加载模型
import torch
from transformers import AutoModel, AutoTokenizer
model_name = 'baidu/Unlimited-OCR'
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModel.from_pretrained(
model_name,
trust_remote_code=True,
use_safetensors=True,
torch_dtype=torch.bfloat16,
)
model = model.eval().cuda()
用法
1. 单图解析
两种配置:gundam(base_size=1024、image_size=640、crop_mode=True,适合细字)和base(1024/1024,无裁剪)。
model.infer(
tokenizer,
prompt='<image>document parsing.',
image_file='your_image.jpg',
output_path='your/output/dir',
base_size=1024, image_size=640, crop_mode=True,
max_length=32768,
no_repeat_ngram_size=35, ngram_window=128,
save_results=True,
)
2. 多页 / PDF(真正的主场)
将 PDF 页转为图片后,用 infer_multi 批量解析。
import tempfile, fitz # PyMuPDF
def pdf_to_images(pdf_path, dpi=300):
doc = fitz.open(pdf_path)
tmp_dir = tempfile.mkdtemp(prefix='pdf_ocr_')
mat = fitz.Matrix(dpi / 72, dpi / 72)
paths = []
for i, page in enumerate(doc):
out = os.path.join(tmp_dir, f'page_{i+1:04d}.png')
page.get_pixmap(matrix=mat).save(out)
paths.append(out)
doc.close()
return paths
model.infer_multi(
tokenizer,
prompt='<image>Multi page parsing.',
image_files=pdf_to_images('your_doc.pdf', dpi=300),
output_path='your/output/dir',
image_size=1024,
max_length=32768,
no_repeat_ngram_size=35, ngram_window=1024,
save_results=True,
)
3. vLLM 部署(高速推理)
官方支持,提供Docker 镜像:
# 默认(CUDA 13.0)
docker pull vllm/vllm-openai:unlimited-ocr
# Hopper GPU(CUDA 12.9)
docker pull vllm/vllm-openai:unlimited-ocr-cu129
配方:https://recipes.vllm.ai/baidu/Unlimited-OCR
运行环境要求
- NVIDIA GPU(推荐 RTX 4090+、16GB+ VRAM)
- Python 3.12 + CUDA 12.9
- 模型约 6.7GB(BF16)
VRAM 不足时,可考虑 vLLM 部署或量化。
总结
Unlimited-OCR 是百度打造的「长文档也不衰减」的下一代 OCR。
- ✅ R-SWA保持 KV 缓存恒定,解码速度不降
- ✅ 32K 长度内一次解析数十页(无需分块)
- ✅ 继承 DeepSeek-OCR 的高压缩编码器
- ✅ 通用注意力机制(也适用于 ASR、翻译)
- ✅ MIT 许可可商用,下载超 310 万
- ✅ 支持 transformers、vLLM、SGLang、百度智能云
想把数十页论文或合同一次性转成文本? Unlimited-OCR 是 2026 年最强的选择之一。即使是 DeepSeek-OCR 用户,也能在长文档处理速度上感受到明显差异。
相关文章

2026年6月26日
【2026】MinerU 完全解读!把 PDF・Word・Excel 转换为 Markdown 的最强 OSS 工具

2026年9月2日
abliterated-model-large-v2 指南 2026:基于 GLM-5.3 的拒绝向量移除模型

2026年7月28日
Kimi K3 完全指南:2.8T 全球最大开源模型,与 0.18B 超小型版(普通电脑也能跑)的全貌【2026年版】

2026年9月2日
Lucida 指南 2026:把真实场景重建为可编辑 3D 资产(ByteDance Seed)

2026年8月14日
【2026】dots3-note Preview 完全解析!RedNote 的 280B MoE 模型为何能与 DeepSeek V4 Flash 正面交锋

2026年9月1日
TimesFM-3 指南 2026:Google 的多变量时序预测基础模型