大模型处理长文本,有一个绕不开的痛,注意力计算量随序列长度二次方增长。100个token是一万次计算,1000个token就变成一百万次。token翻10倍,算力翻100倍。
这件事困扰了整个行业很久。各种方案都在试,稀疏注意力、滑动窗口、RAG检索,各有各的取舍。
然后DeepSeek给了一个特别反直觉的答案。
不把文本变短,把文本变回图片。
你没看错。一张包含文档文字的图片,用少量视觉token就能承载大量文本token的信息。1000个文字token,用100个视觉token就能以接近97%的匹配率还原回来。这就是DeepSeek-OCR论文的核心想法,他们管它叫「上下文光学压缩」。

论文链接:https://arxiv.org/abs/2510.18234 项目链接:https://github.com/deepseek-ai/DeepSeek-OCR
坦率的讲,我第一次读到这个想法的时候愣了一下。大家一直在研究怎么把图片里的文字提取出来,也就是OCR。DeepSeek反过来了,它在问,如果把文字压回图片,能省多少token?
这个问题为什么重要?因为「一图胜千言」这句老话,从来没有人定量验证过。一张图到底能替代多少个文字token?压缩到什么程度信息就开始丢?丢到什么程度就不可用了?
DeepSeek-OCR用一组干净的实验,第一次给出了量化答案。
先说清楚,这压缩不是zip
在讲实验之前,得先把概念理清楚,因为这个「压缩」和我们日常说的压缩完全不是一回事。
zip压缩是bit级的无损压缩,解压后和原文件一模一样。光学压缩是语义级的有损压缩,把文字渲染成图片,再用视觉token去编码这张图片。丢掉的是精确的字符级信息,保留的是视觉结构信息。
压缩比的定义也很直接,文本token数除以视觉token数。10倍压缩就是1000个文字token用100个视觉token来表示。这个数字越大事越难,因为信息被挤得越狠。
还有个关键点,这套方案不引入任何额外的基础设施成本。多模态系统本来就需要视觉编码器,光学压缩是搭便车复用既有组件,不用额外加东西。
DeepEncoder,让高分辨率不再烧显存
要做光学压缩,需要一个能同时满足三个条件的视觉编码器,能处理高分辨率、激活内存低、视觉token少。现有开源编码器没有一个能全做到。
论文在 Figure 2 里梳理了三类主流编码器的缺陷。Vary那种双塔架构,两套预处理太复杂,流水线并行做不了。InternVL那种切片方案,原生分辨率太低,大图被切得碎碎的,token多得吓人。Qwen2-VL那种自适应分辨率,NaViT范式处理大图时激活内存能直接把GPU撑爆。

所以DeepSeek自己造了一个,叫DeepEncoder。Figure 3 展示了它的整体架构。

这个设计的聪明之处在于串联分工。第一段是SAM-base,80M参数,用窗口注意力处理高分辨率图像。窗口注意力就是每个人只看自己周围一圈,计算便宜,扛得住4096个token。第二段是一个16倍卷积压缩器,两层卷积每层stride为2,token数从4096直接砍到256。第三段才是CLIP-large,300M参数,用全局注意力处理压缩后的256个token。
你想想看,全局注意力是所有人一起开会,贵但能看到全局关系。如果在4096个token上做全局注意力,激活内存直接爆炸。但压缩到256个之后再做,成本就完全可控了。
先用便宜的局部处理扛住高分辨率,再在进入贵的全局处理之前把token量砍下来。这个设计原则其实不限于视觉编码器,很多系统设计都可以借鉴。
DeepEncoder总共才380M参数,搭配的解码器是DeepSeek自家的3B MoE模型,每次推理只激活570M参数。用500M小模型的推理成本,拿到3B模型的表达能力。这也很适合做OCR这种领域专用任务。
10倍压缩,97%还原
现在到了最核心的实验。论文用Fox基准测试压缩能力,选了英文文档中600到1300个token的样本,总共100页。测试两种模式,Tiny模式64个视觉token,Small模式100个视觉token。结果在 Table 2 里。

先看100个视觉token那一列。600到700个文字token,压缩比6.7倍,匹配率98.5%。900到1000个文字token,压缩比9.7倍,匹配率96.8%。到1200到1300个文字token,压缩比12.6倍,匹配率还有87.1%。
再看64个视觉token那一列。600到700个文字token,压缩比10.5倍,匹配率96.5%。到1200到1300个文字token,压缩比已经19.7倍,匹配率掉到59.1%。
这里需要说明一点,论文里把这个指标叫Precision,但全文没有给出具体计算公式。从上下文看,它应该是token级别的匹配率,也就是输出文本中与标准答案匹配的token占比,不是信息检索意义上的精确率。而且论文自己提到,因为输出格式和标准答案的格式没法完全对齐,实际性能可能比测试结果还要高一些。
把数据拉一条线来看,结论很清晰。10倍压缩以内,匹配率大约97%。10到12倍,大约90%。20倍压缩,大约60%。 Figure 1 直观地画出了这条衰减曲线。

这个10倍不是随便拍的数字。它对应的是大多数文档类型的文本量。论文后面用OmniDocBench做实战测试时也验证了,slides、书籍、报告这些文档类型,文本token大多在1000以内,压缩比不超过10倍,所以用很少的token就能搞定。
实战表现,用更少token打到SOTA级
光学压缩不只是实验室里好看,实战也能打。论文用OmniDocBench做全面测试,这个基准覆盖了书籍、幻灯片、财报、试卷、论文、杂志、报纸等十种文档类型。指标是编辑距离,越小越好,0是完美还原,1是完全错误。Table 3 列出了全部对比结果。

