DeepSeek-OCR:開啟OCR 2.0時代,智能文檔處理新標桿
在數字化轉型的浪潮中,文檔處理一直是企業和研究者面臨的重要挑戰之一。傳統OCR技術雖然能夠識別文本,但在處理復雜文檔、多語言內容以及大規模數據時存在諸多局限。最近DeepSeek團隊開源了DeepSeek-OCR模型,這一創新的視覺語言模型通過“上下文光學壓縮”技術,為文檔處理帶來了全新的解決方案。
一、項目概述
DeepSeek-OCR是由DeepSeek團隊開發的一款革命性的OCR模型,參數規模約30億(3B),采用“上下文光學壓縮”技術,將文本信息以視覺形式壓縮,使模型通過“看圖”來重建文本。該模型不僅繼承了傳統OCR的文本識別能力,更在文檔理解層面進行了全方位升級,能夠同時“看懂文字”“理解布局”“分析圖表”,真正實現了從“看見文字”到“理解內容”的跨越。

二、核心功能
(一)OCR純文字提取
DeepSeek-OCR支持對任意圖像進行自由式文字識別,能夠快速提取圖片中的全部文本信息,不依賴版面結構。這一功能適用于需要快速獲取圖像中文字內容的場景,如從廣告圖片、海報等提取文字,方便用戶進行進一步處理或分析。
(二)保留版面格式的OCR提取
DeepSeek-OCR能夠自動識別并重建文檔中的排版結構,包括段落、標題、頁眉頁腳等,實現“結構化文字輸出”。這一功能特別適合處理格式化的文檔,如合同、報告等,確保提取后的文本保留原始文檔的結構,便于后續編輯和處理。
(三)圖表& 表格解析
DeepSeek-OCR可以解析圖像中的結構化信息,如表格、流程圖等,并支持生成可機讀的表格或文本描述。這一功能在處理包含圖表和表格的文檔時非常實用,如學術論文、研究報告等,能夠將復雜的圖表信息轉換為可操作的數據格式。
(四)圖片信息描述
DeepSeek-OCR能夠對整張圖片進行語義級分析與詳細描述,生成自然語言總結。這一功能適用于需要對圖像內容進行整體理解的場景,如圖像標注、內容審核等,幫助用戶快速了解圖像的核心信息。
(五)指定元素位置鎖定
DeepSeek-OCR通過“視覺定位”功能,在圖像中準確定位特定目標元素。這一功能在需要查找特定內容的場景中非常有用,如在長文檔中快速定位關鍵詞或特定圖表,提高工作效率。
(六)Markdown文檔轉化
DeepSeek-OCR可以直接將完整的文檔圖像轉換為結構化Markdown文本。這一功能特別適合需要將文檔內容快速轉換為Markdown格式的用戶,如技術文檔編寫者、博客作者等,方便后續的編輯和發布。
(七)目標檢測(Object Detection)
DeepSeek-OCR能夠識別并定位圖片中的多個物體,為每個目標生成帶標簽的邊界框。這一功能在圖像分析和內容理解方面具有廣泛的應用,如安防監控、自動駕駛等領域,幫助用戶快速識別和定位圖像中的關鍵物體。
三、技術揭秘
(一)DeepEncoder編碼器
DeepEncoder是DeepSeek-OCR的關鍵組件,采用雙塔結構,包括SAM-base和CLIP-large。SAM-base用于感知局部特征,處理高分辨率輸入時內存占用低;CLIP-large用于提取全局語義信息,輸入經過壓縮后內存占用得到有效控制。此外,通過16×卷積壓縮模塊,將視覺令牌數量從4096減少到256,顯著降低了內存占用。
(二)多分辨率支持
DeepEncoder支持多種分辨率模式,包括Tiny(512×512)、Small(640×640)、Base(1024×1024)、Large(1280×1280)和Gundam(動態分辨率)。每種模式對應不同的輸入分辨率和視覺令牌數量,用戶可以根據具體需求選擇合適的模式。
(三)解碼器:DeepSeek3B-MoE-A570M
解碼器基于DeepSeek-3B-MoE架構,具有570M激活參數,負責將壓縮后的視覺令牌解碼為文本。通過非線性映射將視覺令牌轉換為文本表示,確保視覺令牌能夠準確轉換為文本。
(四)技術創新點
DeepSeek-OCR的創新之處在于其上下文光學壓縮技術,通過視覺模態對長文本進行高效壓縮,實現7-20倍的壓縮比。這一技術顯著降低了內存占用,提高了模型的推理速度。此外,DeepSeek-OCR支持近100種語言的文檔識別,能夠解析圖表、化學公式等復雜內容,為大規模文檔處理提供了高效解決方案。

