欢迎光临
我们一直在努力

文档智能专题:MinerU2.5-Pro架构不动,训练样本扩到6550万

(1)《三年面试五年模拟》AIGC / LLM / AI Agent 算法工程师与开发工程师求职面试秘籍,独家资源见 WeThinkIn/AIGC-Interview-Book,欢迎 Star! (2)AIGC / LLM / AI Agent 算法岗与开发岗求职面试内推学习社群,涵盖 AIGC、LLM 大模型、AI Agent、传统深度学习、自动驾驶、机器学习、计算机视觉、自然语言处理、强化学习、大数据挖掘、具身智能、元宇宙、AGI 等方向的最新面试干货与核心知识,欢迎加入(https://t.zsxq.com/33pJ0)!


论文标题:MinerU2.5-Pro: Pushing the Limits of Data-Centric Document Parsing at Scale 论文作者:上海人工智能实验室、北京大学、上海交通大学与商汤 发表时间:2026年4月6日


目录

    • 一、1.2B结构原样留下的对照实验
    • 二、DDAS按多样性与难度重采样
    • 三、CMCV三分难度与难样本修正
    • 四、OmniDocBench v1.6上Full分95.69
    • 五、本地部署与推理实践
    • 六、总结与思考

本文要点 (1)MinerU2.5-Pro是上海人工智能实验室等机构2026年4月发布的文档解析模型,1.2B结构与MinerU2.5相同。 (2)OmniDocBench v1.6的Full分95.69,同架构相对92.98涨2.71分,Hard子集94.08。 (3)做法上三点最值得看,DDAS按多样性与难度扩样本,CMCV三分难度,Judge-and-Refine用渲染图修难样本标签。 (4)短板在Base输给GLM-OCR 0.07分,手写公式输给Qwen3.5-397B,图像分析尚未走完数据引擎。 (5)文末附模型卡的vLLM推理示例。


上海人工智能实验室联合北京大学、上海交通大学和商汤,在2026年4月6日把MinerU2.5-Pro挂上arXiv,编号2604.04771,9日改到v2。我对照的是HTML版和Hugging Face模型卡。

他们把MinerU2.5的1.2B结构原样留下,视觉编码器仍是NaViT-675M,语言模型仍是Qwen2-0.5B。四个子任务加图像分析一共6550万条训练样本。OmniDocBench v1.6的Full分从92.98到95.69,同架构涨了2.71分。

这份成绩在当时超过了GLM-OCR、PaddleOCR-VL-1.5,也超过了Gemini 3 Pro和Qwen3-VL-235B。

MinerU2.5-Pro在OmniDocBench v1.6上的成绩,Full、Base、Hard三档并排

一、1.2B结构原样留下的对照实验

文档解析输入一页文档图,输出按阅读顺序组织的Markdown。MinerU2.5走解耦路线,先在降采样页上找块,再把原分辨率裁块送进识别。Pro没有改这条路。

报告做了一件更有说服力的对照。他们拿多种结构和体量的现成模型去扫同一批真实PDF,难样本上的失败模式高度重合。嵌套表、密公式这些坑,小模型和两百倍参数的大模型都会踩。

覆盖不够。MinerU2.5的训练数据不到1000万页,高频的论文和单栏报告占得太满,复杂嵌套表、密公式、非常规多栏很少。

标注更拧。最能拉动模型的难样本,恰好没有哪家能稳定解析对。脏标签进监督微调,错误会写进权重。只把数量堆上去,偏差和噪声会一起放大。

结构不动,只换数据和训练配方,涨分才能算到数据头上。

二、DDAS按多样性与难度重采样

数据引擎要同时做三件事。覆盖铺开,难样本进得去,标签经得住用。对应三个模块,DDAS负责采样,CMCV负责给难度分层,Judge-and-Refine负责把难样本的标签修干净。

数据引擎整体流程,DDAS采样、CMCV分层与难样本标注三条线

DDAS分两层。页级先用ViT-Base抽出512维特征,K-Means聚类,再让CMCV给每个簇打Easy、Medium、Hard。Easy扎堆的簇下调采样权重,难度分布散的簇上调,空白页和非目标语言直接丢掉。这一层大约收到6000万页。

DDAS在页级和元素级按簇规模与难度重采样

元素级把这些页拆成文本、公式、表格块,各自再聚类、再打难度。版面、文本、公式、表格四个子任务都有多样性和难度两个轴。大簇下调,小簇上调,Medium和Hard加权,最后拼成监督微调集。

三、CMCV三分难度与难样本修正

难度标签从哪来。MinerU2.5自己那套IMIC,还有PaddleOCR-VL-1.5的UACS,都是同一模型多跑几次看稳不稳。这只能看见自家的不确定,分不清是模型自己的盲区,还是谁都啃不动。

CMCV换成三家异构模型交叉核验。MinerU2.5、PaddleOCR-VL、Qwen3-VL-30B各跑一遍,文本看编辑距离,表格看TEDS,公式看CDM。

Easy,MinerU2.5至少和一家外部模型高度一致,标签可以直接用。

Medium,两家外部模型彼此一致,MinerU2.5却差得远,外部共识当伪标签,报告认为这批训练价值最高。

Hard,三家两两都对不上,共识给不出可靠标签。

Easy和Medium自动标注,大约6550万条,进第一阶段预训练。Hard要另走修补。

模型直接检查自己的LaTeX或HTML,容易自己给自己放行。公式和表格从结构化文本反推视觉长什么样,本来就难。他们改成先把LaTeX编译、HTML渲染成图,原图和渲染图成对送给判别模型。渲染会把漏掉的行列分隔符、没闭合的标签放大成版面乱掉,眼睛能看见。

判别和修正用的是Qwen3-VL-235B,故意不放进CMCV那三家,避免自己审自己。多轮仍修不好的,按修正效率和当前最弱的子任务分配人工额度。预标注用Gemini 3 Pro,同样不进CMCV池。最后留下19.2万条专家标注的Hard样本。

四、OmniDocBench v1.6上Full分95.69

结构仍是NaViT-675M加Qwen2-0.5B,从MinerU2.5的Stage 0检查点接着训。

第一阶段用6550万条Easy和Medium,文本2100万、版面1400万、公式1300万、表格1150万,外加600万图像分析。相对MinerU2.5 Stage 1每轮690万、跑两轮,体量大约一个数量级。Full分到94.29,单段涨了1.31分。

第二阶段用19.2万条Hard,再按子任务配回放。版面Hard与回放按6比1混合,文本1比50,公式1比25,表格1比10。版面难样本多、第一阶段已经较稳,回放可以少。文本难样本少,回放要多,免得把常见排版忘掉。学习率改成5e-5。Full到95.25,再涨0.96。表格TEDS从90.37到92.87,这一段主要补表。

第三阶段用GRPO,按组内相对好坏更新,不用另训价值网络。奖励直接用评测指标,文本编辑距离、公式CDM、表格TEDS、版面类别IoU。每条样本采16组,只留中等奖励区间。Full落到95.69,这一段再涨0.45分。公式CDM从96.48到97.29。

他们同时把评测协议升到OmniDocBench v1.6,修正了v1.5的元素匹配偏差,并加了296页Hard子集。Base 1355页,Full 1651页。匹配算法怎么改,留给OmniDocBench那篇,这里只看分数。

模型参数量FullBaseHard
MinerU2.5-Pro 1.2B 95.69 96.12 94.08
GLM-OCR 0.9B 95.15 96.19 92.01
PaddleOCR-VL-1.5 0.9B 94.87 95.72 92.01
PaddleOCR-VL 0.9B 94.11 94.49 92.48
MinerU2.5 1.2B 92.98 93.23 91.65
Gemini 3 Pro 未公开 92.85 92.96 91.99
Qwen3-VL-235B 235B 89.78 90.08 88.45

Full第一,95.69。Base上GLM-OCR 96.19,MinerU2.5-Pro 96.12,差0.07,标准页已经挤在一起。Hard上94.08,第二名是PaddleOCR-VL的92.48。HunyuanOCR从Base 92.45掉到Hard 82.69,掉了9.76分。MinerU2.5-Pro只掉2.04分。

阅读顺序Full上Youtu-Parsing的编辑距离0.116更好,MinerU2.5-Pro是0.120。手写公式HWE上Qwen3.5-397B拿到97.59,MinerU2.5-Pro是95.38。

中文公式子集上,原版MinerU2.5的95.50还略高于Pro的95.28。图像分析这条线报告自己承认,这版还没把数据引擎压上去。

附录里旋转表格那组定性对比,PaddleOCR-VL、原版MinerU2.5、GLM-OCR都会错行或丢格,Pro把旋转结构和内容收回来了。

旋转表格上的定性对比,红框标出错行和缺格

榜分测的是单页内容识别。附录另外写了截断段落合并、图表解析和表内图片。截断段落在相邻文本块边界上做合并不合并的二元判断,转Markdown时靠这个把碎段拼回去。

五、本地部署与推理实践

权重在Hugging Face,协议Apache 2.0。模型卡推荐vLLM,写明vllm-async-engine在一张A100上并发速度2.12 fps。封装用mineru-vl-utils,two_step_extract对应先版面后识别。

pip install "mineru-vl-utils[vllm]"

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
)

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

