DeepSeek-OCR:Contexts Optical Compression
一、简介
DeepSeek-OCR探索了一个全新的研究方向:通过光学(视觉)方式压缩文本上下文。简单来说,就是将大量文字转换成图像,然后用少量的”视觉token”来表示,从而大幅减少模型需要处理的token数量。
1.1 研究动机
当前大语言模型(LLM)在处理长文本时面临严重的计算挑战,因为计算复杂度随序列长度呈平方级增长。研究团队提出了一个巧妙的想法:一张包含文档文字的图像可以用远少于等效数字文本的token数量来表示丰富信息。这就像”一图胜千言”的道理——通过视觉模态压缩文本信息,可能实现更高的压缩比。
1.2 相关工作
典型VLM视觉编码器的问题

当前开源VLM主要使用三类视觉编码器,都存在各自的缺陷:
- 双塔架构(如Vary):需要双重图像预处理,部署复杂,训练时难以进行编码器管道并行
- 基于瓦片的方法(如InternVL2.0):通过将图像分成小瓦片并行计算来减少激活内存。但原生编码器分辨率较低(通常低于512×512),导致大图像被过度分割,产生大量视觉token
- 自适应分辨率编码(如Qwen2-VL):采用NaViT范式直接处理完整图像。虽然能灵活处理不同分辨率,但在处理大图像时激活内存消耗巨大,可能导致GPU内存溢出,推理时长视觉token会显著降低prefill和生成阶段的速度
端到端OCR模型进展
随着VLM的发展,出现了大量端到端OCR模型:
- Nougat:首次在arXiv学术论文上采用端到端框架
- GOT-OCR2.0:将OCR2.0范围扩展到更多合成图像解析任务
- 通用视觉模型(Qwen-VL系列、InternVL系列等):持续增强文档OCR能力
但一个关键问题未被解决:对于包含1000个词的文档,解码至少需要多少视觉token?这对”一图胜千言”的原理研究具有重要意义。
1.3 核心贡献
论文做出了三个主要贡献:
- 压缩比量化分析:在Fox基准测试上,模型在9-10倍文本压缩率下可达到96%+的OCR解码精度,10-12倍压缩率下约90%精度,20倍压缩率下仍有约60%精度。
DeepEncoder架构:设计了一个新颖的视觉编码器,即使在高分辨率输入下也能保持低激活内存和最少视觉token。它通过16×卷积压缩器串联窗口注意力和全局注意力组件。
实用价值验证:在OmniDocBench上,DeepSeek-OCR仅用100个视觉token就超越了GOT-OCR2.0(256 tokens/页),用不到800个视觉token就超越了MinerU2.0(平均6000+ tokens/页)。在生产环境中,单个A100-40G GPU每天可处理20万+页面。
二、核心方法
2.1 DeepSeek-OCR 架构

DeepSeek-OCR 采用统一的端到端 VLM 架构,由编码器与解码器组成。编码器(即 DeepEncoder)负责提取图像特征、将视觉表征离散化为 token 并进行压缩;解码器则基于图像 token 与提示(prompt)生成所需结果。 DeepEncoder 约 3.8 亿 参数,主要由 80M 的 SAM-base 与 3 亿参数的 CLIP-large 串联构成。解码器采用 3B MoE 架构,推理时激活参数约 5.7 亿。下面将分别介绍模型组件、数据工程与训练技巧。
2.1.1 DeepEncoder
为探索“光学方式压缩上下文”的可行性,我们需要具备如下特性的视觉编码器:
- 1)可处理高分辨率;
- 2)在高分辨率下激活开销低;
- 3)视觉 token 数量少;
- 4)支持多分辨率输入;
- 5)参数规模适中。
架构组成:
- 感知组件:使用SAM-base(80M参数),以窗口注意力为主
- 知识组件:使用CLIP-large(300M参数),采用密集全局注意力
- 压缩模块:两层卷积实现16×下采样,连接上述两个组件
工作流程示例:
- 输入1024 × 1024图像
- 分割成
个patch token - 通过窗口注意力处理(激活内存可控)
- 经过压缩模块降至
个token - 进入全局注意力处理
2.1.2 多分辨率支持
设有一幅包含 1000 个光学字符的图像,我们希望测试解码所需的最少视觉 token。这要求模型支持可变数量的视觉 token,即 DeepEncoder 必须支持多分辨率。我们通过位置编码的动态插值来满足这一需求,并设计了若干分辨率模式进行混合训练,使单个 DeepSeek-OCR 模型具备多分辨率能力。

