文章优先发布在微信公众号——“LLM大模型”,有些文章未来得及同步,可以直接关注公众号查看


一、范式跃迁——从 OCR 到上下文光学压缩

传统光学字符识别(OCR)系统旨在将图像中的文本区域转换为机器可读的字符序列,其核心挑战在于检测识别。然而,随着大型语言模型(LLMs)在长上下文处理中面临二次方计算复杂度O(N2)\mathcal{O}(N^2)O(N2) )与上下文窗口限制,一种新的研究范式应运而生:利用视觉模态作为文本信息的高效压缩表示

DeepSeek-OCR 正是这一范式的开创性实践。其核心思想可表述为:

将原始文本内容编码为高信息密度的视觉标记(vision tokens),再由视觉语言模型(VLM)进行解码与结构化重建,从而在源头上压缩上下文长度

该模型不仅是一个高性能的端到端 OCR 系统,更是一个为 LLM 服务的上下文预处理器,其技术价值在于验证了“一张图像可有效承载千言万语的语义信息”这一假设的可行性。

DeepSeek-OCR 通过 DeepEncoderDeepSeek3B-MoE-A570M 的精妙协同,成功构建了一个高效的“视觉-文本压缩闭环”。

DeepSeek-OCR 的贡献不仅在于一个强大的 OCR 工具,更在于验证了一种面向 LLM 时代的新型上下文处理范式。


二、整体架构:双模块协同的压缩-解压闭环

DeepSeek-OCR 采用经典的编码器-解码器(Encoder-Decoder)架构,但其设计目标与实现细节均围绕“高压缩率”与“低激活开销”展开。

在这里插入图片描述

2.1 系统流程

系统处理流程如下:

  1. 输入:高分辨率文档图像(通常由 PDF 渲染而来)。
  2. 编码:通过 DeepEncoder 将图像压缩为 nnn 个语义丰富的 vision tokens。
  3. 解码:通过 DeepSeek3B-MoE-A570M 解码器,将 vision tokens 重建为结构化文本(如 Markdown)。
  4. 输出:高保真、带格式的文本内容。

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}TSAMR4096×dTcompressed∈R256×d\mathbf{T}_{\text{compressed}} \in \mathbb{R}^{256 \times d}TcompressedR256×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 模式,系统将大图分割为 nnn640×640640 \times 640640×640 的局部块( 2≤n≤92 \leq n \leq 92n9 ),每个块独立处理,并额外添加一个 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=iTop-6giEi(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}VRn×d,执行以下核心任务:

  1. 跨模态对齐:通过 cross-attention 机制,将视觉语义与语言 token 对齐。
  2. 结构化文本重建
    • 识别并生成 Markdown 格式的段落、标题、列表。
    • 将表格区域重建为 HTML 表格。
    • 将数学公式区域还原为 LaTeX 字符串。
  3. 上下文纠错:利用 LLM 的语言先验,修正 OCR 识别中的细微错误(如字符混淆)。

五、性能评估与技术验证

5.1 压缩率与精度权衡

在 Fox benchmark 上的实验结果验证了光学压缩的可行性:

压缩比 ρ=Text TokensVision Tokens\rho = \frac{\text{Text Tokens}}{\text{Vision Tokens}}ρ=Vision TokensText Tokens OCR 精度
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 万页的高质量训练数据。
Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