2026年6月25日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


我要投稿

百度开源 Unlimited OCR:让长文档解析一次完成

发布日期:2026-06-23 20:37:35 浏览次数: 1531
作者:魔搭ModelScope社区

微信搜一搜,关注“魔搭ModelScope社区”

推荐语

百度开源Unlimited OCR,实现长文档一次解析,显著提升处理速度与效率。

核心内容:
1. Unlimited OCR的核心技术:R-SWA机制实现长程解析
2. 模型性能优势:解析速度大幅提升,尤其在长文档场景
3. 开源与实测效果:代码权重已开源,基准测试表现优异

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

百度开源了 Unlimited OCR,一个基于 DeepSeek OCR 改进的端到端文档解析模型,总参数 3B、激活参数仅 570M。该模型提出 Reference Sliding Window Attention(R-SWA)机制,将解码阶段的 KV Cache 固定为常数,使单次前向传播即可连续解析数十页文档。在 OmniDocBench v1.6 基准上达到 93.92% 综合指标,位列端到端模型第一;推理速度较 DeepSeek OCR 提升 12.7%,输出长度达 6000 tokens 时速度优势扩大至 35%。


欢迎体验 Unlimited OCR,代码和权重已开源:

  • GitHub:github.com/baidu/Unlimited-OCR

  • ModelScope:https://modelscope.cn/models/PaddlePaddle/Unlimited-OCR

  • 论文地址:https://modelscope.cn/papers/2606.23050


01


效果展示

Unlimited OCR 的核心能力是长程解析(Long-horizon Parsing):输入数十页 PDF 文档图像,一次前向传播从第一页连续解析到最后一页,输出全文 Markdown 格式结构化内容,KV Cache 始终保持恒定,输出延迟不随页数增长。


推理速度

速度是 Unlimited OCR 的一个核心优势。在短输出场景下,R-SWA 与标准注意力的吞吐量基本一致;随着输出变长,标准注意力受到历史 KV 缓存增长影响,吞吐量逐渐下降,而 R-SWA 保持相对稳定。

输出长度

DeepSeek OCR

Unlimited OCR

速度差距

256 tokens

7229 TPS

7230 TPS

持平

1024 tokens

7423 TPS

7841 TPS

+5.6%

2048 tokens

7167 TPS

7881 TPS

+10.0%

4096 tokens

6430 TPS

7905 TPS

+22.9%

6144 tokens

5823 TPS

7848 TPS

+34.8%

在 OmniDocBench 的真实文档评测中,Unlimited OCR 的吞吐量为 5580 TPS,DeepSeek OCR 为 4951 TPS,速度提升约 12.7%。在 6000 tokens 左右的长输出场景下,速度提升可达到约 35%



基准结果

在速度提升之外,Unlimited OCR 也保持了较强的解析质量。在 OmniDocBench v1.6 上,Unlimited OCR 取得了 93.92% 的综合得分。

模型

参数量

综合得分

HunyuanOCR

1B

89.95%

DeepSeek-OCR 2

3B-A0.5B

90.25%

FireRed-OCR

2B

93.26%

Logics-Parsing-v2

4B

93.33%

Qianfan-OCR

4B

93.90%

Unlimited OCR

3B-A0.5B

93.92%

相比 DeepSeek OCR 基线,Unlimited OCR 综合得分提升 +6.22%,文本编辑距离下降 0.035,表格结构还原准确率提升接近 6%



长文档解析

长文档是 Unlimited OCR 最重要的应用场景。在内部多页文档测试集上,Unlimited OCR 支持多页文档一次性解析,结果如下:

页数

编辑距离 ↓

Distinct-35 ↑

2 页

0.036

99.87%

5 页

0.045

99.98%

10 页

0.053

99.83%

20 页

0.057

99.89%

40+ 页

0.107

96.90%

在 40 页以上的输入中,模型仍能保持较低编辑距离,并维持较高的 Distinct-35 指标,说明重复生成问题得到了较好控制。


02


技术解析

端到端 OCR 模型近几年进展很快。以 DeepSeek OCR 为代表的方案通常使用大语言模型作为解码器,借助语言先验提升识别和结构还原质量。


不过在长文档场景下,这类模型会遇到一个实际问题:输出越长,解码器的 KV 缓存越大,推理速度和显存占用都会受到影响。因此,很多系统在工程上会选择逐页处理文档,再把结果拼接起来。


Unlimited OCR 希望把这件事做得更直接:让模型在一次前向过程中完成多页甚至整本书级别的解析,同时保持稳定的推理成本。对长文档、扫描书籍、报告和论文等场景来说,这意味着更少的工程拼接,也更接近连续阅读式的文档理解。


整体架构

Unlimited OCR 沿用 DeepSeek OCR 的编码器-解码器架构:DeepEncoder 负责图像压缩编码,MoE-LLM 解码器负责自回归生成 Markdown 文本。关键改动是将解码器中所有标准 Multi-Head Attention 替换为 R-SWA。


