OpenDataLab/MinerU2.5-Pro-2604-1.2B
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

MinerU2.5-Pro:突破大规模数据驱动文档解析的极限

技术报告 HuggingFace ModelScope


图片

🏆 无与伦比的SOTA性能

MinerU2.5-Pro是我们最新的文档解析模型(PDF转Markdown),树立了新的行业标准。该模型完全专注于数据工程,未改变原始的12亿参数架构,却在各方面均取得了卓越成果:

1. 在OmniDocBench v1.6上超越主流模型 在新提出的、严格度极高的OmniDocBench v1.6基准测试中,MinerU2.5-Pro取得了95.69的绝对SOTA综合得分。它全面超越了顶级专业OCR模型(GLM-OCR、PaddleOCR-VL-1.5)和大型前沿视觉语言模型(Gemini 3 Pro、Qwen3-VL-235B)。

2. 通过数据工程实现MinerU 2.5的大幅跃升 与上一代MinerU 2.5基准模型相比,综合得分从92.98飙升至95.69。这一突破并非通过扩大模型参数规模实现,而是依靠精心的数据工程——大幅扩展数据规模、丰富数据分布与难度多样性,并系统性提升标注质量。

3. 各模态的显著突破

  • 📊 表格解析:在5个不同的表格基准测试中,MinerU2.5-Pro均位居榜首。它比第二名模型高出1.39分,比原始MinerU高出3.06分(其中在OmniDocBench上的Table TEDS得分尤其提升了**+5.54**)。
  • 🧮 公式与文本:达到SOTA水平,密集公式解析(CDM)得分达97.29(提升1.70),文本编辑距离降至行业最佳0.036。

4. ✨ 新增实用功能 除指标提升外,MinerU2.5-Pro现在原生支持:图像与图表解析、截断段落合并、跨页表格合并以及表格内图像识别。


💡 实现方法:数据引擎

当前的SOTA模型(无论采用何种架构)在同一批复杂布局上均表现不佳。我们意识到,真正的瓶颈在于训练数据不足和标注噪声。为解决这一问题,我们构建了全新的数据引擎:

  1. 难度与多样性感知的规模扩展:我们将训练语料库从不足1000万页扩展至6550万页,重点关注长尾难样本,同时控制分布偏移。
  2. 解决“标注悖论”:复杂表格和密集公式的自动标签通常存在噪声。我们通过跨模型一致性验证(CMCV) 和迭代式判断-优化流水线,生成了超高可靠性的标注。
  3. 三阶段渐进式训练:通过将数据质量层级与结构化训练流水线相匹配,最大化数据效用:大规模预训练 ➡️ 高质量难样本微调 ➡️ GRPO格式对齐。

核心结论:MinerU2.5-Pro证明,系统化的数据工程是文档解析的终极杠杆,为LLM数据管道和高级RAG系统提供了当今最准确的结构化提取能力。

1. 快速入门

为方便使用,我们提供了 mineru-vl-utils 这一 Python 包,用于简化向 MinerU2.5-Pro 视觉语言模型发送请求和处理响应的流程。以下是使用 MinerU2.5-Pro 的一些示例。更多信息和用法,请参考 mineru-vl-utils。

📌 我们强烈建议使用 vllm 进行推理,因为 vllm-async-engine 在单张 A100 上可实现 2.12 fps 的并发推理速度。

1.1. 安装包

# For `transformers` backend
pip install "mineru-vl-utils[transformers]"
# For `vllm-engine` and `vllm-async-engine` backend
pip install "mineru-vl-utils[vllm]"

1.2. transformers 示例

from transformers import AutoProcessor, Qwen2VLForConditionalGeneration
from PIL import Image
from mineru_vl_utils import MinerUClient

# for transformers>=4.56.0
model = Qwen2VLForConditionalGeneration.from_pretrained(
    "opendatalab/MinerU2.5-Pro-2604-1.2B", dtype="auto", device_map="auto"
)

processor = AutoProcessor.from_pretrained(
    "opendatalab/MinerU2.5-Pro-2604-1.2B", use_fast=True
)

client = MinerUClient(
    backend="transformers", model=model, processor=processor,
    image_analysis=False # default False, set True to enable image/chart analysis
)

print(client.two_step_extract(Image.open("/path/to/page.png")))

1.3. vllm-engine 示例(推荐!)

from vllm import LLM
from PIL import Image
from mineru_vl_utils import MinerUClient
from mineru_vl_utils import MinerULogitsProcessor  # if vllm>=0.10.1

llm = LLM(
    model="opendatalab/MinerU2.5-Pro-2604-1.2B",
    logits_processors=[MinerULogitsProcessor]  # if vllm>=0.10.1
)

client = MinerUClient(
    backend="vllm-engine", vllm_llm=llm,
    image_analysis=False # default False, set True to enable image/chart analysis
)

print(client.two_step_extract(Image.open("/path/to/page.png")))

1.4. JSON 结果转 Markdown(启用截断段落合并)

from mineru_vl_utils.post_process import json2md

# ... omit client initialize
content_list = client.two_step_extract(Image.open("path/to/page.png"))
md_res = json2md(content_list)

🚧 跨页表格合并:目前正在集成中,敬请期待!

2. 性能表现

2.1. OmniDocBench v1.6 端到端文档解析

Image

2.2. 文字识别

Image

2.3. 公式识别

Image

2.4. 表格识别

Image

3. 功能展示

3.1. 基础解析能力

Image

Image

Image

3.2. 额外支持功能

Image

Image

Image

Image

4. 致谢与引用

感谢 Qwen Team、vLLM、OmniDocBench、PaddleOCR、UniMERNet、DocLayout-YOLO 提供的宝贵代码和模型。同时也感谢所有为这个开源项目做出贡献的人!

如果您觉得我们的工作对您的研究有所帮助,欢迎点亮 star ⭐ 并引用 📝:

@misc{wang2026mineru25propushinglimitsdatacentric,
      title={MinerU2.5-Pro: Pushing the Limits of Data-Centric Document Parsing at Scale}, 
      author={Bin, Wang and Tianyao, He and Linke, Ouyang and Fan, Wu and Zhiyuan, Zhao and Tao, Chu and Yuan, Qu and Zhenjiang, Jin and Weijun, Zeng and Ziyang, Miao and Bangrui, Xu and Junbo, Niu and others},
      year={2026},
      eprint={2604.04771},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2604.04771}, 
}