DeepSeek-OCR: Contexts Optical Compression
DeepSeek-OCR: Contexts Optical Compression
文章标题: DeepSeek-OCR:上下文光学压缩
作者/机构: Haoran Wei, Yaofeng Sun, Yukun Li (DeepSeek-AI)
A1 主要贡献
大型语言模型(LLM)在处理长文本时面临二次方复杂度带来的计算挑战。本文探索了一种潜在的解决方案:利用视觉模态作为文本信息的高效压缩媒介。其核心思想是,包含文档文本的单个图像可以用比等效数字文本少得多的视觉词元(vision token)来表示丰富信息,从而实现高压缩率。基于此,本文从LLM为中心的角度重新审视视觉语言模型(VLM),将OCR任务作为视觉-文本压缩范式的理想试验场。
本文提出的DeepSeek-OCR模型,作为视觉-文本压缩概念的初步验证,主要有三大贡献:
-
对视觉-文本词元压缩率进行了全面的定量分析。在包含多样化文档布局的Fox基准测试【21,Focus anywhere for fine-grained multi-page document understanding,2024,arXiv】上,该方法在9-10倍文本压缩率下实现了96%以上的OCR解码精度,10-12倍压缩率下精度约90%,即使在20倍压缩率下精度仍能达到约60%(如图1(a)所示)。这表明紧凑型语言模型能有效解码压缩后的视觉表示。
-
提出了一种名为DeepEncoder的新型视觉编码器架构。该架构能在高分辨率输入下保持低激活内存和最少的视觉词元。它通过一个16倍卷积压缩器串联连接了窗口注意力(window attention)和全局注意力(global attention)编码器组件。这种设计确保了窗口注意力组件处理大量视觉词元,而压缩器在词元进入密集的全局注意力组件前减少其数量,从而实现了有效的内存和词元压缩。
-
开发了基于DeepEncoder和DeepSeek3B-MoE的DeepSeek-OCR模型。如图1(b)所示,该模型在OmniDocBench基准测试上,以最少的视觉词元实现了端到端模型中的最佳性能。此外,模型还具备解析图表、化学式、简单几何图形和自然图像的能力,增强了实用价值。在生产环境中,单个A100-40G GPU节点每天可为LLM或VLM生成超过20万页的训练数据。
总而言之,这项工作初步探索了利用视觉模态作为LLM处理文本信息的高效压缩媒介。通过DeepSeek-OCR,证明了视觉-文本压缩可以为不同历史阶段的上下文实现显著的词元减少(7-20倍),为解决LLM的长上下文挑战提供了一个有前景的方向。
A3 背景知识
2.1. VLM中典型的视觉编码器
当前主流视觉编码器的分类与缺陷。目前开源的视觉语言模型(VLM)主要采用三种类型的视觉编码器,如图2所示,但它们各自存在不足。第一类是Vary【36,Vary: Scaling up the vision vocabulary for large vision-language model,2024,European Conference on Computer Vision】所代表的双塔架构,它并行使用SAM【17,Segment anything,2023,arXiv】编码器来增加视觉词汇参数以处理高分辨率图像,虽然参数和激活内存可控,但其缺点是需要双重图像预处理,这使得部署复杂化,并且在训练期间难以实现编码器流水线并行。第二类是以InternVL2.0【8,How far are we to gpt-4v? closing the gap to commercial multimodal models with open-source suites,2024,arXiv】为代表的基于图块(tile-based)的方法,它通过将图像分割成小图块进行并行计算来处理图像,从而降低高分辨率设置下的激活内存,尽管能处理极高分辨率,但其原生编码器分辨率通常较低(低于512×512),导致大图被过度分割,产生大量视觉词元。第三类是以Qwen2-VL【35,Qwen2-vl: Enhancing vision-language model’s perception of the world at any resolution,2024,arXiv】为代表的自适应分辨率编码,它采用NaViT【10,Patch n’ pack: Navit, a vision transformer for any aspect ratio and resolution,2023,Advances in Neural Information Processing Systems】范式,通过基于补丁的分割直接处理完整图像,无需图块并行化,虽然这种编码器能灵活处理不同分辨率,但在处理大图像时面临巨大挑战,因为会消耗大量激活内存导致GPU内存溢出,并且序列打包在训练时需要极长的序列长度,而长的视觉词元会减慢推理的预填充和生成阶段。
2.2. 端到端的OCR模型
端到端OCR模型的演进与未解问题。OCR,特别是文档解析任务,一直是图像到文本领域非常活跃的话题。随着VLM的进步,大量端到端OCR模型涌现,它们通过简化OCR系统,从根本上改变了需要独立检测和识别专家模型的传统流水线架构。Nougat【6,Nougat: Neural optical understanding for academic documents,2023,arXiv】首次在arXiv上采用端到端框架进行学术论文OCR,展示了模型处理密集感知任务的潜力。GOT-OCR2.0【38,General ocr theory: Towards ocr-2.0 via a unified end-to-end model,2024,arXiv】将OCR2.0的范围扩展到更多合成图像解析任务,并设计了一款在性能和效率之间进行权衡的OCR模型,进一步凸显了端到端OCR研究的潜力。此外,诸如Qwen-VL系列【35,Qwen2-vl: Enhancing vision-language model’s perception of the world at any resolution,2024,arXiv】、InternVL系列【8,How far are we to gpt-4v? closing the gap to commercial multimodal models with open-source suites,2024,arXiv】等通用视觉模型及其衍生模型,也在不断增强其文档OCR能力,以探索密集的视觉感知边界。然而,当前模型尚未解决一个关键研究问题:对于一个包含1000个单词的文档,至少需要多少视觉词元才能进行解码?这个问题对于“一图胜千言”原则的研究具有重要意义。
A2 方法细节
3.1. 架构
统一的VLM架构。如图3所示,DeepSeek-OCR采用一个统一的端到端VLM架构,由一个编码器和一个解码器组成。编码器(即DeepEncoder)负责提取图像特征、进行词元化以及压缩视觉表示。解码器则用于根据图像词元和提示生成所需的结果。DeepEncoder的参数量约为3.8亿,主要由一个8000万参数的SAM-base【17,Segment anything,2023,arXiv】和一个3亿参数的CLIP-large【29,Learning transferable visual models from natural language supervision,2021,International conference on machine learning】串联而成。解码器采用一个30亿参数的MoE【19,Deepseek-v2: A strong, economical, and efficient mixture-of-experts language model,2024,arXiv】【20,Deepseek-v3 technical report,2024,arXiv】架构,激活参数量为5.7亿。
3.2. DeepEncoder
设计目标。为了探索上下文光学压缩的可行性,我们需要一个具备以下特点的视觉编码器:1. 能够处理高分辨率;2. 在高分辨率下激活值低;3. 视觉词元数量少;4. 支持多种分辨率输入;5. 参数量适中。然而,如第2.1节所述,当前开源的编码器无法完全满足所有这些条件。因此,我们自行设计了一款名为DeepEncoder的新型视觉编码器。
3.2.1. DeepEncoder的架构
组件结构与工作流程。DeepEncoder主要由两个组件构成:一个以窗口注意力为主的视觉感知特征提取组件,和一个具有密集全局注意力的视觉知识特征提取组件。为了利用先前工作的预训练成果,我们分别使用SAM-base(patch-size 16)和CLIP-large作为这两个组件的主要架构。对于CLIP,我们移除了其第一个补丁嵌入层,因为它的输入不再是图像,而是来自前一流水线的输出词元。在这两个组件之间,我们借鉴了Vary【36,Vary: Scaling up the vision vocabulary for large vision-language model,2024,European Conference on Computer Vision】的设计,使用一个2层卷积模块对视觉词元进行16倍下采样。每个卷积层的核大小为3,步长为2,填充为1,通道数从256增加到1024。假设我们输入一张1024×1024的图像,DeepEncoder会将其分割成1024/16×1024/16=4096个补丁词元。由于编码器的前半部分以窗口注意为主且只有8000万参数,激活值是可接受的。在进入全局注意力之前,这4096个词元通过压缩模块,词元数量变为4096/16=256个,从而使得整体的激活内存变得可控。
3.2.2. 多分辨率支持
多分辨率的必要性。假设我们有一张包含1000个光学字符的图像,我们想测试解码需要多少视觉词元。这要求模型能够支持可变数量的视觉词元,也就是说DeepEncoder需要支持多种分辨率。
实现方式与模式设计。我们通过动态插值位置编码来满足上述需求,并设计了多种分辨率模式进行同步模型训练,以实现单个DeepSeek-OCR模型支持多种分辨率的能力。如图4所示,DeepEncoder主要支持两种主要输入模式:原生分辨率和动态分辨率,每种模式又包含多个子模式。
原生分辨率模式。原生分辨率支持四种子模式:Tiny、Small、Base和Large,对应的分辨率和词元数分别为512×512(64个)、640×640(100个)、1024×1024(256个)和1280×1280(400个)。由于Tiny和Small模式的分辨率相对较小,为了避免浪费视觉词元,图像通过直接调整原始尺寸进行处理。对于Base和Large模式,为了保持原始图像的宽高比,图像会被填充到相应的大小。填充后,有效视觉词元的数量少于实际视觉词元的数量。
有效视觉词元计算公式。有效视觉词元的计算公式为:
$N_{actual} = \lceil N_{nominal} \times [1 - (\max(w, h) - \min(w, h)) / (\max(w, h))] \rceil$
其中$w$和$h$代表原始输入图像的宽度和高度。
动态分辨率模式(Gundam模式)。动态分辨率可以由两个原生分辨率组成。例如,Gundam模式由n个640×640的图块(局部视图)和一个1024×1024的全局视图组成,其切分方法遵循InternVL2.0【8,How far are we to gpt-4v? closing the gap to commercial multimodal models with open-source suites,2024,arXiv】。支持动态分辨率主要是出于应用考虑,特别是对于超高分辨率的输入(如报纸图像)。切分是一种二次窗口注意力的形式,可以有效进一步降低激活内存。值得注意的是,由于我们的原生分辨率相对较大,在动态分辨率下图像不会被过度分割(图块数量控制在2到9个之间)。在Gundam模式下,DeepEncoder输出的视觉词元数量为:$n \times 100 + 256$,其中$n$是图块的数量。对于宽高均小于640的图像,$n$被设为0,即Gundam模式会退化为Base模式。
多模式训练策略。Gundam模式与四种原生分辨率模式一起训练,以实现一个模型支持多种分辨率的目标。需要注意的是,Gundam-master模式(1024×1024局部视图+1280×1280全局视图)是在一个已训练好的DeepSeekOCR模型上继续训练得到的。这主要是为了负载均衡,因为Gundam-master的分辨率太大,一起训练会拖慢整体训练速度。
表1 | DeepEncoder的多分辨率支持。为了研究和应用目的,我们为DeepEncoder设计了多样的原生分辨率和动态分辨率模式。
3.3. MoE解码器
解码器架构。我们的解码器使用DeepSeekMoE【19,Deepseek-v2: A strong, economical, and efficient mixture-of-experts language model,2024,arXiv】【20,Deepseek-v3 technical report,2024,arXiv】,具体是DeepSeek-3B-MoE。在推理过程中,模型会激活64个路由专家中的6个和2个共享专家,激活参数量约为5.7亿。3B的DeepSeekMoE非常适合以领域为中心(对我们而言是OCR)的VLM研究,因为它在享有5亿参数小模型的推理效率的同时,获得了3B模型的表达能力。
解码过程。解码器从DeepEncoder压缩后的潜在视觉词元中重建原始文本表示,其过程如下:
$f_{\text{dec}}: \mathbb{R}^{n \times d_{\text{latent}}} \to \mathbb{R}^{N \times d_{\text{text}}}, \mathbf{\hat{X}} = f_{\text{dec}}(\mathbf{Z}) \text{ where } n \le N$
其中 $Z \in \mathbb{R}^{n \times d_{latent}}$ 是来自DeepEncoder的压缩后潜在(视觉)词元,而 $\hat{X} \in \mathbb{R}^{N \times d_{text}}$ 是重建的文本表示。函数 $f_{dec}$ 代表一个非线性映射,紧凑型语言模型可以通过OCR风格的训练有效学习这个映射。可以合理推测,大型语言模型通过专门的预训练优化,将能更自然地集成这类能力。
3.4. 数据引擎
数据构成概述。我们为DeepSeek-OCR构建了复杂多样的训练数据,包括主要由传统OCR任务(如场景图像OCR和文档OCR)组成的OCR 1.0数据;主要包括复杂人造图像解析任务(如图表、化学式和平面几何解析数据)的OCR 2.0数据;以及主要用于向DeepSeek-OCR注入通用图像理解能力并保留通用视觉接口的通用视觉数据。
3.4.1. OCR 1.0 数据
文档数据。文档数据是DeepSeek-OCR的重中之重。我们从互联网上收集了3000万页覆盖约100种语言的多样化PDF数据,其中中文和英文约占2500万页,其他语言占500万页。对于这些数据,我们创建了两类真值(ground truth):粗略标注和精细标注。粗略标注是直接使用fitz从整个数据集中提取的,旨在教会模型识别光学文本,特别是少数族裔语言。精细标注包括中英文各200万页,使用先进的布局模型(如PP-DocLayout【33,Pp-doclayout: A unified document layout detection model to accelerate large-scale data construction,2025,arXiv】)和OCR模型(如MinuerU【34,Mineru: An open-source solution for precise document content extraction,2024,arXiv】和GOT-OCR2.0【38,General ocr theory: Towards ocr-2.0 via a unified end-to-end model,2024,arXiv】)进行标注,以构建检测和识别交错的数据。对于少数族裔语言,在检测部分,我们发现布局模型具有一定的泛化能力;在识别部分,我们使用fitz创建小块数据来训练一个GOT-OCR2.0,然后使用训练好的模型对布局处理后的小块进行标注,采用模型飞轮的方式创建了60万个数据样本。在训练DeepSeek-OCR时,通过不同的提示来区分粗略标签和精细标签。精细标注的图文对真值可见于图5。我们还收集了300万份Word数据,通过直接提取内容构建了无布局的高质量图文对,这些数据主要对公式和HTML格式的表格有益。此外,我们选择了一些开源数据【28,olmocr: Unlocking trillions of tokens in pdfs with vision language models,2025,arXiv】【37,Small language model meets with reinforced vision vocabulary,2024,arXiv】作为补充。
自然场景OCR数据。对于自然场景OCR,我们的模型主要支持中文和英文。图像数据来源是LAION【31,Laion-400m: Open dataset of clip-filtered 400 million imagetext pairs,2021,arXiv】和Wukong【13,Wukong: A 100 million large-scale chinese cross-modal pre-training benchmark,2022,Advances in Neural Information Processing Systems】,使用PaddleOCR【9,Paddleocr 3.0 technical report,2025,arXiv】进行标注,中英文各1000万个数据样本。与文档OCR一样,自然场景OCR也可以通过提示控制是否输出检测框。
3.4.2. OCR 2.0 数据
OCR 2.0数据构成。我们遵循GOT-OCR2.0【38,General ocr theory: Towards ocr-2.0 via a unified end-to-end model,2024,arXiv】的定义,将图表、化学式和平面几何解析数据称为OCR 2.0数据。对于图表数据,我们遵循OneChart【7,Onechart: Purify the chart structural extraction via one auxiliary token,2024,Proceedings of the 32nd ACM International Conference on Multimedia】,使用pyecharts和matplotlib渲染了1000万张图像,主要包括常用的折线图、柱状图、饼图和复合图。我们将图表解析定义为图像到HTML表格的转换任务,如图6(a)所示。对于化学式,我们利用PubChem的SMILES格式作为数据源,并使用RDKit将其渲染成图像,构建了500万个图文对。对于平面几何图像,我们遵循Slow Perception【39,Slow perception: Let’s perceive geometric figures step-by-step,2024,arXiv】进行生成。具体来说,我们使用perception-ruler size为4来建模每条线段。为了增加渲染数据的多样性,我们引入了几何平移不变的数据增强,即同一几何图像在原始图像中进行平移,对应于在坐标系中心位置绘制的相同真值。基于此,我们共构建了100万个平面几何解析数据,如图6(b)所示。
3.4.3. 通用视觉数据
通用视觉数据的目的与构成。DeepEncoder可以从CLIP的预训练增益中受益,并且有足够的参数来融合通用视觉知识。因此,我们也为DeepSeek-OCR准备了一些相应的数据。我们遵循DeepSeek-VL2【40,Deepseek-vl2: Mixture-of-experts vision-language models for advanced multimodal understanding,2024,arXiv】,为caption、detection和grounding等任务生成了相关数据。需要注意的是,DeepSeek-OCR并非一个通用的VLM模型,这部分数据仅占总数据的20%。我们引入这类数据主要是为了保留通用视觉接口,以便对我们模型和通用视觉任务感兴趣的研究人员未来可以方便地推进他们的工作。
3.4.4. 纯文本数据
纯文本数据的目的与占比。为了确保模型的语言能力,我们引入了10%的内部纯文本预训练数据,所有数据都处理成8192个词元的长度,这也是DeepSeek-OCR的序列长度。总的来说,在训练DeepSeek-OCR时,OCR数据占70%,通用视觉数据占20%,纯文本数据占10%。
3.5. 训练流程
训练流程概述。我们的训练流程非常简单,主要包括两个阶段:a) 独立训练DeepEncoder;b) 训练DeepSeek-OCR。需要注意的是,Gundam-master模式是通过在预训练好的DeepSeek-OCR模型上使用600万采样数据继续训练得到的。由于其训练协议与其他模式相同,我们在此省略详细描述。
3.5.1. 训练DeepEncoder
DeepEncoder训练细节。我们遵循Vary【36,Vary: Scaling up the vision vocabulary for large vision-language model,2024,European Conference on Computer Vision】的方法,利用一个紧凑型语言模型【15,Opt-iml: Scaling language model instruction meta learning through the lens of generalization,2022,arXiv】并使用下一词元预测框架来训练DeepEncoder。在此阶段,我们使用了前述所有的OCR 1.0和2.0数据,以及从LAION【31,Laion-400m: Open dataset of clip-filtered 400 million imagetext pairs,2021,arXiv】数据集中采样的1亿通用数据。所有数据都以1280的批量大小训练2个周期,使用AdamW【23,Decoupled weight decay regularization,2019,ICLR】优化器,配合余弦退火调度器【22,Sgdr: Stochastic gradient descent with warm restarts,2016,arXiv】,学习率为5e-5。训练序列长度为4096。
3.5.2. 训练DeepSeek-OCR
DeepSeek-OCR训练设置。在DeepEncoder准备好后,我们使用3.4节中提到的数据来训练DeepSeek-OCR,整个训练过程在HAI-LLM【14,HAI-LLM: Efficient and lightweight training tool for large models,2023,URL: https://www.high-flyer.cn/en/blog/hai-llm】平台上进行。整个模型使用流水线并行(PP)并分为4部分,DeepEncoder占两部分,解码器占两部分。对于DeepEncoder,我们将SAM和压缩器视为视觉分词器,放置在PP0并冻结它们的参数,同时将CLIP部分视为输入嵌入层并放置在PP1,其权重不冻结以进行训练。对于语言模型部分,由于DeepSeek3B-MoE有12层,我们将每6层分别放置在PP2和PP3上。我们使用20个节点(每个节点有8 个A100-40G GPU)进行训练,数据并行度(DP)为40,全局批量大小为640。我们使用AdamW优化器,配合基于步长的调度器,初始学习率为3e-5。对于纯文本数据,训练速度为每天900亿词元,而对于多模态数据,训练速度为每天700亿词元。
A4 实验
实验环境
- 数据集:
- 训练数据:包括3000万页多语言PDF文档(OCR 1.0)、300万份Word文档、2000万张自然场景OCR图像、1000万张图表、500万张化学式、100万张几何图形(OCR 2.0),以及用于通用视觉能力和纯文本预训练的数据。
- 评估基准:Fox基准测试【21】的英文文档部分和OmniDocBench【27】。
- 模型架构:
- 编码器:DeepEncoder(约3.8亿参数),由SAM-base(8000万)和CLIP-large(3亿)串联构成。
- 解码器:DeepSeek-3B-MoE【19, 20】,具有5.7亿激活参数。
- 序列长度:8192。
- 硬件配置:20个节点,每个节点配备8块A100-40G GPU。
- 软件配置:训练平台为HAI-LLM【14】,优化器为AdamW。
实验结果
4.1. 视觉-文本压缩研究
- 实验内容:在Fox基准【21】上,选取了包含600-1300个文本词元的100页英文文档,测试DeepSeek-OCR在Tiny(64视觉词元)和Small(100视觉词元)模式下的压缩-解压能力。
- 实验结果:如表2所示,当压缩比在10倍以内时,模型的解码精度可达约97%,这是一个非常理想的结果。当压缩比超过10倍,性能开始下降,例如在接近20倍压缩时,精度仍能接近60%。
- 分析与结论:性能下降可能源于长文档的布局更复杂,或文本在低分辨率下变得模糊。这些结果表明,上下文光学压缩是一个极具潜力和研究价值的方向,且该方法可利用现有VLM基础设施,不带来额外开销。
表2 | 我们使用Fox [21]基准测试中所有包含600-1300个词元的英文文档来测试DeepSeek-OCR的视觉-文本压缩率。文本词元数表示使用DeepSeek-OCR的分词器对真值文本进行分词后的词元数量。视觉词元数=64或100分别代表将输入图像调整为512×512和640×640后DeepEncoder输出的视觉词元数量。
4.2. OCR实用性能
- 实验内容:在OmniDocBench【27】上测试DeepSeek-OCR在真实文档解析任务上的性能。
- 实验结果:如表3所示,DeepSeek-OCR仅用100个视觉词元(640×640分辨率)就超越了使用256个词元的GOT-OCR2.0【38】。使用400个词元(285个有效词元,1280×1280分辨率)时,其性能与该基准上的顶尖水平相当。使用少于800个词元(Gundam模式)时,DeepSeek-OCR的性能优于需要近7000个视觉词元的MinerU2.0【34】。
- 分析与结论:如表4所示,不同类型的文档对视觉词元的需求不同。幻灯片仅需64个视觉词元即可达到满意性能,书籍和报告文档用100个词元表现良好,这可能因为这些文档的文本词元数大多在1000以内,视觉-词元压缩比未超过10倍。而报纸因文本量巨大(4000-5000词元),需要Gundam模式才能达到可接受的编辑距离。这些结果证明了DeepSeek-OCR在实际应用中的强大能力和高词元压缩率带来的高研究上限,并为VLM中的视觉词元优化和LLM中的上下文压缩、遗忘机制研究提供了有效参考。
表3 | 我们使用OmniDocBench [27]来测试DeepSeek-OCR在真实文档解析任务上的性能。表中的所有指标都是编辑距离,值越小表示性能越好。“Tokens”代表每页平均使用的视觉词元数,“†200dpi”表示使用fitz将原始图像插值到200dpi。对于DeepSeek-OCR模型,“Tokens”列括号中的值代表有效视觉词元,根据公式1计算。
表4 | OmniDocBench中不同类别文档的编辑距离。结果显示,某些类型的文档仅用64或100个视觉词元就能取得良好性能,而其他类型则需要Gundam模式。
4.3. 定性研究
- 深度解析:DeepSeek-OCR结合了布局分析和OCR 2.0能力,能够通过二次模型调用对文档内的图像进行进一步解析,作者称之为“深度解析”。如图7-10所示,模型能够对图表、几何图形、化学式乃至自然图像进行深度解析,且仅需统一的提示。
- 多语言识别:如图11所示,DeepSeek-OCR能够处理近100种语言的PDF文档,并支持带布局和不带布局两种OCR格式输出,展示了其在处理多语言数据方面的能力。
- 通用视觉理解:如图12所示,模型保留了一定的通用图像理解能力,包括图像描述、目标检测、指代定位等,同时由于加入了纯文本数据,其语言能力也得以保留。
A7 补充细节
对视觉-文本压缩边界的初步探索及其未来应用。我们的工作代表了对视觉-文本压缩边界的初步探索,研究解码$N$个文本词元需要多少视觉词元。初步结果令人鼓舞:DeepSeek-OCR在约10倍压缩比下实现了近乎无损的OCR压缩,而在20倍压缩下仍保留了60%的准确率。这些发现为未来的应用指明了有希望的方向,例如,在多轮对话中对超过$K$轮的对话历史进行光学处理,以实现10倍的压缩效率。
模拟人类记忆的遗忘机制。对于更早的上下文,我们可以通过逐步缩小渲染图像的尺寸来进一步减少词元消耗。这一设想的灵感来源于人类记忆随时间衰退与视觉感知随空间距离退化之间的自然相似性——两者都表现出渐进式信息丢失的相似模式,如图13所示。通过结合这些机制,上下文光学压缩方法能够实现一种模仿生物遗忘曲线的记忆衰退形式,即近期信息保持高保真度,而远期记忆通过增加压缩比自然淡出。
通往无限上下文架构的路径。尽管我们的初步探索显示了在可扩展的超长上下文处理方面的潜力,即近期上下文保留高分辨率,而旧上下文消耗更少资源,但我们承认这是一项早期工作,需要进一步研究。该方法为实现理论上无限上下文的架构提供了一条路径,这种架构平衡了信息保留与计算约束,尽管这类视觉-文本压缩系统的实际影响和局限性有待未来研究深入探讨。
A5 结论
本技术报告提出了DeepSeek-OCR模型,并通过该模型初步验证了上下文光学压缩的可行性,证明了模型能从少量视觉词元中有效解码数量超过10倍的文本词元。我们相信这一发现将促进未来VLM和LLM的发展。此外,DeepSeek-OCR是一个高度实用的模型,能够进行大规模的预训练数据生产,是LLM不可或缺的助手。当然,仅凭OCR不足以完全验证真正的上下文光学压缩,我们未来将进行数字-光学文本交错预训练、大海捞针测试等评估。从另一个角度看,光学上下文压缩仍有巨大的研究和改进空间,代表了一个充满希望的新方向。
方法细节中的引用汇总
| 编号 | 参考文献信息 | 引用位置及描述 |
|---|---|---|
| [7] | Chen, J. et al. "Onechart: Purify the chart structural extraction via one auxiliary token." ACM Multimedia, 2024. | 3.4.2 OCR 2.0 数据: 在描述图表数据生成时引用,说明遵循OneChart的方法使用pyecharts和matplotlib渲染图像,但标签格式从字典改为HTML表格以节省词元。 |
| [8] | Chen, Z. et al. "How far are we to gpt-4v? closing the gap to commercial multimodal models with open-source suites." arXiv, 2024. | 2.1 VLM中典型的视觉编码器: 作为基于图块(tile-based)方法的代表被引用,指出其缺点是原生分辨率低导致图像过度分割。3.2.2 多分辨率支持: 在描述动态分辨率(Gundam模式)时引用,说明其切分图块的方法遵循了InternVL2.0。 |
| [9] | Cui, C. et al. "Paddleocr 3.0 technical report." arXiv, 2025. | 3.4.1 OCR 1.0 数据: 在描述自然场景OCR数据时引用,说明使用PaddleOCR为来自LAION和Wukong的图像数据进行标注。 |
| [10] | Dehghani, M. et al. "Patch n’ pack: Navit, a vision transformer for any aspect ratio and resolution." NeurIPS, 2023. | 2.1 VLM中典型的视觉编码器: 作为自适应分辨率编码范式的代表被引用,说明Qwen2-VL采用此范式,但面临大图像激活内存消耗巨大的问题。 |
| [13] | Gu, J. et al. "Wukong: A 100 million large-scale chinese cross-modal pre-training benchmark." NeurIPS, 2022. | 3.4.1 OCR 1.0 数据: 作为自然场景OCR图像数据源之一被引用。 |
| [14] | High-flyer. "HAI-LLM: Efficient and lightweight training tool for large models." 2023. | 3.5.2 训练DeepSeek-OCR: 在描述训练平台时引用,说明整个训练过程在HAI-LLM平台上进行。 |
| [15] | Iyer, S. et al. "Opt-iml: Scaling language model instruction meta learning through the lens of generalization." arXiv, 2022. | 3.5.1 训练DeepEncoder: 在描述DeepEncoder训练方法时引用,说明利用一个紧凑型语言模型进行下一词元预测训练。 |
| [17] | Kirillov, A. et al. "Segment anything." arXiv, 2023. | 2.1 VLM中典型的视觉编码器: 在描述双塔架构时引用,指出Vary并行使用SAM编码器。3.1 架构: 描述DeepEncoder构成时引用,其感知组件基于SAM-base。 |
| [19] | Liu, A. et al. "Deepseek-v2: A strong, economical, and efficient mixture-of-experts language model." arXiv, 2024. | 3.1 架构 和 3.3 MoE解码器: 描述解码器架构时引用,说明采用了3B参数的DeepSeekMoE。 |
| [20] | Liu, A. et al. "Deepseek-v3 technical report." arXiv, 2024. | 3.1 架构 和 3.3 MoE解码器: 描述解码器架构时引用,说明采用了3B参数的DeepSeekMoE。 |
| [22] | Loshchilov, I. & Hutter, F. "Sgdr: Stochastic gradient descent with warm restarts." arXiv, 2016. | 3.5.1 训练DeepEncoder: 描述DeepEncoder训练优化器时引用,说明使用了余弦退火调度器。 |
| [23] | Loshchilov, I. & Hutter, F. "Decoupled weight decay regularization." ICLR, 2019. | 3.5.1 训练DeepEncoder: 描述DeepEncoder训练优化器时引用,说明使用了AdamW优化器。 |
| [28] | Poznanski, J. et al. "olmocr: Unlocking trillions of tokens in pdfs with vision language models." arXiv, 2025. | 3.4.1 OCR 1.0 数据: 作为OCR 1.0文档数据的补充数据来源被引用。 |
| [29] | Radford, A. et al. "Learning transferable visual models from natural language supervision." ICML, 2021. | 3.1 架构: 描述DeepEncoder构成时引用,其知识组件基于CLIP-large。 |
| [31] | Schuhmann, C. et al. "Laion-400m: Open dataset of clip-filtered 400 million imagetext pairs." arXiv, 2021. | 3.4.1 OCR 1.0 数据 和 3.5.1 训练DeepEncoder: 作为自然场景OCR图像和通用视觉数据的数据源被引用。 |
| [33] | Sun, T. et al. "Pp-doclayout: A unified document layout detection model to accelerate large-scale data construction." arXiv, 2025. | 3.4.1 OCR 1.0 数据: 在描述精细标注时引用,说明使用PP-DocLayout等先进布局模型进行标注。 |
| [34] | Wang, B. et al. "Mineru: An open-source solution for precise document content extraction." arXiv, 2024. | 3.4.1 OCR 1.0 数据: 在描述精细标注时引用,说明使用MinuerU等先进OCR模型进行标注。 |
| [35] | Wang, P. et al. "Qwen2-vl: Enhancing vision-language model’s perception of the world at any resolution." arXiv, 2024. | 2.1 VLM中典型的视觉编码器 和 2.2 端到端的OCR模型: 作为自适应分辨率编码和通用视觉模型的代表被引用。 |
| [36] | Wei, H. et al. "Vary: Scaling up the vision vocabulary for large vision-language model." ECCV, 2024. | 2.1 VLM中典型的视觉编码器, 3.2.1 DeepEncoder的架构, 3.5.1 训练DeepEncoder: 作为双塔架构的代表被引用;DeepEncoder的卷积压缩器设计借鉴了Vary;DeepEncoder的训练方法也遵循了Vary。 |
| [37] | Wei, H. et al. "Small language model meets with reinforced vision vocabulary." arXiv, 2024. | 3.4.1 OCR 1.0 数据: 作为OCR 1.0文档数据的补充数据来源被引用。 |
| [38] | Wei, H. et al. "General ocr theory: Towards ocr-2.0 via a unified end-to-end model." arXiv, 2024. | 2.2 端到端的OCR模型, 3.4.1 OCR 1.0 数据, 3.4.2 OCR 2.0 数据: 作为端到端OCR模型的代表被引用,其扩展了OCR 2.0任务范围;用于精细标注的先进OCR模型之一;OCR 2.0数据的定义遵循该文。 |
| [39] | Wei, H. et al. "Slow perception: Let’s perceive geometric figures step-by-step." arXiv, 2024. | 3.4.2 OCR 2.0 数据: 在描述平面几何数据生成时引用,说明遵循其方法进行生成和编码。 |
| [40] | Wu, Z. et al. "Deepseek-vl2: Mixture-of-experts vision-language models for advanced multimodal understanding." arXiv, 2024. | 3.4.3 通用视觉数据: 在描述通用视觉数据生成时引用,说明遵循其方法生成了caption, detection等任务数据。 |
💬 评论讨论
欢迎在这里分享您的想法和见解!