几个值得留意的参数。image_analysis默认关,要解析图表再打开。vLLM不低于0.10.1时要挂上MinerULogitsProcessor。转Markdown用官方的json2md,它会按版面输出的合并标记把截断段落拼回去。跨页表格合并模型卡仍写着正在接入。

transformers后端的示例也在模型卡里,要求transformers不低于4.56.0,加载类是Qwen2VLForConditionalGeneration。

六、总结与思考

这篇报告把一次干净的对照做完了。1.2B不动,数据和配方换完,Full分到95.69。Base已经挤在小数点后,Hard才分得出谁在啃长尾。

CMCV把谁都不会和只有我不会分开,Medium直接拿外部共识当标签,这个分工很实用。Judge-and-Refine把渲染图塞回去,也比让模型在纯文本里自己反省靠谱。

短板写在纸上。标准页输给GLM-OCR一截,手写公式输给通用大模型,图像分析还没走完数据引擎,跨页表格合并到模型卡发布时仍未接入。文档内部的层级、图表和正文的绑定、跨页语义连续,报告把这些放到下一步,OmniDocBench也还测不到。


参考链接

  • 论文原文 arXiv 2604.04771 v2,2026年4月
  • 模型权重与推理示例 opendatalab/MinerU2.5-Pro-2604-1.2B
  • 代码仓库 opendatalab/MinerU
  • OmniDocBench榜单
  • 对比方案 PaddleOCR-VL、GLM-OCR技术报告
赞(0)
未经允许不得转载:171主机测评 » 文档智能专题:MinerU2.5-Pro架构不动,训练样本扩到6550万
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址