四、應用場景
(一)大規模訓練數據生成
DeepSeek-OCR能夠快速、準確地處理海量文檔,每天可自動處理數十萬頁文檔,為大型語言模型和視覺語言模型生成高質量的訓練數據。這一功能極大地提高了數據準備的效率,降低了數據標注的成本,加速了模型訓練的進程。
(二)企業級文檔數字化
在企業環境中,DeepSeek-OCR可以將紙質合同、報告等各類文檔快速轉換為可搜索、可編輯的數字化格式。這不僅提高了文檔管理的效率,還增強了企業內部信息的流通和共享,為企業的數字化轉型提供了有力支持。
(三)學術研究與文獻處理
對于學術研究者來說,DeepSeek-OCR能夠精準解析學術論文中的復雜內容,如數學公式、化學式和圖表,并將其轉換為結構化的機器可讀格式。這一功能極大地簡化了文獻處理流程,提高了學術研究的效率和準確性。
(四)多語言國際化文檔處理
在全球化業務中,DeepSeek-OCR支持近100種語言的文檔識別,能夠輕松應對多語言文檔處理需求。這使得跨國企業或組織能夠高效地處理來自不同國家和地區的文檔,促進了全球業務的順利開展。
(五)金融與商業智能分析
在金融領域,DeepSeek-OCR能夠深度解析研究報告中的圖表,將其轉換為結構化數據,為財務分析和投資決策提供自動化支持。這一功能不僅提高了數據處理的效率,還減少了人工操作的錯誤,增強了決策的科學性和準確性。
五、快速使用
(一)環境準備
推薦使用CUDA 11.8和torch 2.6.0。以下是具體的環境搭建步驟:
# 安裝CUDA和torch
pip install torch==2.6.0 torchvisinotallow==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu118
# 創建并激活conda環境
conda create -n deepseek-ocr pythnotallow=3.12.9 -y
conda activate deepseek-ocr(二)安裝依賴
安裝DeepSeek-OCR所需的依賴包:
# 安裝vllm和transformers
pip install vllm-0.8.5+cu118-cp38-abi3-manylinux1_x86_64.whl
pip install -r requirements.txt
pip install flash-attn==2.7.3 --no-build-isolation(三)模型部署
1、使用vLLM進行推理
vLLM提供了高效的推理加速,適用于處理PDF等復雜文檔。以下是使用vLLM的示例代碼:
from vllm import LLM, SamplingParams
from vllm.model_executor.models.deepseek_ocr import NGramPerReqLogitsProcessor
from PIL import Image
# 創建模型實例
llm = LLM(
model="deepseek-ai/DeepSeek-OCR",
enable_prefix_caching=False,
mm_processor_cache_gb=0,
logits_processors=[NGramPerReqLogitsProcessor]
)
# 準備輸入圖像
image_1 = Image.open("path/to/your/image_1.png").convert("RGB")
image_2 = Image.open("path/to/your/image_2.png").convert("RGB")
prompt = "<image>\nFree OCR."
model_input = [
{
"prompt": prompt,
"multi_modal_data": {"image": image_1}
},
{
"prompt": prompt,
"multi_modal_data": {"image": image_2}
}
]
sampling_param = SamplingParams(
temperature=0.0,
max_tokens=8192,
extra_args=dict(
ngram_size=30,
window_size=90,
whitelist_token_ids={128821, 128822}, # whitelist: <td>, </td>
),
skip_special_tokens=False,
)
# 生成輸出
model_outputs = llm.generate(model_input, sampling_param)
# 打印輸出
for output in model_outputs:
print(output.outputs[0].text)2、使用Hugging Face Transformers進行推理
Hugging Face Transformers提供了靈活的推理接口,適用于快速原型開發和小規模部署。以下是使用Hugging Face Transformers的示例代碼:
from transformers import AutoModel, AutoTokenizer
import torch
import os
# 設置環境變量
os.environ["CUDA_VISIBLE_DEVICES"] = '0'
model_name = 'deepseek-ai/DeepSeek-OCR'
# 加載模型和分詞器
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModel.from_pretrained(model_name, _attn_implementatinotallow='flash_attention_2', trust_remote_code=True, use_safetensors=True)
model = model.eval().cuda().to(torch.bfloat16)
# 準備輸入
prompt = "<image>\n<|grounding|>Convert the document to markdown. "
image_file = 'your_image.jpg'
output_path = 'your/output/dir'
# 進行推理
res = model.infer(tokenizer, prompt=prompt, image_file=image_file, output_path=output_path, base_size=1024, image_size=640, crop_mode=True, save_results=True, test_compress=True)
# 打印結果
print(res)3、運行示例
在項目倉庫中,提供了多個運行示例,方便用戶快速上手:
# 克隆項目倉庫
git clone https://github.com/deepseek-ai/DeepSeek-OCR.git
cd DeepSeek-OCR-master
# 運行vLLM推理示例
cd DeepSeek-OCR-vllm
python run_dpsk_ocr_image.py # 圖像推理
python run_dpsk_ocr_pdf.py # PDF推理
# 運行Hugging Face Transformers推理示例
cd ../DeepSeek-OCR-hf
python run_dpsk_ocr.py通過以上步驟,你可以快速部署和使用DeepSeek-OCR,無論是處理圖像還是PDF文檔,都能輕松實現高效的OCR功能。
六、結語
DeepSeek-OCR作為OCR 2.0時代的典型代表模型,通過其創新的“上下文光學壓縮”技術,為文檔處理帶來了全新的視角和解決方案。無論是在大規模數據處理、多語言支持還是復雜文檔解析方面,DeepSeek-OCR都展現出了強大的性能和廣泛的應用前景。隨著技術的不斷發展和優化,DeepSeek-OCR有望在更多領域發揮重要作用,推動文檔處理技術的進一步發展。
項目地址
GitHub倉庫:https://github.com/deepseek-ai/DeepSeek-OCR
Hugging Face模型庫:https://huggingface.co/deepseek-ai/DeepSeek-OCR
技術論文:https://github.com/deepseek-ai/DeepSeek-OCR/blob/main/DeepSeek_OCR_paper.pdf
本文轉載自??小兵的AI視界??,作者:AGI小兵

















