☰
一口气啃完几百页 PDF,显存居然不涨?百度这个“环形缓冲区”有点东西
2026/11/3 2:44:57 网站建设 项目流程

一口气啃完几百页 PDF,显存居然不涨?百度这个“环形缓冲区”有点东西

【免费下载链接】Unlimited-OCR-2项目地址: https://ai.gitcode.com/hf_mirrors/baidu/Unlimited-OCR-2

如果你干过文档数字化的活儿,一定有过这种崩溃时刻:

一份三百页的扫描合同丢给 AI,前二十页还挺精神,到第五十页开始“喘粗气”,速度一页比一页慢,最后显存爆红、程序直接躺平。

更气人的是,它明明只是“抄字”,又不是在写小说。

最近百度开源的 Unlimited-OCR 2 就是冲着这个毛病来的。它的核心改造听起来很硬核——环形缓冲区、参考滑动窗口——但说白了,它是在教 AI 学人抄书。

一、先说说 AI 抄书为什么会“越抄越累”

现在主流的文档识别模型,本质是一个“看图写字”的大模型。它每写一个字,都要把之前看过的所有东西再翻一遍:这一页的图、上一页的图、刚才写的那段话,统统堆在它的“草稿纸”上。

这张草稿纸,行话叫KV 缓存。

问题就在这儿:草稿纸只增不减。你写第 1 页时它记 1 页,写第 40 页时它得扛着 40 页的家当。于是显存一路飙升,速度一路下滑。很多工具所谓的“支持多页”,其实是偷偷在后台一页一页地跑,每页跑完就清空记忆——上一页的表格断了、跨页的段落接不上,它根本不知道。

行业里管这叫“逐页失忆”。

二、它到底是个啥?一个会“擦草稿纸”的抄书匠

Unlimited-OCR 2 是个 30 亿参数的小模型,但干活时只唤醒其中 5 亿左右,属于“小身板大力气”的类型。它最大的不同,是把抄书这件事拆成了两半:

眼睛一直盯着原书,手只记最近几句话。

具体点说,模型把画面信息(每一页的图像)当成一份“永久参考”,从头到尾都摆在桌上,绝不清除;而它自己写出来的文字,只保留最近的一小段,比如 128 个字。

新字一写出来,最老的那个字就被“擦掉”,草稿纸的位置腾出来给新内容。

这个“写满一圈就回头覆盖最旧内容”的机制,就是标题里那个环形缓冲区。你可以想象成一个转盘式的记事本:笔一直在转,纸永远是那几张,写满了就从第一张重新覆盖。

草稿纸的张数是固定的,所以无论你抄 10 页还是 300 页,它占的地方都一样大。

这跟人抄书的过程几乎一模一样。你抄一本厚书时,也不会把前面抄过的每个字都背下来,你只是“眼睛看着原书、手上记着刚写的半句”,靠这个节奏一路推下去。

三、到底省在哪?账本从“越滚越大”变成“封顶”

用一句大白话总结这次改造:内存开销从“跟着页数涨”变成“一条水平线”。

第二代更进一步,它不再把全部画面信息一股脑塞进每一次计算,而是从中挑出一小撮最相关的“工作参考”,规模固定在几百个 token 的量级。

效果有多直观?

在官方公布的测试里,输出内容拉长到六千多字时,老一代方案的生成速度会明显掉下来,而它依然稳在高位,速度优势大约三成半;解码每一步的延迟基本是平的,不再出现“越到后面越卡”的曲线。

识别质量也没落下。在通用文档评测集上,它拿到 93.9 分左右,把不少参数量大它几十倍的视觉大模型甩在身后;四十页以上的长文档,内容完整度依然维持在 96% 以上。

官方还放了一段“整本书一次解析”的回放,一页页往下滚,中间没有断点、没有重启:

对普通人的意义是什么?以前一份两百页的标书,你可能得切成二十份喂给工具,再手动把标题层级、跨页表格一块块拼回来,光是校对就够呛。现在它可以一口气读完,输出的是带标题层级、带表格、带公式的 Markdown,粘进笔记软件就能直接用。

四、代价是什么?它会“忘事”,而且是故意忘的

