【多模态】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、文本定位、目标定位任务

相关推荐
学传打活4 小时前
古代汉语是源,现代汉语是流,源与流一脉相承。
微信公众平台·1024程序员节·汉字·中华文化
新缸中之脑4 小时前
用Gemma 4构建自托管OCR
人工智能·ocr
_张一凡4 小时前
【文档解析】一文学懂百度千帆OCR模型细节及本地部署
深度学习·ocr·文档解析·千帆ocr·rag文档解析·qianfan-ocr
PieroPc5 小时前
销售单据 OCR 处理中心,Fastapi+Html, MiMo-V2-Omni、豆包怎理图片转Json数据
html·ocr·fastapi
weixin_408099675 小时前
【实战教程】EasyClick 调用 OCR 文字识别 API(自动识别屏幕文字 + 完整示例代码)
前端·人工智能·后端·ocr·api·安卓·easyclick
weixin_66820 小时前
OCR 模型深度对比分析报告 - AI分析
人工智能·ocr
weixin_4080996720 小时前
【完整教程】天诺脚本如何调用 OCR 文字识别 API?自动识别屏幕文字实战(附代码)
前端·人工智能·后端·ocr·api·天诺脚本·自动识别文字脚本
guslegend1 天前
第6节:OCR文本错漏频发?结合LLM纠错,让图像文本也能精确使用
人工智能·大模型·ocr·rag
weixin_408099672 天前
OCR 识别率提升实战:模糊 / 倾斜 / 反光图片全套优化方案(附 Python / Java / PHP 代码)
图像处理·人工智能·后端·python·ocr·api·抠图
weixin_408099672 天前
【实战教程】懒人精灵如何实现 OCR 文字识别?接口调用完整指南(附可运行示例)
java·前端·人工智能·后端·ocr·api·懒人精灵