DeepSeek-OCR :面向上下文光学压缩的端到端文档理解系统
DeepSeek-OCR提出了一种面向大语言模型(LLMs)的新型上下文处理范式,通过将文本内容编码为高信息密度的视觉标记(vision tokens),再由视觉语言模型解码重建,实现了文本信息的高效压缩。该系统采用双模块协同架构:DeepEncoder作为上下文光学压缩器,DeepSeek3B-MoE-A570M作为解码器。
文章优先发布在微信公众号——“LLM大模型”,有些文章未来得及同步,可以直接关注公众号查看
一、范式跃迁——从 OCR 到上下文光学压缩
传统光学字符识别(OCR)系统旨在将图像中的文本区域转换为机器可读的字符序列,其核心挑战在于检测与识别。然而,随着大型语言模型(LLMs)在长上下文处理中面临二次方计算复杂度( O(N2)\mathcal{O}(N^2)O(N2) )与上下文窗口限制,一种新的研究范式应运而生:利用视觉模态作为文本信息的高效压缩表示。
DeepSeek-OCR 正是这一范式的开创性实践。其核心思想可表述为:
将原始文本内容编码为高信息密度的视觉标记(vision tokens),再由视觉语言模型(VLM)进行解码与结构化重建,从而在源头上压缩上下文长度。
该模型不仅是一个高性能的端到端 OCR 系统,更是一个为 LLM 服务的上下文预处理器,其技术价值在于验证了“一张图像可有效承载千言万语的语义信息”这一假设的可行性。
DeepSeek-OCR 通过 DeepEncoder 与 DeepSeek3B-MoE-A570M 的精妙协同,成功构建了一个高效的“视觉-文本压缩闭环”。
DeepSeek-OCR 的贡献不仅在于一个强大的 OCR 工具,更在于验证了一种面向 LLM 时代的新型上下文处理范式。
二、整体架构:双模块协同的压缩-解压闭环
DeepSeek-OCR 采用经典的编码器-解码器(Encoder-Decoder)架构,但其设计目标与实现细节均围绕“高压缩率”与“低激活开销”展开。

2.1 系统流程
系统处理流程如下:
- 输入:高分辨率文档图像(通常由 PDF 渲染而来)。
- 编码:通过 DeepEncoder 将图像压缩为 nnn 个语义丰富的 vision tokens。
- 解码:通过 DeepSeek3B-MoE-A570M 解码器,将 vision tokens 重建为结构化文本(如 Markdown)。
- 输出:高保真、带格式的文本内容。
2.2 核心组件概览
| 组件 | 功能定位 | 参数量 | 关键技术 |
|---|---|---|---|
| DeepEncoder | 上下文光学压缩器:从高分辨率图像中提取并压缩核心视觉语义 | ∼\sim∼ 380M | 三阶段异构串联、16×卷积压缩、多分辨率支持 |
| DeepSeek3B-MoE-A570M | 文本重建与语言生成器:将压缩的视觉标记解压并结构化为文本 | 总容量 3B / 激活 570M | 混合专家(MoE)、稀疏激活、跨模态对齐 |
三、DeepEncoder:低激活、高压缩的视觉编码引擎
3.1 设计目标与挑战
现有 VLM 编码器的三大痛点:

