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

相关推荐
蓝创工坊Blue Foundry20 小时前
PaddleOCR 本地部署教程:小模型 OCR 如何完成字段提取到 Excel
pdf·自动化·ocr·excel·paddlepaddle·paddle
蓝创工坊Blue Foundry1 天前
个人藏书太多怎么整理?用 OCR 字段提取汇总成电子书目
pdf·ocr·excel·文心一言·paddlepaddle·paddle
小保CPP2 天前
OpenCV C++校正AI模型检测到的文本(OCR)
c++·人工智能·opencv·计算机视觉·ocr
开开心心就好2 天前
Word双击预览图片插件弥补Word功能缺失
人工智能·python·智能手机·ocr·电脑·word·音视频
蓝创工坊Blue Foundry2 天前
扫描件批量转 Excel:先确认要整表还原还是字段汇总
python·pdf·ocr·excel
审小匠OpenCPAi3 天前
审计票据与财报 PDF 怎么识别?通用 OCR、表格结构识别与多模态大模型的精度对比
pdf·ocr·审计
小保CPP3 天前
OpenCV C++基于AI模型的场景文本识别(OCR)
c++·人工智能·opencv·计算机视觉·ocr
蓝创工坊Blue Foundry3 天前
批量提取图片中的数字:怎样整理成一张可核对的 Excel
python·ai·ocr·excel·paddlepaddle
求真学习4 天前
最新百度PaddleOCR开源HPD-Parsing,提出层级并行文档解析,1B模型解码步数最高压缩18倍,文档解析效率提升3倍!
百度·ocr·pdf解析·paddleocr·文档解析