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