DeepEncoder 主要支持两大输入模式:原生分辨率(native resolution)与动态分辨率(dynamic resolution),各自包含多个子模式。
原生分辨率模式:
- Tiny: 512×512 (64 tokens)
- Small: 640×640 (100 tokens)
- Base: 1024×1024 (256 tokens)
- Large: 1280×1280 (400 tokens)
对于Base和Large模式,为保持原始宽高比,采用padding处理。有效视觉token数量计算公式为:
Nvalid = ⌈Nactual × [1 − ((max(w, h) − min(w, h))/(max(w, h)))]⌉
其中 w 和 h 代表原始图像的宽和高。
动态分辨率模式:
- Gundam模式:n × 640 × 640 tile(局部视图) + 1024 × 1024 全局视图组成
- Gundam-Master模式:1024 × 1024 局部视图 + 1280 × 1280 全局视图
Gundam模式输出的视觉token数量为:n × 100 + 256,其中 n 是tile数量。若图像的宽与高均小于 640,则设 (n = 0),即 Gundam 退化为 Base 模式。Gundam 与四种原生模式联合训练,实现一模多能的目标。 Gundam-master 模式则在已训练完成的 DeepSeek-OCR 上继续训练得到,主要是出于负载均衡考虑:其分辨率过大,若与其他模式同时训练将拖慢整体训练速度。
2.2 MoE解码器
解码器采用 DeepSeekMoE,具体为 DeepSeek-3B-MoE。推理阶段,模型在 64 个路由专家中激活 6 个,外加 2 个共享专家,合计约 5.7 亿 激活参数。3B DeepSeekMoE 非常适合以特定领域为中心(本文为 OCR)的 VLM 研究:它具备 3B 模型的表达能力,同时享有约 5 亿参数小模型的推理效率。
解码器从 DeepEncoder 压缩后的潜在视觉 token 重构原始文本表征:
其中 Z ∈ ℝn × dlatent
为 DeepEncoder 的压缩潜在(视觉)token,
2.3 数据工程(Data Engine)
训练数据构成(按比例):
- OCR数据(70%):
- OCR 1.0数据:传统OCR任务(场景图像、文档OCR)
- OCR 2.0数据:复杂图像解析(图表、化学公式、平面几何)
- 通用视觉数据(20%):caption、检测、grounding等任务
- 纯文本数据(10%):保持语言能力
2.3.1 OCR 1.0 数据
文档数据是 DeepSeek-OCR 的重中之重。我们从互联网收集了 3000 万页涵盖约 100 种语言的多样化 PDF 数据,其中中文与英文约 2500 万页,其他语言约 500 万页。针对这批数据,我们构建了两类真值(ground truth):粗标注与细标注。
粗标注:使用 fitz 直接从完整数据集中抽取,目标是教会模型识别光学文本,尤其是小语种。
细标注:包含中文与英文各 200 万页,利用先进的版面模型(如 PP-DocLayout)与 OCR 模型(如 MinerU、GOT-OCR2.0)生成检测—识别交错的数据。 对小语种而言,在检测部分我们发现版面模型具有一定的泛化能力;在识别部分,我们用 fitz 制作小块(patch)数据来训练一个 GOT-OCR2.0,随后在布局处理后用该模型为小块打标,通过“模型飞轮”共生产 60 万条数据样本。训练 DeepSeek-OCR 时,通过不同的提示词(prompts)区分粗标与细标。

此外,我们还收集了 300 万份 Word 数据,通过直接抽取内容构建无版面的高质量图文对,这类数据主要有利于公式与 HTML 表格。并选取部分开源数据作为补充。 对于自然场景 OCR,模型主要支持中英双语。图像来源于 LAION与 Wukong,使用 PaddleOCR进行标注,中英各 1000 万条。与文档 OCR 类似,自然场景 OCR 也可通过提示词控制是否输出检测框。
2.3.2 OCR 2.0 数据
沿用 GOT-OCR2.0的定义,我们将图表、化学式、平面几何解析数据统称为 OCR 2.0 数据。
- 图表数据:参考 OneChart,使用 pyecharts 与 matplotlib 渲染 1000 万张图,主要涵盖折线、柱状、饼图与复合图。我们将图表解析定义为图像 → HTML 表格的转换任务(见图 (a))。

