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
  • 项目