【多模态】46、DeepSeek-OCR | 一张图片是否真能抵千词

论文:DeepSeek-OCR: Contexts Optical Compression

代码:https://github.com/deepseek-ai/DeepSeek-OCR

出处:DeepSeek-AI

时间:2025.10

一、背景

当前大型语言模型(LLM)在处理长文本时面临计算复杂度高的问题(序列长度的平方级增长),所以该方法探索视觉模态在文本压缩中的潜力,验证"一张图片是否真能抵千词"(高压缩比下保持文本解码精度)。

二、方法

DeepSeek-OCR提出了DeepEncoder,专门解决现有视觉编码器的痛点:高分辨率输入时token过多、激活内存大、不支持多分辨率等。

具体处理流程:

  • 输入图片1024x1024
  • 切分为16x16的patch,共4096patch token
  • 送入SAM(80M,不参与训练)进行local attention,输出还是4096token
  • 送入压缩卷积将4096token降维到256token(重点!)
  • 压缩后的token送入 CLIP-large(300M,训练,去掉第一层patch嵌入层,直接输入压缩后的token),通过全局注意力提取全局信息
  • 将CLIP的输出送入 DeepSeek-3bA570M,训练

特点:

  • 支持高分辨率输入(如 1024×1024)且保持低激活内存。
  • 动态多分辨率支持(Tiny/Small/Base/Large/Gundam 模式),适应不同压缩比需求。
  • 通过位置编码插值实现灵活输入尺寸调整。

三、数据集

数据配比:OCR : general vision : text-only = 70% :20%:10%

1、OCR1.0数据:包括图片OCR和文档OCR

  • 图片OCR:

    • 收集 LAION/Wukong等,使用PaddleOCR打标,中英各1000万
  • 文档OCR:

    • 包括3000万PDF页面(包括100种语言,2500万是中英文、500万是其他语言)
    • 处理方式:
      • ①粗糙处理:使用 fitz 提取全文信息
      • ②精细处理:借助版面检测模型(PP-DocLayout)进行版面切割,然后用OCR模型(MinuerU和GOT-OCR2.0)进行识别
      • 粗糙处理和精细处理的数据会使用不同的prompt用于训练

2、OCR2.0数据:图表、化学公式、平面几何

  • 图表数据:借鉴OneChart,使用pyecharts和matplotlib渲染 1000 万图片,主要包括 line、bar、pie、composite charts。
  • 化学式数据:使用来自PubChem的SMILES格式作为数据来源,并通过RDKit将其渲染为图像,构建500万条图像-文本对
  • 平面几何数据:参考 Slow Perception 进行生成,共构建100万平面几何数据。

3、通用视觉数据:caption、detection、grounding

  • 因为 DeepSeek-OCR不是锚定通用模型的,所以只加了20%的该类数据参与训练,只是为了保留一些通用视觉理解能力。
    4、纯文本数据:为了保留模型语言能力,加入了 10% 的 in-house text-only 数据

四、训练方式

两阶段训练方式:

  • stage1:只训练训练 DeepEncoder,冻结语言模型
  • stage2:全流程训练DeepSeek-OCR

1.4.1 stage1

数据:使用所有 OCR1.0 和 OCR2.0 数据,从LAION 中随机选出 1亿 通用数据

训练超参数:2epoch,batch 1280,AdamW,lr=5e-5,长度=4096

1.4.2 stage2

训练模式:训练由4部分流水线训练(pipeline parallelism,PP)组成,前两部分训练 DeepseekEncoder(SAM+压缩器冻结,CLIP训练),后两部分训练语言模型

五、效果展示

对指令跟随能力一般,下面展示几个支持的典型场景和prompt

1、全文分块定位+识别

2、表格解析、配图理解


3、文本定位、目标定位任务

相关推荐
云老大TG:@yunlaoda3608 小时前
腾讯云国际站代理商的OCR有什么优势呢?
人工智能·ocr·腾讯云
全栈小51 天前
【数据库】浙人医携手金仓数据库,打造全国首个多院区异构多活容灾架构
数据库·1024程序员节·金仓
翔云 OCR API1 天前
API让文档信息“活”起来:通用文档识别接口-开发者文字识别API
前端·数据库·人工智能·mysql·ocr
Chunyyyen2 天前
【第二十六周】OCR学习01
学习·计算机视觉·ocr
恶猫3 天前
STranslate 翻译 工具 v2.0.0 绿色便携版 翻译、OCR工具
ocr·文字识别·自动翻译·翻译·划词翻译·截图翻译
垦***耪3 天前
台达 DVP ES2 与 3 台英威腾 GD 通讯程序(TDES - 12)开发实战
ocr
CoderYanger3 天前
贪心算法:7.最长连续递增序列
java·算法·leetcode·贪心算法·1024程序员节
CoderYanger3 天前
贪心算法:6.递增的三元子序列
java·算法·leetcode·贪心算法·1024程序员节
CoderYanger3 天前
贪心算法:1.柠檬水找零
java·算法·leetcode·贪心算法·1024程序员节
CoderYanger3 天前
贪心算法:4.摆动序列
java·算法·leetcode·贪心算法·1024程序员节