Yuliang-Liu/MonkeyOCRv2
MonkeyOCRv2 Vision Encoder — A Document-Native Visual Backbone
MonkeyOCRv2 – 用於 Document AI 的視覺文字基礎模型
這是什麼 – MonkeyOCRv2 是一個開源、以文件為導向的視覺編碼器,加上一套用於 OCR 風格任務(文字偵測、識別、解析、理解、公式識別等)的下游模型。它以 Hugging Face/ModelScope 模型庫的形式發布,可以輕鬆插入任何 PyTorch/Transformers 流程中。
關鍵組件
| 組件 | 用途 | 典型大小 |
|---|---|---|
| 視覺編碼器 (MonkeyOCRv2‑S /‑B /‑AS) | 從文件圖像中提取圖像特徵。基於 ViT‑S、ViT‑B 或 ViTAE‑v2‑S 主幹網路建構。 | 28 M – 113 M 參數 |
| 解析模型 (‑S‑Parsing /‑B‑Parsing) | 多語言具備版面感知的文件解析(表格、標題等)。 | ~0.6‑0.7 B 參數 |
| 理解模型 (‑S‑Und /‑B‑Und) | 端到端文件問答(DocVQA、InfoVQA、ChartQA 等)。 | ~1.7‑1.8 B 參數 |
所有模型均支援 17 種語言(拉丁與非拉丁文字系統),並已在 MDPBench、DocVQA、OCRBench、Union14M 等基準上進行測試。
如何開始
- 建立 conda 環境(Python 3.11)並安裝必要的函式庫 – PyTorch 2.8、
transformers、accelerate、flash‑attn、vllm(用於快速推論)和modelscope(可選)。 - 下載權重,使用提供的
download_model.py腳本,選擇模型名稱(例如MonkeyOCRv2-B)。 - 視覺編碼器 – 執行
vision/extract_feature.py(或針對 AS 變體執行extract_feature_vitae.py)以取得圖像嵌入。 - 文件解析 – 啟動 vLLM 伺服器(
parsing/serve.py)並呼叫parsing/parse.py(CLI),或使用提供的 Gradio/FastAPI 示範來傳送 PDF 或圖像並接收 Markdown 版面。 - 文件理解 – 同樣地啟動
understanding/serve.py並使用自然語言問題執行understanding/infer.py。
特殊注意事項
- CPU 支援 – 自 2026‑08‑22 起,解析服務可以在 CPU 上執行(請參閱
docs/cpu_support.md)。 - DFlash 加速 – vLLM 0.25.1 + CUDA 12.9+ 可為 B‑Parsing 模型帶來高達 2 倍的推論速度。
- MonkeyDoc v2 資料集 – 發布了 113 M 圖像文字對語料庫(下載後約 10 TB),用於預訓練文件模型。
哪裡可以找到模型
- Hugging Face 集合:
zenosai/MonkeyOCRv2‑* - ModelScope 對應版本:
zenosai/MonkeyOCRv2‑* - 示範 UI: http://vlrlabmonkey.xyz:8891/
典型使用案例示範 (Python)
from transformers import AutoModel
# Load the vision backbone
encoder = AutoModel.from_pretrained(
"zenosai/MonkeyOCRv2-B",
trust_remote_code=True,
dtype="auto",
device_map="auto",
)
為什麼重要 – 透過提供單一、原生文件的視覺編碼器與高效能的多語言解析/理解頭,MonkeyOCRv2 讓研究人員與開發者能夠建構 OCR 流程,開箱即用於掃描的 PDF、照片、科學論文、歷史文件,甚至是遙測報告,而無需將個別的偵測、識別和版面模型拼湊在一起。
相關
- 專案
- Dispatch
- 專案
- Dispatch
- 專案