天下没有白吃的午餐。草稿纸只留最近一小段,代价就是:它真的会忘。

比如第 3 页出现过一张表的表头,第 30 页又出现了续表。人翻回去看一眼就接上了,但模型的“手”里已经没有第 3 页的细节了,只能靠“眼睛”里那张原图去重新认。认得出就接得上,认不出就可能把续表当成一张新表。

再比如长文档里反复出现的简称、页码引用、章节编号,隔得越远,越容易对不上号。官方的测试也承认,页数拉长之后,识别误差会从千分之几慢慢爬到百分之一上下——不是崩,但确实在“缓慢失血”。

工程上还有一层现实约束:所谓的“无限”,其实建立在 32K 上下文这个天花板上。页数越多,画面信息本身占的位置越多,塞到一定程度还是会顶到上限。所以服务端才搞了“十页一窗”的调度——窗口和窗口之间,跨页合并的质量会打点折扣。

还有一批真实用户的吐槽值得听。早期版本里,不少人兴冲冲地把整本 PDF 塞进“多页模式”,结果十六个 G 的显卡跑到第十页就爆了;后来大家总结出的土办法是——老老实实写个循环,一页一页喂,每页跑完清一次缓存,反而最稳。

这也说明一件事:机制再聪明,落到具体机器和具体文档上,还是得调。

五、这套思路能搬到别的地方吗?能,而且想象空间不小

这个“永久参考 + 滑动输出”的结构,本质上不是为 OCR 量身定做的,它适用于所有“盯着一份固定资料、往外写一长串内容”的任务。

  • 语音转写:会议录音就是那份“永久参考”,转写出来的文字只需要保留最近一小段来维持语感。两小时会议记录,不再越到后面越慢。
  • 长篇翻译:原文摆在桌上不动,译文窗口滚动前进,一本书一次翻完,不必按章节切碎。
  • 字幕与有声书:视频画面或音频是参考,字幕是输出,天然契合。
  • 代码与日志分析:一份巨大的报错日志作为参考,只输出结论,不用把整份日志反复搬运。

它甚至给行业的“堆上下文长度”竞赛提供了另一条路:与其把窗口从 32K 一路堆到 1M,不如想清楚——哪些信息该永远留着,哪些信息可以放心丢掉。人的大脑就是这么干的。

六、普通人想试试,门槛高不高?

好消息是,这次的门槛比想象中低。

最新版本放出了在线体验入口,不懂命令行也能点开就试;国内云厂商也上了对应的接口服务,传图就能出结果。

想在本地跑,路子更多:社区已经把它量化压到几个 G 的体积,一张 8G 显存的消费级显卡就能带动;苹果 M 系列芯片也有专门的轻量版本,装完就能离线用,文件不出本机,对合同、病历这类敏感材料尤其友好。

部署方式也简单到有点朴素——装好环境,跑起来,把图片或 PDF 丢进去,等它吐 Markdown。真正需要动脑的只有两件事:别在提示词里加戏(让它总结、纠错、翻译,都会拖慢速度甚至撑爆显存),以及根据显存调页数。

适合谁?自媒体人整理参考资料、律师和行政处理合同标书、学生把教材扫描件变成可搜索笔记、研究者批量啃论文——都能用上。纯属好奇的数码爱好者,去在线 Demo 传两页图感受一下,也足够有意思。

写在最后

这次改造真正让人眼前一亮的,不是某个跑分数字,而是它换了个提问方式。

过去大家默认:想让 AI 处理更长的东西,就得给它更大的记忆。而它说:记忆可以很小,只要你知道什么该记、什么该忘。

这其实挺像我们自己的处境。信息永远读不完,文档永远堆成山,真正稀缺的从来不是“记住全部”,而是“抓住当下最该看的那一页”。

那么问题来了:如果 AI 注定会“忘记”前面几十页的内容,你能接受它在哪些场合忘?是整理一部小说无所谓,还是核对一份合同时一个字都不能丢?

评论区聊聊你的答案。

【免费下载链接】Unlimited-OCR-2项目地址: https://ai.gitcode.com/hf_mirrors/baidu/Unlimited-OCR-2

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询