opensource_community
兼容性与性能决策报告 · 脱敏公开版

MinerU on 海光 Z100

本报告分别评估 MinerU 3.4.4 生产基线与 MinerU 4.0.7 实验路线,说明当前部署配置及其测试依据。详细故障记录与复现命令见独立实验档案。

硬件 Z100 · gfx906 · 16 GB × 4 系统 CentOS 7.6 · glibc 2.17 工具链 GCC 12.2 · DTK 26.04 版本 MinerU 3.4.4 / 4.0.7 调度 Slurm
01

主要结论

问题结论状态
稳定批量生产3.4.4 pipeline + 常驻 Z100 worker生产基线
快速预览 / 建索引4.0.7 Flash可用
4.x 高质量本地解析4.0.7 Basic:ONNX CPU 或常驻 Torch/DCU可用
Standard / AdvancedTransformers VLM 隔离补丁已通过功能验证,仅用于实验实验性
批量入口Slurm-native mineru-drop,支持 3.x / 4.x adapter已验证
955/h
3.4.4 四卡服务池吞吐
12 s
3.4.4 暖态 14 页 GOC
2.64 s
4.0.7 Basic/Torch 暖态 2 页
4 / 4
4.0.7 功能验证通过
结论摘要

4.0.7 已经“能用”,但还没有替代 3.4.4 的生产证据;生产与实验环境保持并行,不原地升级。

02

测试范围与方法

报告不把不同档位、不同冷热状态和不同页数混成一个“速度排名”。

证据用途限制
同 PDF、同页范围、同资源3.4.4 pipeline 与 4.0.7 Basic 冷态对比输出协议不同
同进程重复解析测模型常驻后的暖态速度不含 Slurm 排队
服务池并发压测测生产吞吐、背压和故障恢复仅 3.4.4 完成长期验证
单页 VLM smoke证明 Standard / Advanced 能运行不能外推长文档吞吐
  • 冷态:新进程,包含 import、模型加载和首次执行。
  • 暖态:同一进程复用已加载模型。
  • Flash 与 Basic/pipeline 质量不同,不直接比较质量等价吞吐。
03

测试平台与运行时环境

能力实测含义
FP32 GEMM约 9.1 TFLOPS跨复验稳定
FP16 GEMM约 16.1 TFLOPS约为 FP32 的 1.8×
BF16 GEMM约 5.8 TFLOPS无硬件收益
Triton / torch.compile不可用gfx906 与 DTK 运行时边界
vLLM HIP kernelPagedAttention 可运行不等于完整 vLLM 服务已兼容

统一运行时闭包

CentOS 7 的 glibc 2.17 无法直接加载部分 wheel。两套环境都复用同一个原则:

module purge
module load compiler/gcc/12.2.0 compiler/dtk/26.04

<GLIBC_2_28_LD_SO> \
  --library-path "<GLIBC_LIB>:<GCC_LIB>:<DTK_LIBS>:<SYSTEM_LIBS>" \
  <VENV>/bin/python "$@"

sitecustomize.py 同时把 multiprocessing spawn worker 指向该 launcher,避免子进程掉回系统 glibc。

04

MinerU 3.4.4 生产环境基线

3.4.4 的价值不在“版本旧”,而在已经完成质量、稳态吞吐、背压、重试和故障恢复验证。

项目结果
后端pipeline
4 卡服务池955 docs/hour,并发 12
稳定性72 请求,0 失败,0 拒绝
暖态 GOC14 页约 12 秒,0.86 s/页
故障恢复压测中 kill worker,自动重建,请求不丢
内存72 请求前后 RSS 无增长
客户端 │ ▼ Slurm 服务池网关 ── 背压 / 最小负载 / 重试 │ ├── Z100 worker 0 ├── Z100 worker 1 ├── Z100 worker 2 └── Z100 worker 3
保留原因

它仍是当前唯一拥有完整生产压测证据的路径。除非 4.0.7 完成等价语料、暖态服务和故障实验,不切换默认生产 adapter。

05

MinerU 4.0.7 实验环境与验证

4.0.7 使用独立 venv、模型目录和配置,不覆盖 3.4.4。新版以 tier 表达质量,以 small_backend 和 vlm.engine 表达实际引擎。

旧 3.x4.0.7 对应实现
快速原生解析Flash原生文本 / Flash OCR
pipelineBasicONNX 或 Torch 小模型
hybrid-engineStandard小模型 + VLM
vlm-engineAdvanced更高 VLM 推理投入

实验环境配置

MinerU             4.0.7
DocVortex          0.5.1
ONNX Runtime       1.20.1
Torch              2.7.1 + DTK 26.04
torchvision        0.22.0 + DTK 26.04
Transformers       5.17.0
NumPy              1.26.4
OpenCV             4.11.0

官方 llama.cpp Linux wheel 要求 glibc 2.34,当前用户态运行时仅到 2.28。 Standard / Advanced 因此使用隔离补丁暴露源码中已有的 Transformers backend。

06

Basic 模式性能优化

