abc小站

2026-10-28

几百页的文档,AI 终于不用越读越慢了?聊聊百度 Unlimited-OCR 2

百度开源约 3.3B 参数的 Unlimited-OCR 2,用 SR-SWA 让长文档解码每步的延迟和显存基本恒定;成绩为论文自报,“整套小说”之说模型卡里没有。

一份几百页的年报扔给 AI,它先累的是哪儿?

眼睛吗?

不是。

是记性。

说白了,现在的模型读长文档,有点像一个人边抄书,边回头翻前面的每一页。

抄得越多,回头翻得越久。

抄到后面,每写一个字,都要把前面所有的页再扫一遍。

你说它能不慢吗?

这就是长文档 OCR 一直绕不过去的那道坎。

10 月 27 日,百度在 Hugging Face 上放出了 Unlimited-OCR 2。

它想干的事,就是让 AI 抄书的时候,别老回头翻了。

1

先说它到底改了什么。

官方模型卡上,核心技术叫 SR-SWA。

全称 Sparse Reference Sliding Window Attention。

名字很长。

意思不复杂。

就是每一步解码的时候,文本对图像的注意力,只盯着一个固定大小的“工作参考集”。

模型卡举的例子是 512 个 token。

前面不管已经处理了多少页,这个参考集的大小都不变。

那会怎样?

官方的说法是,每一步解码的延迟和显存,基本恒定。

R-SWA 与 SR-SWA 的注意力对比示意
来源:百度 Unlimited-OCR 2 Hugging Face 模型卡示意图

再配上一个叫 Unlimited-Horizon Decoding 的解码方式,就是他们说的“无限长度”解析。

打个比方?

以前是边抄边翻整本书。

现在是只盯着正在抄的那一段,手边再放几张便签。

书再厚,桌面上摊开的东西也就这么多。

这个比方未必精确,但大意就是这样。

2

那效果呢?

论文自报的数字是这样的。

百页规模下,单步解码比 Full Attention 快 7.0 倍,比 R-SWA 快 5.6 倍。

注意这里说的是“单步解码”。

就是模型每往外生成一个 token,要花的那点时间。

它不等于整份文档从头到尾处理完的总时间。

这两个数,别混着用。

更别拿 7.0 倍去推算“我的文档能快多少”。

论文没这么说,我也不会这么算。

在 MPDocBench 上,论文自报总分 84.59,排第一。

看到这儿,你是不是觉得稳了?

别急。

MPDocBench 最长是 30 页。

也就是说,84.59 这个分数,讲的是 30 页以内的表现。

那百页级别呢?

百度同时发布了一个新的百页级基准,叫 MarathonDocBench:100 份文档,每份 103 到 300 页。论文里 Unlimited-OCR 2 在上面的成绩是 77.06。

自己出卷子,自己考试?

冒昧了,我不是说它作弊。

我是说,一把新尺子刚做出来,得等别人也拿去量一量,才知道这把尺子准不准。

所以,上面这些数字,目前都是百度论文和模型卡自报的。

我没有看到第三方的复现。

3

我们来算账。

做一件事,看四样东西:目标、成本、收益、风险。

目标很清楚。

合同、年报、档案、整本书,这些长文档,一次解析完,还要保住跨页的上下文。

为什么跨页上下文这么重要?

因为一张表,可能从这一页跨到下一页。

一个条款,可能在前面定义,在后面引用。

一页一页拆开识别,单页都对,拼起来可能就不对了。

模型卡上也有对应的设计。

用 Transformers 跑的话,有个 infer_multi,多页放在一次请求里,用的就是跨页上下文。

成本呢?

Hugging Face 页面按权重文件统计,约 3.3B 参数。

权重是 BF16 的 safetensors。

3B 级别是什么概念?

就是说,它不是那种动不动要堆一排显卡的巨型模型。

部署门槛,相对低。

收益呢?

如果延迟和显存真像官方说的那样基本恒定,那长文档就不用为了显存,被切成一小段一小段地喂。

注意,我说的是“如果”。

风险呢?

放到最后说。

4

那么问题来了。

谁最需要这个东西?

我冒昧猜一下。

不是普通用户。

