type
Post
status
Published
date
Apr 15, 2026
slug
mineru2d5_pro
summary
MinerU最近发布了一个更新的Pro模型。在模型架构不变的约束下,通过优化数据工程与训练策略,实现了显著的精度提升。
tags
ocr
多模态
category
学习分享
icon
password

1. 前言

MinerU最近发布了一个更新的Pro模型。在模型架构不变的约束下,通过优化数据工程与训练策略,实现了显著的精度提升。
论文的核心动机在于:不同架构的SOTA的模型在面临困难样本(hard samples)时,往往呈现出相似的错误模式。这一现象表明,OCR 性能的瓶颈可能并不主要来自模型架构本身,而更可能受限于训练数据的质量与构成。MinerU在OmniDocbench中新增了hard sample,用于更有针对性的评估对于此类复杂场景的模型表现。
notion image

2. 数据工程

MinerU的数据工程主要分为4个阶段
  • Diversity-and-Difficulty-Aware Sampling
  • Cross-Model Consistency Verification
  • Judge-and-Refine pipeline
  • Targeted Expert Annotation
notion image

2.1 Diversity-and-Difficulty-Aware Sampling (DDAS)

核心目标:解决训练数据长尾分布的问题。具体而言,通常情况下,数据池的学术论文,单栏报告的占比较大,但嵌套表格,复杂公式排版,多栏排版的占比较低。这导致模型对此类低频的场景识别精度较差。下面看具体的做法。
notion image
stage1 Page-level sampling:
  • 提取所有PDF page的embedding(ViT base),并进行聚类;
  • 对每个cluster进行均匀采样,获得初始的侯选集(保证分布覆盖);
  • 对初始侯选集的每一个page通过CMCV获得复杂度标签;
  • 用复杂度标签的分布情况赋予cluster采样权重:
    • easy sample占比高→降权
    • difficulty分布多样→提权
    • invalid多(空白页、非目标语言)→ 过滤
  • 根据调整后的cluster权重,从原始数据池进行加权resample,扩展后选集;
  • 并补充计算所有sample的复杂度标签。
stage2 Element-level sampling:
  • 将stage1得到的页面候选集用MinerU2.5和paddleOCR VL进行layout检测,获得math/table/text的block-level的数据;
  • 分别对math/table/text进行聚类;
  • 执行block-level的CMCV获得element的difficulty的标签。
stage3 Sampling: 通过stage1,stage2我们得到layout/table/text/math的数据,每一个数据点包含cluster-difficulty两种粒度的信息,现在对他们在cluster-difficulty的联合空间进行采样。
  • 在diversity维度(解决长尾问题):
    • 大cluster进行下采样;
    • 小cluster进行上采样;
  • 在difficulty维度(提升训练信号的强度)
    • 提升medium/hard数据的权重
最终获得task-balanced,high diversity,high informativeness的训练数据。

2.2 Cross-Model Consistency Verification (CMCV)

DDAS策略依赖样本的复杂度,那么如何得到这个复杂度呢?这是CMCV回答的问题。
在过去,MinerU2.5的IMIC策略和paddle VL-1.5的UACS策略通过对单模型多次推理的一致性来度量这个复杂度。这个方法存在局限性:
  • 这个复杂度主要反应模型的“盲点”,而非通用的复杂度
对于模型盲点,我们可以通过多模型voting的方法来进行预标注。单对于通用的复杂case,可能所有模型的表现都不好,可能需要额外引入人工的干涉。 为了更好的刻画复杂度,作者引入CMCV的评估策略,核心思想是,通过多模型的预测差异性来度量这个复杂度
  • 若多个模型对同一个case的预测结果相近,说明是easy case。
  • 若多个模型对同一个case的预测结果不相近,分歧越大,说明复杂度越高。
💡作者采用MinerU2.5, PaddleOCR-VL,Qwen3-VL-30B作为解析模型。
公式用CDM,表格用TEDS,文本用edit distance作为结果是否相近的度量
作者划分了3个复杂度
  • Easy: MinerU2.5的结果至少与1个外部模型的结果相近。标注为easy的数据,预测的结果可以直接视作label。
  • Medium:MinerU2.5与外部模型的结果都不相近,外部模型的结果相近。可以将外部模型的标注作为此类case的伪标签。
  • Hard:所有模型的结果都不相近。这类数据的价值非常高,但标注成本高。对此类case的处理方式需要Judge-and-Refine correction和外部专家的标注。

2.3 Judge-and-Refine Annotation Pipeline

这个阶段主要为了解决复杂度为hard数据的自动标注问题,核心思想是render-then-verify。具体做法:
  • 将识别结果渲染成图片;
  • 将原始图片和渲染的图片送入到Qwen3-VL-235B中进行judge and refine;(这样做的动机在于若将图和预测序列送入到模型,会存在跨模态信息的gap,都转为视觉空间有助于模型捕获差异)
  • 重复上述两个过程,直至完成停止条件。 对于Judge-and-Refine也无法修复的case转入到2.4专家标注。

2.4 Targeted Expert Annotation

在经过 DDAS 采样、CMCV 难度分层以及 Judge-and-Refine 修正之后,Easy 和 Medium 样本已经具备可靠标注,但仍有一部分 Hard 样本超出了自动修正能力。针对这些样本,我们引入专家人工标注以保证最终质量。
标注预算的分配基于 Judge-and-Refine 的中间输出结果进行优先级排序:
  • Judge 置信度高但 Refine 修正不确定的样本优先级最高。此类样本的错误位置已由 Judge 定位,标注人员只需进行局部修正,从而最大化标注效率。
  • 优先覆盖当前模型最薄弱的子任务类别。这样可以在有限标注预算下最大化对整体性能的边际提升
人工标注采用“AI 预标注 + 专家审核与修正”的工作流程。在预标注阶段使用 Gemini 3 Pro。此外,还通过自动化质量评估工具进一步保证标注一致性。
最终,该数据引擎产出一个分层数据集:
  • 约65.5M条 Easy 和 Medium 样本,通过 CMCV 自动标注,用于 Stage 1 预训练;
  • 19.2 万条专家标注的 Hard 样本,用于 Stage 2 微调以及 Stage 3 的 GRPO 对齐。

3. 训练策略

采用3阶段渐进式训练范式。模型架构依旧沿用MinerU2.5:
  • encoder: NaViT 675M
  • decoder: Qwen2-0.5B 初始权重迁移MinerU2.5。 具体的训练配置见下表:
有几点需要注意的:
notion image
  • 65.5M训练数据的分布如下表。
  • stage2中多了一个3.9M得数据集。这是从65.5M条数据中采样得到。避免只在少量样本微调导致灾难性遗忘(catastrophic forgetting)。采样的规则设计中保证了hard sample的占比,一次强化模型在困难场景的表现
  • GRPO的reward设计与评估指标一致。即文本识别的reward为编辑距离;公式识别的reward为CDM;表格为TEDS;layout为IoU。
task
count
text recognition
21M
layout analysis
14M
formula recognition
13M
table recognition
11.5M
Other (chats, etc.)
6M
Qwen-VL系列解析(一)——Qwen2-VLNougat 深度剖析
Loading...