主要配置如下:

  • 编码器:沿用 DeepEncoder,视觉 Token 压缩率为 16×,一张 1024×1024 的 PDF 页面约用 256 个 Token 表示

  • 解码器:3B 参数 MoE 架构,推理时激活约 500M 参数

  • 上下文长度:32K,可支持多页文档一次性解析


关键创新:Reference Sliding Window Attention

Unlimited OCR 提出了一种参考滑动窗口注意力机制:Reference Sliding Window Attention,简称 R-SWA。


R-SWA 的思路是把输入图像 Token 和已生成文本 Token 分开处理:

信息类型

注意力策略

图像 Token

始终完整可见

输出 Token

只保留最近 

个 Token,默认窗口为 128

历史输出

不再持续累积 KV 缓存

对于 OCR 任务来说,图像内容是固定参考,生成文本只需要保留局部上下文。基于这个特点,R-SWA 在保证模型能持续查看原始图像的同时,将文本侧 KV 缓存限制在固定窗口内。


标准 MHA 的 KV 缓存大小会随输出长度 T 线性增长:

R-SWA 则将缓存大小限制为:


因此,当输出长度增加时,R-SWA 的文本侧缓存不会继续增长,长文档推理的速度和显存占用更稳定。这也是 Unlimited OCR 能够面向长输出场景持续扩展的关键。


03


本地部署教程

环境要求

  • Python 3.12+

  • CUDA 12.9


方式一:Transformers 直接推理

1. 安装依赖

pip install torch==2.10.0 torchvision==0.25.0pip install transformers==4.57.1pip install Pillow==12.1.1 matplotlib==3.10.8 einops==0.8.2pip install addict==2.4.0 easydict==1.13 pymupdf==1.27.2.2 psutil==7.2.2

2. 下载模型

从 ModelScope 下载:


# pip install modelscope# modelscope download --model PaddlePaddle/Unlimited-OCR --local_dir ./Unlimited-OCR

3. 单图推理
from transformers import AutoModel, AutoTokenizermodel_path = "./Unlimited-OCR"tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)model = AutoModel.from_pretrained(    model_path,    trust_remote_code=True,    use_safetensors=True).eval().cuda()model.infer(    tokenizer,    prompt='document parsing.',    image_file='your_image.jpg',    output_path='./output',    base_size=1024,    image_size=640,    crop_mode=True,        # gundam 模式,适合单页高精度    max_length=32768,    no_repeat_ngram_size=35,    ngram_window=128,    save_results=True,)

4. 多页/PDF 推理
# 多页图片推理model.infer_multi(    tokenizer,    prompt='Multi page parsing.',    image_files=['page1.png''page2.png''page3.png'],    output_path='./output',    image_size=1024,       # base 模式,多页固定 1024    max_length=32768,    no_repeat_ngram_size=35,    ngram_window=1024,     # 多页场景窗口设为 1024    save_results=True,)
PDF 文件通过 PyMuPDF 以 300 DPI 渲染为 PNG 后传入 infer_multi

方式二:SGLang 高并发部署

SGLang 部署适合生产环境,支持 OpenAI 兼容 API 和并发推理。

1. 环境搭建

uv venv --python 3.12source .venv/bin/activate# 安装 SGLang(使用仓库提供的 wheel)uv pip install wheel/sglang-0.0.0.dev11416+g92e8bb79e-py3-none-any.whluv pip install kernels==0.11.7uv pip install pymupdf==1.27.2.2

2. 启动推理服务
python -m sglang.launch_server \    --model PaddlePaddle/Unlimited-OCR \    --served-model-name Unlimited-OCR \    --attention-backend fa3 \    --page-size 1 \    --mem-fraction-static 0.8 \    --context-length 32768 \    --enable-custom-logit-processor \    --disable-overlap-schedule \    --skip-server-warmup \    --host 0.0.0.0 --port 10000

关键参数说明:
  • --attention-backend fa3:使用 FlashAttention 3 后端

  • --mem-fraction-static 0.8:GPU 显存中 80% 用于静态分配

  • --context-length 32768:最大上下文长度 32K

  • --enable-custom-logit-processor:启用 no-repeat-ngram 逻辑处理器


3. 批量推理

仓库提供了 infer.py 脚本,自动启动 SGLang 服务并并发处理目录或 PDF:

python infer.py \    --image_dir ./examples/images \    --output_dir ./outputs \    --concurrency 8 \    --image_mode gundam

参数说明:
  • --image_dir:输入图片目录

  • --output_dir:输出 Markdown 文件目录

  • --concurrency:并发请求数

  • --image_mode:gundam(高精度模式)或 base(基础模式



点击阅读原文,即可跳转模型:





👇点击关注ModelScope公众号获取
更多技术信息~




53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询