几个关键数据。Small模式只用100个视觉token,英文overall编辑距离0.221,已经超过了用256个token的GOT-OCR2.0的0.287。Large模式用400个token(有效285个),编辑距离0.138,和当时的顶尖模型基本持平。Gundam模式用不到800个token,编辑距离0.127,略优于需要近7000个token的MinerU2.0的0.133。
这里得诚实地说几个细节。Gundam-M模式带200dpi预处理后英文overall编辑距离0.123,在 Table 3 所有模型里是最低的,包括Gemini2.5-Pro的0.148和dots.ocr 200dpi版的0.125。不过在一些子项上,比如英文text和table,dots.ocr的200dpi版本确实更优。而且MinerU2.0是pipeline模型,DeepSeek-OCR是端到端模型,跨类别比较本身有局限。另外Gundam-M和dots.ocr的200dpi版本都依赖fitz插值预处理,这一步对性能影响不小,论文没有做消融对照。
不过核心信息是清楚的。DeepSeek-OCR用十分之一甚至更少的token量,达到了同等甚至更好的文档解析效果。token少意味着推理快、成本低,这对实际部署的意义很大。
报纸为什么会翻车
论文里有一个很有意思的失败案例,恰好印证了10倍压缩边界。Table 4 按文档类型拆分了编辑距离。

看报纸那一列。Tiny模式只有64个token,报纸的编辑距离高达0.94,基本等于完全失败。Small模式100个token,0.744,还是很差。一直到Gundam模式用795个token,编辑距离才降到0.122。Gundam-M模式1853个token,降到0.099。
原因论文解释得很直接,报纸的文本token通常在4000到5000个。Tiny模式64个视觉token对4000个文字token,压缩比高达62到78倍,远超10倍边界。这不是模型不行,是信息论层面的硬约束。你不能把4000个字的信息塞进64个token里还不丢东西。
反过来,slides在Tiny模式下编辑距离就0.116,因为slides的文字量本来就少,64个token的压缩比还在合理范围内。
这个失败案例的价值在于,它让10倍边界不再只是一个平均数字,而是变成了一个和文档类型强相关的实用判断框架。你的文档大概多少字,该用多少token,查一下表就心里有数了。
不只是OCR,还能深度解析
DeepSeek-OCR还有一个叫「深度解析」的能力。简单说就是先用一遍OCR把文档转成markdown,再对文档里的图表、公式、几何图形、自然图像做二次解析。Figure 7 展示了金融研报中图表的结构化提取。

柱状图折线图能转成HTML表格格式。化学论文里的分子结构图,能转成SMILES格式,Figure 9 给了一个例子。平面几何图形,能用Slow Perception的方式逐段解析线段端点和类型。文档里的自然图像,还能输出密集描述。

多语言方面,训练数据覆盖了近100种语言。Figure 11 展示了阿拉伯语和僧伽罗语的识别效果,少数民族语言文档同样支持带排版和不带排版两种输出。

论文还保留了一定的通用视觉理解能力,包括图像描述、目标检测和定位。不过因为没有SFT阶段,模型不是聊天机器人,有些能力需要补全式提示才能激活。
失败也能变成特征
20倍压缩只剩60%匹配率,这件事放在传统视角下就是失败。但论文把它重新诠释成了一种仿生机制,人类记忆的遗忘曲线。Figure 13 把三个维度并列在一起做了类比。

时间维度,刚发生的事清清楚楚,一年前的事模糊到快消失。空间距离维度,10厘米处的东西清晰,20米外的东西看不清。分辨率维度,Gundam模式高保真,Tiny模式模糊到几乎丢失。
这三个维度的衰减形态高度相似。
所以论文提出了一个设想,多轮对话超过k轮之后,把历史对话渲染成图片做初级压缩。最近的对话用高分辨率保留高保真,越老的对话越降分辨率,token递减,文字越来越模糊。近期高保真,远期自然消退,这就是生物遗忘曲线的形态。
这个想法我觉得特别优雅。它不是在对抗信息丢失,而是把信息丢失本身变成了一种功能。而且关键在于,这套方案不用额外加任何东西,多模态系统本来就有视觉编码器。
当然,论文也很诚实地说了,这只是初步探索。OCR重建不等于LLM在压缩表示上做推理,从「OCR能10倍压缩还原」到「LLM能用压缩后的视觉token做长上下文推理」之间还有很大的跳跃。论文自己承认,未来需要做数字-光学文本交错预训练和大海捞针测试才能真正验证。
最后说一个实用的信息。DeepSeek-OCR不是玩具,它在生产环境里跑着呢。
单张A100-40G一天能处理20万页文档。20个节点,每个节点8张A100,一天能产出3300万页训练数据。这些数据可以反向喂给LLM和VLM做预训练,形成一个「OCR造数据,训练更强LLM」的飞轮。
代码和模型权重都已经开源,在GitHub上可以直接用。
感谢阅读。点个关注,不迷路,我们后续会持续跟进AI agent领域的前沿技术动态,第一时间为你解读。
网硕互联帮助中心





评论前必须登录!
注册