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 等基準上進行測試。

如何開始

  1. 建立 conda 環境(Python 3.11)並安裝必要的函式庫 – PyTorch 2.8、transformersaccelerateflash‑attnvllm(用於快速推論)和 modelscope(可選)。
  2. 下載權重,使用提供的 download_model.py 腳本,選擇模型名稱(例如 MonkeyOCRv2-B)。
  3. 視覺編碼器 – 執行 vision/extract_feature.py(或針對 AS 變體執行 extract_feature_vitae.py)以取得圖像嵌入。
  4. 文件解析 – 啟動 vLLM 伺服器(parsing/serve.py)並呼叫 parsing/parse.py(CLI),或使用提供的 Gradio/FastAPI 示範來傳送 PDF 或圖像並接收 Markdown 版面。
  5. 文件理解 – 同樣地啟動 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),用於預訓練文件模型。

哪裡可以找到模型

典型使用案例示範 (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
  • 專案