Unlimited-OCR:百度开源长文档OCR模型,单次推理批量解析数十页PDF文档

原创 发布日期:
63

一、Unlimited-OCR是什么

Unlimited-OCR是百度开源的端到端长文档OCR多模态模型,基于Deepseek-OCR迭代升级,主打单次前向传播一次性完成数十页长文档连贯解析,官方定位为「One-shot Long-horizon Parsing(单次长程文档解析)」时代标杆工具。

Unlimited-OCR全程基于NVIDIA GPU运行,原生支持Python 3.12+CUDA12.9环境,彻底解决传统OCR逐页切割、上下文断裂、长文档显存爆炸、推理速度持续衰减等痛点。

模型基础规格:总参数量3B,推理仅激活570M参数,上下文窗口上限32768 tokens,在OmniDocBench v1.6评测基准取得93.92%综合得分,刷新开源端到端OCR SOTA性能,长文档推理速度较Deepseek-OCR最高提升35%。

二、功能特色

1. 核心长文档解析能力

  • 单轮推理支持数十页PDF/多图文档统一识别,无需分页循环处理,保留跨页表格、段落、引用的完整语义连贯性;

  • 内置N-gram重复抑制算法,通过自定义Logit处理器消除长文本重复输出、断句错乱问题。

2. 双图像识别模式适配全场景

模式名称 适用场景 核心参数配置
gundam(裁剪模式) 单张图片、海报、单页票据、报纸复杂版面 base_size=1024,image_size=640,开启裁剪
base(全局模式) 多页图集、PDF批量文档、长篇书籍 image_size=1024,无裁剪,保证跨页视觉完整

3. 多格式文件原生支持

  • 单张图片(JPG/PNG等)独立解析;

  • 批量多图片文件夹并发处理;

  • PDF自动分页转高清图片(自定义DPI)批量OCR;

  • 批量推理脚本infer.py,支持自定义并发数、GPU设备、日志存储。

4. 两套成熟推理部署方案

  1. Transformers本地快速推理:轻量化调试,开箱即用,适合开发测试;

  2. SGLang高性能服务化部署:兼容OpenAI流式API接口,支持高并发、长文本流式输出,适配线上业务系统集成。

5. 工程化配套工具链

内置PDF转图工具、结果自动持久化存储、自定义输出目录、GPU卡号指定、服务日志记录等全套工具,无额外第三方复杂依赖。

Unlimited-OCR:百度开源长文档OCR模型,单次推理批量解析数十页PDF文档

三、技术细节

1. 核心创新:R-SWA参考滑动窗口注意力机制

传统OCR解码器采用标准多头注意力(MHA),KV Cache随输出Token线性膨胀,文档越长显存占用越高、推理速度持续下滑。Unlimited-OCR自研Reference Sliding Window Attention(R-SWA参考滑动窗口注意力),将KV Cache锁定为常量容量,实现长文档推理显存零增长:

  1. 参考段(Reference Tokens):包含全部视觉图像Token与提示词Prompt,全程全局可见,仅编码一次不参与状态滑动,避免长解码过程中图片视觉特征模糊退化;

  2. 解码滑动窗口:固定窗口长度(单图128、多页1024),仅保留近期输出文本Token,新Token生成时自动淘汰最老旧历史Token,缓存容量永久固定;

  3. 机制通用性:R-SWA不局限于OCR,可迁移至语音识别ASR、机器翻译等长序列任务。

2. 模型架构组成

  1. DeepEncoder视觉编码器:继承Deepseek-OCR高压缩视觉Token编码方案,大幅降低Prefill阶段显存开销,精准提取表格、公式、多栏图文等复杂版面特征;

  2. MoE混合专家解码器:3B总参数,推理仅激活570M参数,兼顾大模型文档理解能力与小模型推理速度;

  3. 自定义Logit处理器:内置35元重复Ngram抑制逻辑,通过窗口参数控制重复文本过滤强度。

3. 推理底层优化

  • 支持bfloat16半精度推理、safetensors权重加载,降低显存占用;

  • SGLang服务端集成FA3注意力后端、静态显存分片、32768超长上下文配置;

  • 批量推理支持并发调度,单任务可配置8并发处理批量文档。

四、应用场景

  1. 企业档案数字化:几十页合同、标书、档案PDF一次性解析,保留跨页条款、表格关联关系,无需人工拼接识别结果;

  2. 学术科研文献处理:长篇论文、学位论文、外文期刊批量提取文本、公式、图表说明,解决多栏排版识别错乱;

  3. 政务/金融票据批量归档:多页财报、报销单据、政务文件批量结构化提取;

  4. 出版书籍电子化:整本图书PDF一次性文字转录,保持章节、段落、插图文字顺序连贯;

  5. 开发者业务集成:对接企业后台、文档管理系统,通过OpenAI兼容API实现流式OCR服务;

  6. 个人办公资料整理:扫描件、截图、电子书PDF批量文字提取,用于笔记、检索、翻译。

五、使用方法

前置环境要求

Python 3.12.3、CUDA12.9、NVIDIA GPU,固定依赖版本:torch==2.10.0、transformers==4.57.1、pymupdf==1.27.2.2等。