普通用户拍一张发票,识别一下,单页 OCR 早就够用了。

真正头疼的,是那些天天和一摞一摞纸打交道的地方。

审合同的。

看年报的。

管档案的。

做尽调的。

这些人的痛点是什么?

不是“认不出字”。

是“认出来了,但前后对不上”。

前面定义的名词,到后面引用的时候,系统还记不记得?

表格的表头在上一页,数据在下一页,系统能不能拼回去?

以前的办法是什么?

切。

把长文档切成一段一段,分别识别,再让人或者另一个程序去拼。

切的地方,就是出错的地方。

所以,Unlimited-OCR 2 真正想卖的,说白了不是“快”。

是“不用切”。

当然,这是它的设计目标。

它在真实的合同和档案上做得怎么样,模型卡给不了答案,得用的人自己测。

5

先说几个用之前要注意的地方。

第一,需要 trust_remote_code。

说白了,就是要运行仓库里自带的自定义代码。

做风控的人,看到这个参数,第一反应应该是什么?

先看代码,再跑。

在公司内网用,最好先过一遍安全审查。

第二,怎么跑。

模型卡给了两条路。

一条是 Transformers,适合自己先试,多页文档用 infer_multi 一次送进去。

一条是 SGLang,官方推荐用来做服务化部署。注意,用的是仓库里给的定制版 SGLang wheel,不是官方原版。

区别在哪?

前者像在自己家厨房做饭,做给自己吃。

后者像开饭馆,要接很多桌客人。

如果你只是想看看效果,前者够了。

如果你打算把它接进公司的业务流程,那就走 SGLang。

模型卡上还给了 SGLang 下页窗口调度的环境变量。

模型卡的示例里,max_page_tokens(每页输出 token 上限)设的是 20000。

第三,许可。

Hugging Face 模型卡上标的是 MIT。

MIT 很宽松,对商用友好。

但我的建议是,商用之前,还是让法务把仓库里的许可和那个定制 wheel 一起过一遍。

标签是标签,合规是合规。

第四,想先试试的,ModelScope、百度智能云、HF Space 的 demo,都能用。

6

最后说风险。

也就是泼冷水。

这几天 X 上流传着一些说法,说它能一口气处理整套好几部的长篇小说。

听着很燃,对吧?

官方模型卡上,确实放了一段演示回放,标的是“单次请求解析一整本书”。

但注意两点。

一是,那是一本,不是一整套。“整套”的说法,模型卡里没有。

二是,那是官方挑出来的演示,不是评测成绩。

网传的东西,不能当成能力。

演示也不能。

还有准确率。

网上流传着这个系列的一些准确率数字。

aiholics 自己在报道里提醒,这些数字要谨慎看待。

所以,我在这里一个都不引。

为什么这么较真?

因为 OCR 这件事,错一个字,可能就是错一个金额。

合同里的一个数字认错了,后果谁来扛?

模型吗?

不会的。

是签字的那个人。

所以,你要分清楚两件事。

“能读多长”是一回事。

“每一页都对”是另一回事。

前者解决的是读不读得完。

后者解决的是信不信得过。

一个长文档 OCR 工具,最后拼的不是能读多长,而是读到最后一页,还准不准。

这个问题,只有拿你自己手里的真实文档去测,才有答案。

7

顺便交代一下背景。

初代 Unlimited-OCR 是 2026 年 6 月 22 日发布的。

当时的定位,是“把 DeepSeek-OCR 再往前推一步”。

这一次,是第二代。

那这事跟普通人有什么关系?

你想想,多少扫描件、档案、老合同,还压在柜子里,搜不到,也查不着?

如果长文档解析真的变便宜了,它们就有机会变成能搜索的文字。

至于能不能真的做到,还得看大家实测。

一个模型,敢把名字叫“无限”。

只能说,我爱这个魔幻的世界。

来源:Hugging Face 模型卡(MIT);技术论文;MarathonDocBench。参数量与许可据 Hugging Face 页面;7.0×/5.6× 为单步解码加速,84.59、77.06 等分数均为论文自报,未见第三方复现;模型卡中的“单次请求解析一整本书”是官方演示回放,不是评测;网传准确率数字不予引用。