性能瓶颈不是单页算子,而是“每个任务新建 Python + 加载全部模型”。

ONNX Runtime CPU 线程配置

intra-op 线程冷态 2 页暖态 2 页建议
476.29 s10.43 s资源保守
831.63 s6.60 s总吞吐优先
1633.64 s6.13 s单 worker 延迟优先

Torch / Z100

状态2 页耗时变化
冷态198.12 s模型加载主导
暖态,SDPA 回退 math2.86 s复用 singleton
暖态,eager formula attention2.64 s再快约 8%
已落地

mineru4-drop 每个 Slurm worker 常驻一个 MinerUParser,并在 gfx906 上关闭公式 SDPA。 14 页强制拆为 8+6 页后,首块 148.8 秒,第二块仅 10.3 秒。

07

3.4.4 与 4.0.7 受控对比

同一 GOC PDF、第 1–2 页、8 CPU、27 GB;DCU 路径均使用 1 张 Z100。

版本 / 路径Slurm 总耗时模型阶段判断
3.4.4 pipeline / CPU165 s36.95 s基线
4.0.7 Basic / ONNX CPU93 s37.15 s外围启动更短
3.4.4 pipeline / Z100236 s60.02 s冷态 DCU 更快
4.0.7 Basic / Torch Z100293 s71.97 s冷态更慢
  • CPU 模型阶段几乎不变;4.0.7 冷启动优势来自 import、预处理和输出链。
  • DCU 冷态 4.0.7 更慢,但暖态降到 2.64 秒 / 2 页。
  • 跨版本输出协议不同,因此总耗时是应用级比较,不是纯 kernel benchmark。
08

4.0.7 功能验证

Tier资源 / 后端样本结果定位
FlashCPU 原生文本14 页69 s 作业,模型阶段 16.8 s预览 / 索引
BasicONNX CPU / Torch Z1002 页与 14 页分块通过并优化本地高质量
StandardTorch + Transformers VLM1 页冷态160.9 s实验性
AdvancedTransformers VLM1 页暖态24.3 s实验性
不要误读

Standard 是首次加载,Advanced 复用了同一进程中的 VLM;两者不能据此做质量或速度排名。 这组数据只证明四档均能在目标环境完成真实解析。

09

MinerU Drop 批量处理入口

本机 push 文件 / 目录 │ ▼ 共享 inbox ── SHA256 / 页数 / 分块计划 │ ▼ Slurm job array ── 每 worker 一张 DCU、模型常驻、原子领取任务 │ ▼ afterany CPU merge ── Markdown / JSON / 图片 / manifest │ ▼ status / retry / fetch

适配器实现

远端根版本用途
mineru-drop3.4.4稳定生产默认
mineru4-drop4.0.7 Basic/Torch新版协议与实验批量
# 3.4.4
mineru-drop push <PDF_OR_DIRECTORY>

# 4.0.7
mineru-drop --remote-root mineru4-drop push <PDF_OR_DIRECTORY>

# 通用
mineru-drop [--remote-root ...] status --batch <BATCH_ID>
mineru-drop [--remote-root ...] retry  --batch <BATCH_ID>
mineru-drop [--remote-root ...] fetch  --batch <BATCH_ID>

长文档默认 128 页以内整篇,超过后按 96 页分块。少量长文档优先 1 个 worker, 避免多个 worker 各自承担一次模型冷启动;大量文档再扩到 4 个 worker。

10

部署配置建议

批量最终解析

3.4.4 pipeline
已有四卡吞吐、稳定性、背压和故障恢复证据。

快速检索与预览

4.0.7 Flash
无需本地大模型,适合第一遍扫描和索引。

4.x 输出协议场景

4.0.7 Basic
CPU 用 ONNX 8/16 线程;Z100 必须常驻模型。

复杂页面解析评估

Standard / Advanced
仅人工指定小批量,不进入默认自动路由。

推荐路由

原生文本,只需索引        → 4.0.7 Flash
需要最终 Markdown / JSON  → 3.4.4 pipeline
必须使用 4.x schema       → 4.0.7 Basic
极复杂页面、人工复核      → Standard / Advanced
11

复现方法与适用边界

最小复现约束

  • 登录节点准备依赖和模型;计算节点离线运行。
  • module 必须在 venv 之前加载。
  • 主进程与 spawn 子进程必须共用 glibc 2.28 launcher。
  • Slurm 脚本必须传递真实工作负载退出码。
  • 4.0.7 ONNX Runtime 1.20.1 使用重打标签 wheel,只能在外部 glibc 2.28 下运行。

已知限制

边界影响
gfx906 无 Flash AttentionTorch 公式/VLM attention 回退;已对公式模型改用 eager
mineru-llama-cpp 要求 glibc 2.34官方本地 Standard/Advanced 引擎不可装
厂商 vLLM 版本低于 4.0.7 声明范围未作为 4.x 默认 VLM 引擎
跨分块段落与表格manifest 明确提示,需要抽样审阅
初始实验:2026-08-12 ~ 2026-08-13 · 双版本重构:2026-09-27 · 脱敏公开版