方案1:Transformers本地单文件快速推理

  1. 加载预训练Tokenizer与模型(baidu/Unlimited-OCR),开启bfloat16精度、GPU推理;

  2. 单图调用model.infer(),指定gundam裁剪模式;

  3. 多图/PDF调用model.infer_multi(),使用base全局模式,内置pdf_to_images函数自动拆分PDF页面。

方案2:SGLang高性能服务部署

  1. uv创建虚拟环境,安装项目内置SGLang wheel包与内核依赖;

  2. 启动SGLang服务,开放0.0.0.0访问、10000端口,开启32768上下文;

  3. 封装Base64图片请求,调用流式OpenAI接口实时返回识别文本;

  4. 批量工具:执行infer.py,传入图片目录/PDF路径、并发数、图像模式一键批量处理。

Unlimited-OCR:百度开源长文档OCR模型,单次推理批量解析数十页PDF文档

六、竞品对比

对比维度 Unlimited-OCR(百度)Deepseek-OCR(深度求索)PaddleOCR-VL(百度飞桨)
核心定位 长文档一次性端到端解析,解决超长PDF显存瓶颈 通用端到端多模态OCR,长文档需逐页循环处理 轻量化两阶段OCR,侧重边缘/移动端轻量化识别
核心技术 R-SWA恒定KV缓存,单次推理数十页文档 标准MHA注意力,KV缓存线性增长 检测+识别两阶段流水线,无长序列优化
参数量 3B(激活570M) 3B 0.9B轻量模型
长文档能力 单次推理整本书,显存不随页数上升 多页需分页循环,页数越多速度越慢 长文档切割分片,跨页语义断裂
权威评测得分 OmniDocBench v1.6:93.92% OmniDocBench v1.5:91左右 OmniDocBench v1.5:92.6
部署方案 Transformers本地 + SGLang高并发API Transformers、vLLM Paddle推理、轻量化C++部署
适用场景 长篇PDF、书籍、批量档案、企业长文档服务 单页/少量多页专业文档、学术论文 移动端、票据、简单图文、低显存设备
短板 必须NVIDIA GPU,无轻量化边缘版本 超长文档推理显存开销大、速度衰减 复杂多页长文档语义连贯性差

七、常见问题解答(FAQ)

Q1:Unlimited-OCR是否支持CPU运行?

A:项目原生仅适配NVIDIA CUDA GPU,未提供CPU推理优化,CPU运行速度极慢且易显存溢出,不推荐使用。

Q2:gundam模式和base模式该如何选择?

A:单张图片、单页报纸、密集排版票据选择gundam裁剪模式;多页图集、整本PDF、跨页表格文档统一使用base全局模式。

Q3:运行时出现文本大量重复输出怎么解决?

A:模型内置Ngram重复抑制逻辑,可调整参数no_repeat_ngram_size=35、ngram_window,单图窗口设128,多页PDF窗口设1024,即可大幅消除重复文字。

Q4:PDF识别文字顺序错乱是什么原因?

A:一是未切换base全局模式使用了gundam裁剪;二是PDF转换图片DPI过低,建议调用pdf_to_images函数时设置dpi=300,保证版面特征完整。

Q5:SGLang服务启动后并发处理报错超时如何处理?

A:调低启动参数mem-fraction-static显存占用比例,或降低infer.py的--concurrency并发数值,同时延长接口请求timeout至1200秒。

Q6:模型权重需要手动下载吗?

A:无需手动下载,代码中AutoModel.from_pretrained会自动从Hugging Face拉取baidu/Unlimited-OCR权重,国内网络可切换ModelScope镜像加速下载。

Q7:该模型支持中英文以外的多语种识别吗?

A:项目基于Deepseek-OCR迭代,原生支持80+主流语种,但官方文档未针对小语种做专项优化,复杂多语种混合文档识别精度会下降。

八、相关链接

  1. GitHub开源仓库:https://github.com/baidu/Unlimited-OCR

  2. arXiv论文地址:https://arxiv.org/abs/2606.23050

  3. ModelScope魔搭模型地址:https://modelscope.cn/models/PaddlePaddle/Unlimited-OCR

  4. Hugging Face模型地址:https://huggingface.co/baidu/Unlimited-OCR

九、总结

Unlimited-OCR是百度面向长文档数字化场景推出的新一代开源端到端OCR模型,依托自研R-SWA参考滑动窗口注意力机制彻底解决传统多模态OCR处理长篇PDF、多页图集时显存持续膨胀、推理效率衰减、跨页语义割裂的行业痛点,以3B中等参数量实现93.92%的行业SOTA文档识别精度,同时提供本地快速调试与SGLang高并发API两套完整部署方案,原生适配企业档案、学术文献、批量书籍等超长文档处理需求,配套完善的PDF转图、批量推理、重复文本抑制等工程工具链,相比Deepseek-OCR、PaddleOCR-VL在长文档一次性连贯解析场景具备不可替代的技术优势,是面向专业长篇文档数字化、企业后端OCR服务集成的高性能开源解决方案。

打赏
THE END
作者头像
dotaai
正在和我的聊天机器人谈恋爱,它很会捧场。