❌ Qwen-VL:高分辨率下激活内存爆炸
❌ InternVL:低原生分辨率导致碎片化,token 数过多
❌ Vary:双塔结构,部署复杂
DeepEncoder 的核心目标是在处理 1024×10241024 \times 10241024×1024 甚至更高分辨率的输入时,实现:
- 低激活内存消耗(避免全局注意力的 O(N2)\mathcal{O}(N^2)O(N2) 爆炸)
- 高压缩率(将数千个 patch tokens 压缩至数百个 vision tokens)
- 高语义保真度(确保压缩后的 tokens 足以支持高精度文本重建)
3.2 三阶段异构串联架构
DeepEncoder 采用一种创新的串行异构架构,将视觉处理流程分解为三个逻辑清晰的阶段。
阶段一:局部感知与特征提取(SAM-base)
- 基础模型:Meta 的 Segment Anything Model (SAM) 的 ViT-base 变体。
- 参数量: ∼\sim∼ 80M。
- 注意力机制:窗口注意力(Window Attention)。
- 将输入图像划分为 w×hw \times hw×h 的非重叠窗口。
- 注意力计算被严格限制在每个窗口内部,计算复杂度降至 O(N)\mathcal{O}(N)O(N)。
- 对于 1024×10241024 \times 10241024×1024 输入(patch size=16),产生 64×64=409664 \times 64 = 409664×64=4096 个初始 tokens。
- 功能:专注于提取边缘、纹理、字符轮廓等低级视觉特征,为后续压缩提供高质量的原始表示。
阶段二:Token 压缩(16× Convolutional Compressor)
- 结构:两层卷积模块,每层包含:
Conv2d(kernel_size=3, stride=2, padding=1)GELU激活函数LayerNorm
- 压缩机制:
- 每层卷积实现 2×2\times2× 的空间下采样。
- 两层级联后,空间维度下采样 4×4\times4×,token 数量下采样 16×16\times16×。
- 数学表达为:
Tcompressed=Conv2(GELU(Conv1(TSAM))) \mathbf{T}_{\text{compressed}} = \text{Conv}_2(\text{GELU}(\text{Conv}_1(\mathbf{T}_{\text{SAM}}))) Tcompressed=Conv2(GELU(Conv1(TSAM)))
其中 TSAM∈R4096×d\mathbf{T}_{\text{SAM}} \in \mathbb{R}^{4096 \times d}TSAM∈R4096×d , Tcompressed∈R256×d\mathbf{T}_{\text{compressed}} \in \mathbb{R}^{256 \times d}Tcompressed∈R256×d 。
- 优势:卷积操作具有局部感受野和平移不变性,能有效保留文本的空间结构信息,优于简单的池化或线性投影。
阶段三:全局知识融合(CLIP-large)
- 基础模型:OpenAI CLIP 的 ViT-L/14 视觉编码器(移除首层 patch embedding)。
- 参数量: ∼\sim∼ 300M。
- 注意力机制:标准全局自注意力(Dense Global Attention)。
- 输入 token 数量已降至 256,全局计算可行。
- 利用 CLIP 在 4 亿图文对上预训练获得的强语义先验。
- 功能:理解文档的高层语义,如“这是一个表格”、“这是一段标题”、“这是一个化学公式”,输出富含语义的 vision tokens。
3.3 多分辨率与动态分块支持
为适应不同场景,DeepEncoder 支持多种输入模式:
| 模式 | 分辨率 | Vision Tokens | 处理策略 | 适用场景 |
|---|---|---|---|---|
| Tiny | 512×512512 \times 512512×512 | 64 | Resize | 极限压缩测试 |
| Small | 640×640640 \times 640640×640 | 100 | Resize | 轻量级应用 |
| Base | 1024×10241024 \times 10241024×1024 | 256 | Padding | 标准文档 |
| Large | 1280×12801280 \times 12801280×1280 | 400 | Padding | 高精度需求 |
| Gundam | 动态 | n×100+256n \times 100 + 256n×100+256 | Tiling + Global View | 超大文档(如报纸) |
对于 Gundam 模式,系统将大图分割为 nnn 个 640×640640 \times 640640×640 的局部块( 2≤n≤92 \leq n \leq 92≤n≤9 ),每个块独立处理,并额外添加一个 1024×10241024 \times 10241024×1024 的全局视图,最终 token 序列为局部与全局 tokens 的拼接。
四、DeepSeek3B-MoE-A570M:稀疏激活的高效语言解码器
4.1 MoE 架构原理
解码器基于 DeepSeekMoE 架构,其核心是混合专家(Mixture of Experts, MoE)机制,旨在平衡模型容量与推理效率。
- 总参数容量(Capacity):3B,代表模型的理论表达能力上限。
- 激活参数量(Activated Parameters):570M,代表每个 token 在推理时实际参与计算的参数量。
- 专家配置:
- 路由专家(Routed Experts):62 个
- 共享专家(Shared Experts):2 个
- 每 token 激活数:Top-6 路由专家 + 2 共享专家 = 8 个
4.2 稀疏激活机制
对于每个输入 token x\mathbf{x}x,路由函数 R(⋅)R(\cdot)R(⋅) 计算其与所有专家的门控分数:
g=R(x)∈R64 \mathbf{g} = R(\mathbf{x}) \in \mathbb{R}^{64} g=R(x)∈R64
选择分数最高的 6 个路由专家,其输出加权求和:
y=∑i∈Top-6gi⋅Ei(x)+Eshared1(x)+Eshared2(x) \mathbf{y} = \sum_{i \in \text{Top-6}} g_i \cdot E_i(\mathbf{x}) + E_{\text{shared1}}(\mathbf{x}) + E_{\text{shared2}}(\mathbf{x}) y=i∈Top-6∑gi⋅Ei(x)+Eshared1(x)+Eshared2(x)
其中 Ei(⋅)E_i(\cdot)Ei(⋅) 为第 iii 个专家网络(通常为 FFN)。
4.3 在 OCR 任务中的作用
解码器接收来自 DeepEncoder 的 vision tokens V∈Rn×d\mathbf{V} \in \mathbb{R}^{n \times d}V∈Rn×d,执行以下核心任务:
- 跨模态对齐:通过 cross-attention 机制,将视觉语义与语言 token 对齐。
- 结构化文本重建:
- 识别并生成 Markdown 格式的段落、标题、列表。
- 将表格区域重建为 HTML 表格。
- 将数学公式区域还原为 LaTeX 字符串。
- 上下文纠错:利用 LLM 的语言先验,修正 OCR 识别中的细微错误(如字符混淆)。
五、性能评估与技术验证
5.1 压缩率与精度权衡
在 Fox benchmark 上的实验结果验证了光学压缩的可行性:
| 压缩比 ρ=Text TokensVision Tokens\rho = \frac{\text{Text Tokens}}{\text{Vision Tokens}}ρ=Vision TokensText Tokens | OCR 精度 |
|---|---|
| 5× | 98.5% |
| 10× | 97.0% |
| 15× | 85.8% |
| 20× | 60.0% |
结论:在 10× 压缩比下,模型仍能保持 97% 的高精度,证明了该范式的实用价值。
5.2 端到端 OCR 性能
在 OmniDocBench 基准上,DeepSeek-OCR 实现了 SOTA 性能:
| 模型 | Avg. Vision Tokens/页 | 性能 (Edit Distance) |
|---|---|---|
| GOT-OCR2.0 | 256 | Baseline |
| MinerU2.0 | >6000 | Strong |
| DeepSeek-OCR (Ours) | < 800 | 优于 MinerU2.0 |
| DeepSeek-OCR (Ours) | 100 | 优于 GOT-OCR2.0 |
5.3 工业级部署能力
- 吞吐量:单张 A100-40G GPU 可处理 >200,000 页/天。
- 数据生成:20 节点集群可日产 3300 万页的高质量训练数据。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)