DeepSeek-OCR 提出以光学方式压缩文本上下文:把长文本渲染成图像,用远少于数字文本的视觉 token 来表示,从而缓解长序列的平方级计算开销。本文解读其任务定义、DeepEncoder 架构、数据工程与训练流程。
论文标题:DeepSeek-OCR: Contexts Optical Compression
论文链接:https://github.com/deepseek-ai/DeepSeek-OCR/blob/main/DeepSeek_OCR_paper.pdf
任务定义
DeepSeek-OCR探索了一个全新的研究方向:通过光学(视觉)方式压缩文本上下文。简单来说,就是将大量文字转换成图像,然后用少量的”视觉token”来表示,从而大幅减少模型需要处理的token数量。
研究动机
当前大语言模型(LLM)在处理长文本时面临严重的计算挑战,因为计算复杂度随序列长度呈平方级增长。研究团队提出了一个巧妙的想法:一张包含文档文字的图像可以用远少于等效数字文本的token数量来表示丰富信息。这就像”一图胜千言”的道理——通过视觉模态压缩文本信息,可能实现更高的压缩比。

当前开源VLM主要使用三类视觉编码器,都存在各自的缺陷:
- 双塔架构(如Vary):需要双重图像预处理,部署复杂,训练时难以进行编码器管道并行
- 基于瓦片的方法(如InternVL2.0):通过将图像分成小patches并行计算来减少激活内存。但原生编码器分辨率较低(通常低于512×512),导致大图像被过度分割,产生大量视觉token
- 自适应分辨率编码(如Qwen2-VL):采用NaViT范式直接处理完整图像。虽然能灵活处理不同分辨率,但在处理大图像时激活内存消耗巨大,可能导致GPU内存溢出,推理时长视觉token会显著降低prefill和生成阶段的速度
随着VLM的发展,出现了大量端到端OCR模型:
- Nougat:首次在arXiv学术论文上采用端到端框架
- GOT-OCR2.0:将OCR2.0范围扩展到更多合成图像解析任务
- 通用视觉模型(Qwen-VL系列、InternVL系列等):持续增强文档OCR能力
整体架构

DeepSeek-OCR采用统一的端到端VLM架构,包含:
DeepEncoder的核心设计理念是满足五个关键需求:
- 能处理高分辨率
- 高分辨率下保持低激活内存
- 产生少量视觉token
- 支持多种分辨率输入
- 适度的参数量
架构组成:
- 感知组件:使用SAM-base(80M参数),以窗口注意力为主
- 知识组件:使用CLIP-large(300M参数),采用密集全局注意力
- 压缩模块:两层卷积实现16×下采样,连接上述两个组件
工作流程示例:
训练数据构成(按比例):
- OCR数据(70%):
- 通用视觉数据(20%):caption、检测、grounding等任务
- 纯文本数据(10%):保持语言能力
文档数据:
两阶段训练:
论文承认这是早期探索性工作,需要进一步研究:
- 尚未进行数字-光学文本交错预训练
- 需要”大海捞针”等长文本理解测试
- 光学上下文压缩仍有大量研究和改进空间

