Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ jobs:
- run: pip install -e ".[dev]"
- run: pytest -q
- run: ruff check .
- run: python scripts/validate_schemas.py
- run: python scripts/generate_evidence_manifest.py --check
- run: python scripts/smoke_test.py --check-only
- run: python scripts/check_repo.py
- run: reuse lint
- run: python -m build
Expand Down
8 changes: 4 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ All notable changes to MinerU-ROCm are documented here. The format is based on
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

Versions are tagged on `main`; see `docs/superpowers/specs/` for the design
behind each phase and `reproducibility.lock.yaml` for the exact provenance.
behind each phase and `REPRO.yaml` for the exact provenance.

## [1.0.0] — 2026-07-23

Expand Down Expand Up @@ -64,7 +64,7 @@ Cross-repo consistency fix with OmniDocBench-ROCm P0.1 (platform 0.3.1).
### Fixed
- `scripts/check_repo.py`: replaced the hard-coded `_STALE=95.56` /
`_CURRENT=95.46` gate with a **data-driven** check sourced from
`reproducibility.lock.yaml` (current overall) + the legacy v1.6 metric
`REPRO.yaml` (current overall) + the legacy v1.6 metric
(prior overall): the README VLM badge must state the current overall, and the
prior overall may appear only alongside the current one.
- `Makefile` `eval-*` targets: `--cdm` on by default, `--skip-existing` only
Expand Down Expand Up @@ -103,7 +103,7 @@ Hardening for upstream MinerU PR #5288 (ROCm docs contribution) — evidence-bas
- `docs/upstream-pr/` — staged docs-only contribution to `opendatalab/MinerU` (zh AMD.md section + README GPU row + #5288 process-gate comment).

### Resolved (previously open in [0.1.0])
- The **official upstream anchor** is now verified and sourced from the upstream README "Local Deployment" table (vlm-engine 95.30, pipeline 86.47) — see `reproducibility.lock.yaml` → `benchmark.official_reference: source: verified`. The prior withdrawn unofficial anchor is no longer cited anywhere in user-facing surfaces.
- The **official upstream anchor** is now verified and sourced from the upstream README "Local Deployment" table (vlm-engine 95.30, pipeline 86.47) — see `REPRO.yaml` → `benchmark.official_reference: source: verified`. The prior withdrawn unofficial anchor is no longer cited anywhere in user-facing surfaces.
- `mineru`/`mineru_vl_utils` upstream commits are now pinned in the lock (resolved via `git ls-remote`).

## [0.1.0] — 2026-07-19
Expand All @@ -124,7 +124,7 @@ scoring, and reproducibility lock.
- **`scripts/check_repo.py`** — CI consistency gate: AST no-engine-import scan,
`pip install -e .` smoke (PEP 639 guard), SPDX-header check, README↔lock
value cross-check (drift gate).
- **`reproducibility.lock.yaml`** — filled with byte-exact SHAs (code commit,
- **`REPRO.yaml`** — filled with byte-exact SHAs (code commit,
model weights, GT json, eval config, scorer commit) + the re-run metrics +
both venvs' full environment. The single source of truth.
- **Results reproduced** via `mineru-rocm predict | score` on AMD gfx1100:
Expand Down
42 changes: 28 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
[![OmniDocBench v1.6](https://img.shields.io/badge/OmniDocBench-v1.6-blue)](https://github.com/opendatalab/OmniDocBench)
[![VLM full](https://img.shields.io/badge/MinerU2.5--Pro%20VLM%20(full)-95.56-green)](#evaluation)
[![pipeline full](https://img.shields.io/badge/MinerU%203.4%20pipeline%20(full)-86.48-yellowgreen)](#evaluation)
[![status: evaluation-backed](https://img.shields.io/badge/status-evaluation--backed-blue)](reproducibility.lock.yaml)
[![status: evaluation-backed](https://img.shields.io/badge/status-evaluation--backed-blue)](REPRO.yaml)
[![license: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0%20(+MinerU%20terms)-blue)](NOTICE)

## At a glance
Expand All @@ -21,6 +21,14 @@
- **Most important limitation.** **Not precision-aligned.** No same-engine CUDA control exists; the upstream headline may be measured with a different engine. The official anchor (vlm-engine 95.30) is aligned to the upstream README "Local Deployment" table and is **community-verified, not official support**.
- **Upstream.** This is a port OF [opendatalab/MinerU](https://github.com/opendatalab/MinerU); the [omnidocbench-rocm](https://github.com/AIwork4me/OmniDocBench-ROCm) engine is one *optional* consumer (install the `[platform]` extra), not the definition of this repo.

> **Support scope.** These configurations are **community-tested** on the
> explicitly listed hardware and software versions (see
> [`docs/hardware-matrix.md`](docs/hardware-matrix.md)). They do **not**
> represent generic AMD GPU support, MinerU upstream support guarantees, or AMD
> product certification. Status terms (`community-tested` /
> `independently-reproduced` / `experimental` / `not-tested`) are defined in
> [`docs/reproducibility-attestation.md`](docs/reproducibility-attestation.md).

## Install

The core package is GPU-free and has no platform dependency.
Expand Down Expand Up @@ -114,15 +122,13 @@ developer debugging — see `docs/reproducibility.md` for the full recipe.
| **ours MinerU2.5-Pro (vlm-vllm, ROCm)** | **95.56** | 0.0359 | 96.73 | 93.54 |
| ours MinerU2.5-Pro (vlm-transformers, ROCm) | _sample-only_ | | | |

The `vlm-vllm` row is reproduced on linux-rocm (self-attested, `badge: community`):
1651/1651 pages attempted, 1649 non-empty predictions (2 empty), no process
crashes; ~7 h on a single GPU (gfx1100); read-order EditDist 0.1240.
Overall 95.56 is consistent with the published upstream reference range
1651/1651 pages attempted, 1649 non-empty predictions (2 empty), no process
crashes; ~7 h on a single GPU (gfx1100); read-order EditDist 0.1240. The
lm-llamacpp row is reproduced on windows-hip (Strix Halo): 1649/1651 ok,
2 empty (cover/decoration pages), Overall 95.46 identical to the Linux vLLM
standalone score. See docs/windows-vlm-phase2.md.
The `vlm-vllm` row is reproduced on linux-rocm (self-attested, `badge: community`): 1651/1651 pages attempted, 1649 non-empty predictions (2 empty), no process crashes; ~7 h on a single GPU (gfx1100); read-order EditDist 0.1240. Overall 95.56 is consistent with the upstream vlm-engine anchor (95.30; Δ +0.26 pp — **not** a controlled CUDA-vs-ROCm comparison). The `vlm-llamacpp` row is reproduced on windows-hip (Strix Halo): 1649/1651 ok, 2 empty (cover/decoration pages), Overall 95.46. See `docs/windows-vlm-phase2.md`.

### Results — MinerU 3.4 Pipeline (supplementary, `mineru-pipeline`)

| Model / Backend | Overall | Text Edit | Formula CDM | Table TEDS |
|---|---:|---:|---:|---:|
| _official_ MinerU 3.4 pipeline _(upstream README; community-verified, not official support)_ | 86.47 | — | — | — |
| **ours MinerU 3.4 pipeline (ROCm gfx1100, linux-rocm)** | **86.48** | 0.0566 | 83.07 | 82.04 |
| **ours MinerU 3.4 pipeline (Strix Halo, windows-hip)** | **86.59** | 0.0565 | 83.39 | 82.04 |

Expand All @@ -135,16 +141,24 @@ supplementary card in the same repo — see `model_card.pipeline.json` and

## Reproducibility

[`reproducibility.lock.yaml`](reproducibility.lock.yaml) is the single source of
truth — pinned commits, byte-exact weight/GT SHA256 cross-checked against the
upstream HF repos, environment versions, and the metric formula. Verified values
were populated from the full 1651-page reruns completed on 2026-07-19.
[`REPRO.yaml`](REPRO.yaml) is the single source of
truth — pinned commits, SHA-256-pinned weights/GT (where recorded; see
`reproducibility.level` = `artifact-manifested`, plus the documented
`not_recorded` limitations), environment versions, and the metric formula.
Verified values were populated from the full 1651-page reruns completed on
2026-07-19.

Hardware: AMD gfx1100 (Radeon PRO W7900), 48 GB VRAM, ROCm 7.2, bf16.
The official reference (pipeline 86.47, vlm-engine 95.30) is sourced from the
upstream MinerU README "Local Deployment" table as a community-verified anchor,
not official support. See `docs/reproducibility.md` for the full recipe.

**Version boundary.** Validated with MinerU **3.4.4** (commit `0dfc9460`,
recorded in `REPRO.yaml` under `validated_software`). MinerU 4.x / 4.0 alpha
has **not** been validated; results must not be extrapolated to untested
MinerU releases. CLI/backend names (`pipeline`, `vlm-vllm`, `vlm-llamacpp`)
match that version; `vlm-transformers` is sample-only.

Release consumers should also read [`docs/release-artifact.md`](docs/release-artifact.md),
[`docs/hardware-matrix.md`](docs/hardware-matrix.md), and
[`docs/architecture.md`](docs/architecture.md). The release checklist is
Expand Down
35 changes: 24 additions & 11 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,18 @@
[![OmniDocBench v1.6](https://img.shields.io/badge/OmniDocBench-v1.6-blue)](https://github.com/opendatalab/OmniDocBench)
[![VLM full](https://img.shields.io/badge/MinerU2.5--Pro%20VLM%20(full)-95.56-green)](#evaluation评测)
[![pipeline full](https://img.shields.io/badge/MinerU%203.4%20pipeline%20(full)-86.48-yellowgreen)](#evaluation评测)
[![status: evaluation-backed](https://img.shields.io/badge/status-evaluation--backed-blue)](reproducibility.lock.yaml)
[![status: evaluation-backed](https://img.shields.io/badge/status-evaluation--backed-blue)](REPRO.yaml)
[![license: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0%20(+MinerU%20terms)-blue)](NOTICE)

> 国内用户优先使用镜像与 ModelScope 拉取模型/数据集,速度更稳定。

> **支持范围:** 以下配置仅在明确列出的硬件与软件版本上经过**社区验证**
> (community-tested,见 [`docs/hardware-matrix.md`](docs/hardware-matrix.md))。
> 这些**不代表**通用 AMD GPU 支持、MinerU 上游官方支持保证,也不代表 AMD 产品认证。
> 状态术语(`community-tested` / `independently-reproduced` / `experimental` /
> `not-tested`)定义见
> [`docs/reproducibility-attestation.md`](docs/reproducibility-attestation.md)。

## Install(安装)

核心包不依赖 GPU,也无平台依赖。
Expand Down Expand Up @@ -100,16 +107,16 @@ omnidocbench-rocm publish --predictions-dir <真实预测目录> ...
| Model / Backend | Overall | Text Edit | Formula CDM | Table TEDS |
|---|---:|---:|---:|---:|
| _official_ MinerU2.5-Pro _(上游 README vlm-engine 行;社区验证,非官方支持)_ | 95.30 | — | — | — |
| **ours MinerU2.5-Pro(vlm-llamacpp,Windows-HIP)** | **95.46** | 0.0373 | 97.01 | 93.11 |
| **ours MinerU2.5-Pro(vlm-vllm,ROCm)** | **95.56** | 0.0359 | 96.73 | 93.54 |
| ours MinerU2.5-Pro(vlm-transformers,ROCm) | _仅采样_ | | | |

`vlm-vllm` 行在 linux-rocm **已复现**(自证,`badge: community`):1651/1651 页
已尝试,1649 个产生非空预测(2 个空输出),无进程崩溃;单卡(gfx1100)约
7 小时;阅读顺序 EditDist 0.1240。Overall 95.56 与公开发布的上游参考区间**一致**
(vlm-engine 95.30;delta +0.26 pp —— **非**受控 CUDA-vs-ROCm 对照)。上游锚点
取自上游 README "Local Deployment" 表,属**社区验证、非官方支持** —— 见
`reproducibility.lock.yaml`(`benchmark.official_reference`)。`windows-hip`
仍为 `community-wanted`(暂无结果)。
7 小时;阅读顺序 EditDist 0.1240。Overall 95.56 与上游 vlm-engine 锚点**一致**
(95.30;Δ +0.26 pp —— **非**受控 CUDA-vs-ROCm 对照)。`vlm-llamacpp` 行在
windows-hip(Strix Halo)**已复现**:1649/1651 成功,2 个空输出(封面/装饰页),
Overall 95.46。详见 `docs/windows-vlm-phase2.md`。

> **历史分数说明:** 此前独立 `mineru-rocm score` 路径在同一份 1651 页预测上得分为
> **95.46**(Formula CDM 96.46);当前平台 CDM 得分 **95.56**(Formula CDM 96.73)。
Expand All @@ -120,25 +127,31 @@ omnidocbench-rocm publish --predictions-dir <真实预测目录> ...

| Model / Backend | Overall | Text Edit | Formula CDM | Table TEDS |
|---|---:|---:|---:|---:|
| _official_ MinerU 3.4 pipeline | 86.47 | — | — | — |
| _official_ MinerU 3.4 pipeline _(上游 README;社区验证,非官方支持)_ | 86.47 | — | — | — |
| **ours MinerU 3.4 pipeline(ROCm gfx1100,linux-rocm)** | **86.48** | 0.0566 | 83.07 | 82.04 |
| windows-hip | _community-wanted_ | | | |
| **ours MinerU 3.4 pipeline(Strix Halo,windows-hip)** | **86.59** | 0.0565 | 83.39 | 82.04 |

Pipeline 结果位于 `results/omnidocbench/v1.6/pipeline/`。已知:1 个空输出页面。
主 registry card 为 `mineru2.5`(VLM);pipeline 为同仓补充 card —— 见
`model_card.pipeline.json`。

## Reproducibility(可复现性)

[`reproducibility.lock.yaml`](reproducibility.lock.yaml) 是唯一事实来源 ——
锁定的 commit、与上游 HF 仓交叉校验的逐字节权重/GT SHA256、环境版本,以及
[`REPRO.yaml`](REPRO.yaml) 是唯一事实来源 ——
锁定的 commit、SHA-256 记录的权重/GT(已记录部分;见 `reproducibility.level` =
`artifact-manifested` 及其中文档化的 `not_recorded` 限制)、环境版本,以及
指标公式。已验证值来自 2026-07-19 完成的全量 1651 页重跑。

硬件:AMD gfx1100(Radeon PRO W7900),48 GB VRAM,ROCm 7.2,bf16。
官方参考(pipeline 86.47,vlm-engine 95.30)取自上 MinerU README
"Local Deployment" 表,作为社区验证锚点,非官方支持。详见
`docs/reproducibility.md`。

**版本边界:** 已验证版本为 MinerU **3.4.4**(commit `0dfc9460`,记录于
`REPRO.yaml` 的 `validated_software`)。MinerU 4.x / 4.0 alpha **未经验证**;
结果不得外推到未测试的 MinerU 版本。CLI/backend 名称(`pipeline`、
`vlm-vllm`、`vlm-llamacpp`)与该版本一致;`vlm-transformers` 仅为采样验证。

## License —— 下载权重前必读

本仓为 **Apache-2.0**(原创打包/工具)。MinerU pipeline 遵循 **MinerU Open Source License**
Expand All @@ -156,7 +169,7 @@ license —— 视为授权不明,请勿再分发。完整分解见 [NOTICE](N
## Known Gaps(已知限制)

- `smoke` 后端输出的是占位文本,并非真实 OCR。CI/conformance 可通过 `--backend smoke` 验证适配器契约而无需 GPU。
- **Windows-HIP** 为 `community-wanted` —— 尚无正式结果。两个 model card 的 `windows-hip` badge 均为 `community-wanted`
- **Windows-HIP** 为 `community`(社区验证):Phase 1 pipeline(Overall 86.59)与 Phase 2 VLM llama.cpp HIP(Overall 95.46,与 Linux vLLM 平台 CDM 得分 95.56 同一预测集)均已完成,附带符合规范的 CDM bundle
- **环境准备脚本**(`adapter/setup/`)为桩代码,仅记录手动步骤,未完全自动化环境安装。
- **平台标准 artifacts** 已于 2026-07-21 在 `results/omnidocbench/v16/linux-rocm/` 生成(`mineru2.5` 与 `mineru-pipeline` 的自包含 CDM bundle:`run_summary` + `provenance` + `metric_result` + `run_stats` + SHA256 `prediction_manifest` + `dataset_identity`)。`results/omnidocbench/v1.6/` 下的遗留结果保留用于历史对比与预测来源 provenance。可用 `omnidocbench-rocm validate-bundle results/omnidocbench/v16/linux-rocm` 校验任意 bundle。
- **VLM 空输出:** 1651 个 VLM 页面中 2 个产生空预测(已记录为失败)。
Expand Down
Loading
Loading