- 化学式数据:从 PubChem 获取 SMILES 文本,用 RDKit 渲染为图像,构建 500 万对图文样本。
- 平面几何数据:参考 Slow Perception生成。具体而言,以感知标尺大小为 4 对线段建模。为增强渲染多样性,我们引入几何平移不变的数据增强:将同一几何图在原图中平移,对应于在坐标系中心位置绘制的相同真值。基于此共构建 100 万条平面几何解析数据(见图(b))。
2.3.3 通用视觉数据
DeepEncoder 能继承 CLIP 的预训练收益,且参数量足以容纳通用视觉知识。因此我们也为 DeepSeek-OCR 准备了相应的通用视觉数据。参考 DeepSeek-VL2,我们生成用于图像字幕(caption)、检测(detection)、指向/定位(grounding)等任务的数据。需注意,DeepSeek-OCR 不是通用 VLM,这部分数据只占总量的 20%。加入这类数据主要是为了保留通用视觉接口,方便对本模型与通用视觉任务感兴趣的研究者在未来继续推进相关工作。
2.3.4 纯文本数据
为确保模型的语言能力,我们引入了10% 的内部纯文本预训练数据,所有样本均处理为 8192 tokens(这也是 DeepSeek-OCR 的序列长度)。 总结:训练 DeepSeek-OCR 时,数据配比为:OCR 数据 70%、通用视觉数据 20%、纯文本数据 10%
2.4 训练流程
我们的训练流程非常简洁,主要包含两个阶段:
- 单独训练 DeepEncoder;
- 训练 DeepSeek-OCR。
需要说明的是,Gundam-master 模式是基于已训练好的 DeepSeek-OCR 模型,使用 600 万条采样数据继续训练得到的。
2.4.1 训练DeepEncoder
- 使用小型语言模型和下一个token预测框架
- 数据:所有OCR 1.0和2.0数据 + 100M通用数据
- 训练2个epoch,批量大小1280
- 学习率5e-5,序列长度4096
2.4.2 训练DeepSeek-OCR
- 采用管道并行(PP),分为4部分
- DeepEncoder:SAM+压缩器(PP0,冻结) + CLIP(PP1,训练)
- 解码器:12层分别放在PP2和PP3(各6层)
- 使用20节点(每节点8个A100-40G)
- 数据并行(DP)为40,全局批量大小640
- 学习率3e-5,训练速度:文本90B tokens/天,多模态70B tokens/天
三、实验效果
3.1 视觉-文本压缩研究
在Fox基准上测试,选择600-1300个文本token的英文文档(共100页):

3.2 OCR实用性能
DeepSeek-OCR 不仅是实验模型,同时具备强实用性,可用于为 LLM/VLM 预训练构建数据。为量化 OCR 性能,我们在 OmniDocBench 上测试 DeepSeek-OCR,如下:

- 仅用 100 个视觉 token(640×640 分辨率),DeepSeek-OCR 即超越使用 256 个 token 的 GOT-OCR2.0;
- 使用 400 个 token(有效 token 285,1280×1280 分辨率),其性能与该基准上的最新 SOTA大致持平;
- 在 Gundam 模式下用不到 800 个 token,DeepSeek-OCR 的表现优于MinerU2.0(后者需要近 7000 个视觉 token)。
这说明我们的模型在实际应用中非常强大;并且由于更高的 token 压缩率,也拥有更高的研究上限。如表所示,某些文档类别所需 token 极少即可达到满意效果:比如幻灯片仅需 64 个视觉 token;图书与报告用 100 个视觉 token 即可获得良好表现。结合前文分析,这可能是因为这些类别的文本 token 多在 1000 以内,对应的视觉-文本压缩比不超过 10×。而对于报纸,则需要 Gundam 甚至 Gundam-master 模式才能获得可接受的编辑距离,因为报纸的文本 token 通常在 4000–5000,远超其他模式可承受的 10× 压缩。上述实验进一步展示了上下文光学压缩的边界,可为 VLM 视觉 token 优化、LLM 上下文压缩与遗忘机制研究提供有效参考。
3.3 定性研究
3.3.1 深层解析(Deep parsing)
DeepSeek-OCR具备布局和OCR 2.0能力,可通过二次模型调用进一步解析文档内图像,称为”深度解析”。
金融研报中的图表解析:

自然图像描述:

化学公式识别:

平面几何解析:

3.3.2 多语种识别
DeepSeek-OCR支持近100种语言的PDF处理,包括阿拉伯语、僧伽罗语等少数语言:

3.3.3 通用视觉理解
模型保留了图像描述、目标检测、grounding等通用视觉能力:

四、讨论与展望
遗忘机制模拟
论文提出了一个有趣的想法:通过光学压缩模拟人类记忆的遗忘机制。

核心思路:
- 将历史对话文本渲染成图像进行初始压缩(约10×)
- 对更早的图像逐步缩小尺寸,实现多级压缩
- token数量逐渐减少,文本变得越来越模糊
- 模拟人类记忆随时间衰退和视觉感知随距离下降的过程
应用场景:
- 多轮对话中,对k轮之外的历史实施光学处理
- 近期上下文保持高分辨率,久远记忆自然淡化
- 理论上可实现无限上下文架构,平衡信息保留与计算约束
局限与未来工作
论文承认这是早期探索性工作,需要进一步研究:
- 尚未进行数字-光学文本交错预训练
- 需要”大海捞针”等长文本理解测试
- 光学上下文压缩仍有大量研究和改进空间
五、总结
DeepSeek-OCR作为概念验证,初步验证了上下文光学压缩的可行性,展示了三个重要价值:
理论意义:证明小型语言模型能有效学习从压缩视觉表示解码,为大模型提供了新的长文本处理思路
技术创新:DeepEncoder架构巧妙解决了高分辨率输入下的激活内存和token压缩问题,为VLM设计提供了新范式
实用价值:在真实文档解析任务上达到最先进性能,且token效率显著优于现有方法,可大规模生产LLM/VLM训练数据
虽然聚焦于OCR作为概念验证,但这一范式为重新思考视觉和语言模态如何协同增强大规模文本处理和智能体系统的计算效率开辟了新可能。研究结果为VLM token分配优化和LLM上下文压缩、遗忘机制研究提供了有效参考。