Skip to content

Commit 45f35ea

Browse files
User Nameclaude
andcommitted
MiniMax PR: withdraw unverifiable power figures, add manifest + claims (audit fixes)
Audit findings addressed: - GPU power: the cited TP=2 figures (~896W median / 1089W peak / 64% / "crosses 1000W") are UNVERIFIABLE — continuous power telemetry for this run was not captured (logger output missing/untagged), and the only surviving data (per-cell nvidia-smi snapshots, N=60: combined median 612W, 0/60 over 1000W) contradicts them while itself undersampling decode peaks. Withdrawn across findings-minimax-m2.7.md, findings.md, and README; replaced with the architectural claim + an explicit data-loss caveat. Registered as held (hw.minimax.tp2-power.held). - token-range floor corrected (58k-106k, not 71k-106k; testwrite vs bugfix). - 397B runaway denominator corrected (260 cells, was 240). Registration (repo contract): manifest.json gains a minimax_m2.7 block (model/engine/serving/sampling/run-inventory) + results entries + caveats; claims.yaml gains hw.minimax.temp-serving-trap, .exhaustive-completer, and .tp2-power.held. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 7f8e3e4 commit 45f35ea

5 files changed

Lines changed: 119 additions & 23 deletions

File tree

claims.yaml

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
# entry once it's been published.
2020

2121
schema_version: 0.1
22-
last_updated: "2026-05-28"
22+
last_updated: "2026-05-31"
2323

2424
claims:
2525

@@ -337,6 +337,53 @@ claims:
337337
caveats:
338338
- "Pairwise quality study found one 27B CI-fix grader regression that the binary grader missed."
339339

340+
# ─── MiniMax-M2.7-NVFP4 (hardware-tests/qwen3.5-397b-vs-step3.7-flash-2026-05-29/findings-minimax-m2.7.md) ───
341+
342+
- id: hw.minimax.temp-serving-trap
343+
text: >
344+
MiniMax-M2.7-NVFP4 on vLLM TP=2 degenerates at the bench's default
345+
temperature=0.3: it runs the agent loop correctly then enters a final-turn
346+
repetition loop to max_tokens (14/19 coding cells ran away, p1_testwrite
347+
10/10). At the model card's temperature=1.0/top_p=0.95/top_k=40 the same
348+
cells on the same 131072 cap produce 0/10 runaways; all 60 cells finish
349+
58 done_signal / 0 runaway. The runaway is a sampling trap, not the model
350+
and not the token cap (identically-capped 397B: 0 runaways in 260 cells).
351+
status: provisional
352+
scope: MiniMax-M2.7-NVFP4, vLLM TP=2, sm_120, clean same-cell A/B (temp 0.3 vs 1.0)
353+
evidence: "hardware-tests/qwen3.5-397b-vs-step3.7-flash-2026-05-29/findings-minimax-m2.7.md § The serving trap"
354+
caveats:
355+
- "Single rig; receipt.json records temperature but not top_p/top_k (full sampling profile in the doc + manifest)."
356+
- "NVFP4 on sm_120 is a maturity-rough surface; --enable-expert-parallel not used."
357+
358+
- id: hw.minimax.exhaustive-completer
359+
text: >
360+
MiniMax-M2.7 is an "exhaustive completer": it aces open analysis (p2
361+
extract/ci/hallucination/triage a perfect 20/20) but fails scope-constrained
362+
coding (p1_testwrite 0/5, p1_refactor 0/5 on *_unchanged scope violations —
363+
it edits files it was told to leave alone) and exhausts context on p3_market
364+
(2 cells HTTP-400). Aggregate 35/60 (7/12) ties the field's band, but the
365+
per-family shape is complementary to 397B's surgical restraint, not a tie.
366+
status: provisional
367+
scope: MiniMax-M2.7-NVFP4, vLLM TP=2, N=5, temp=1.0 (card sampling)
368+
evidence: "hardware-tests/qwen3.5-397b-vs-step3.7-flash-2026-05-29/findings-minimax-m2.7.md § Scorecard + Qualitative"
369+
caveats:
370+
- "N=5 vs comparators' N=10/N=1; treat aggregate as +/-1 family."
371+
- "p1_testwrite/refactor share the bench-wide starter-code task-design caveat, but MiniMax's failures are substantive scope violations, not the grader artifact."
372+
373+
- id: hw.minimax.tp2-power.held
374+
text: >
375+
The TP=2-vs-pipeline simultaneous-power-draw comparison for MiniMax-M2.7 is
376+
held. Continuous per-sample power telemetry for the MiniMax run was not
377+
reliably captured; only instantaneous per-cell nvidia-smi snapshots survive
378+
(N=60: combined median 612W, balanced ~313W/~300W per GPU, 0/60 over 1000W),
379+
and those undersample active-decode peaks. Earlier-cited figures
380+
(~896W median / 1089W peak / 64% / "crosses 1000W") are withdrawn as
381+
unverifiable. The architectural expectation (TP computes each layer on both
382+
GPUs simultaneously, vs pipeline alternation) stands; a quantified peak does not.
383+
status: held
384+
scope: MiniMax-M2.7-NVFP4, vLLM TP=2, power telemetry
385+
evidence: "hardware-tests/qwen3.5-397b-vs-step3.7-flash-2026-05-29/findings-minimax-m2.7.md § GPU power"
386+
340387
# ─── Retracted ────────────────────────────────────────────────────────────────
341388

342389
retracted:

hardware-tests/qwen3.5-397b-vs-step3.7-flash-2026-05-29/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ Step-3.7-Flash-NVFP4 entry on the same box.
2323
- [findings.md](findings.md) — N=10 scorecard + headline findings + power + cross-model qualitative.
2424
- [findings-minimax-m2.7.md](findings-minimax-m2.7.md)**MiniMax-M2.7-NVFP4 (N=5, vLLM TP=2):** the
2525
temp=0.3→1.0 serving-trap (0 runaways at spec vs 74% at default), the "exhaustive completer" temperament
26-
(p2 analysis 20/20, scope-constrained coding 0/5, p3_market ctx-exhaustion), and the heaviest TP=2 power draw.
26+
(p2 analysis 20/20, scope-constrained coding 0/5, p3_market ctx-exhaustion), and the TP=2 power topology
27+
(balanced both-GPU draw; continuous-sample peak not captured this run — see the doc's data caveat).
2728
- [findings-n10.md](findings-n10.md) — auto-generated replicate-stability table (flags small-N flips) + finish-reason audit.
2829
- [power-analysis.md](power-analysis.md) — dual-GPU power percentiles, pipeline asymmetry, %-of-cap.
2930
- [QUALITATIVE.md](QUALITATIVE.md) — behavioral analysis beyond pass/fail (token economy, packaging,

hardware-tests/qwen3.5-397b-vs-step3.7-flash-2026-05-29/findings-minimax-m2.7.md

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,10 @@ so MiniMax is **N=5, an asymmetry to read with the same caution this entry alrea
3333
| p1_testwrite | 0 / **10 runaway (100%)** | **5 `done_signal` / 0 runaway** |
3434
| all 60 cells (spec) || **58 `done_signal`, 0 runaway, 2 ctx-exhaustion** |
3535

36-
A temp=0.3-runaway cell generated **71k–106k tokens in a single final turn** (100% of the per-turn cap).
37-
That is degenerate repetition, not legitimate output — and the identically-capped 397B (also 131072,
38-
also temp 0.3-equivalent path) had **0 runaways in 240 cells**, so the cap is not the cause.
36+
A temp=0.3-runaway cell generated **58k–106k tokens in a single final turn** (the testwrite cells cluster
37+
at 71k–106k; two bugfix cells dip to ~59k/75k). That is degenerate repetition, not legitimate output —
38+
and the identically-capped 397B (also 131072, also temp 0.3-equivalent path) had **0 runaways in 260
39+
cells**, so the cap is not the cause.
3940

4041
## Scorecard (N=5; PASS = grader verdict, majority ≥3/5 marks the family ✓)
4142

@@ -86,17 +87,26 @@ per-family *shape* is distinctive** (and that shape, not the tie, is the finding
8687
**One-line verdict:** complementary to 397B. MiniMax aces analysis where 397B is average; 397B respects
8788
guardrails where MiniMax bulldozes them. A task-class strengths finding, not a scaling-law tie.
8889

89-
## GPU power — TP=2 is the heaviest simultaneous draw of the bench
90-
91-
| | serving | combined draw | both GPUs hot at once | crosses 1000W |
92-
|---|---|---|---|---|
93-
| **MiniMax-M2.7** | vLLM **TP=2** (NVFP4) | active-decode median **~896W**, peak **1089W (91% of 1200 cap)** | **64% of samples** (>400W each) | **yes** |
94-
| 397B | llama.cpp **pipeline** | median 670W, max 985W | rarely | **never** (0 / 3868) |
95-
96-
The cause is parallelism mode, not size: **tensor-parallel makes both GPUs compute the same layers
97-
simultaneously** (so they fire together and push toward the PSU ceiling), whereas **pipeline-parallel
98-
alternates** them (GPU0 leads, combined draw stays well under the cap). MiniMax is balanced per-GPU
99-
(320W/363W mean) — TP splits evenly — vs 397B's GPU0-leads pipeline asymmetry.
90+
## GPU power — TP=2 loads both GPUs in balance (no quantified peak this run)
91+
92+
> **Data caveat (important):** continuous power sampling for the MiniMax run was **not reliably captured**
93+
> — the per-sample logger output for this run is missing/untagged, so the active-decode median/peak
94+
> percentiles are **not available**. An earlier draft of this doc cited specific figures
95+
> (~896W median / 1089W peak / 64%-of-samples / "crosses 1000W"); those are **unverifiable against any
96+
> committed data and are withdrawn.** The only surviving power data is the per-cell instantaneous
97+
> `receipt.json` `nvidia-smi` snapshot (one sample per cell), which is **not** a decode-peak measurement.
98+
99+
What the **60 receipt snapshots** show (instantaneous, N=60 cells): combined draw **median 612W, max 703W**,
100+
balanced per-GPU (**GPU0 ~313W / GPU1 ~300W median**), and **0/60 above 1000W**. These confirm TP=2's
101+
*balance* — both GPUs draw nearly equally, the signature of tensor-parallel splitting each layer across
102+
both cards — but because the snapshots are single instantaneous samples (likely caught outside sustained
103+
decode), they **undersample peak draw and cannot be compared** to 397B's continuously-sampled pipeline
104+
figures (median 670W / max 985W over 3,868 samples).
105+
106+
**The defensible claim is architectural, not a measured peak:** tensor-parallel makes both GPUs compute
107+
each layer *simultaneously* (so they fire together), whereas pipeline-parallel *alternates* them (GPU0
108+
leads, combined draw staggered). MiniMax's balanced per-GPU snapshots are consistent with that; a
109+
quantified simultaneous-peak comparison to 397B would need a re-run with the per-sample logger fixed.
100110

101111
## Caveats (read these with the numbers)
102112

hardware-tests/qwen3.5-397b-vs-step3.7-flash-2026-05-29/findings.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -153,11 +153,12 @@ analyzed with `tooling/bench_power.py`. 3,868 paired samples.
153153
the cards and fire in sequence, so the two rarely peak simultaneously. Combined with the CPU-bound tool
154154
phases, this is *why* the rig never thermally stresses on this workload.
155155
- **Why it matters:** the "both GPUs at 600W = 1200W" worst case simply does not occur for single-stream
156-
agentic inference under pipeline parallelism. (Contrast confirmed by the MiniMax-M2.7 run, which uses
157-
vLLM **tensor**-parallel: both GPUs fire per token, combined active-decode draw **median ~896W, peak
158-
1089W (91% of cap), both GPUs >400W in 64% of samples, crossing 1000W** — the heaviest simultaneous
159-
draw of the bench. TP-vs-pipeline topology, not model size, drives it. See
160-
[findings-minimax-m2.7.md](findings-minimax-m2.7.md).)
156+
agentic inference under pipeline parallelism. (The MiniMax-M2.7 run uses vLLM **tensor**-parallel, which
157+
computes each layer on both GPUs simultaneously rather than alternating them — architecturally a higher
158+
simultaneous draw. Its per-cell `nvidia-smi` snapshots are balanced across both GPUs (~313W/~300W),
159+
consistent with that. We do **not** quote a TP=2 active-decode peak here: continuous power sampling for
160+
that run was not reliably captured, so any peak/percentile figure would be unverifiable. See
161+
[findings-minimax-m2.7.md](findings-minimax-m2.7.md) § GPU power.)
161162

162163
## MiniMax-M2.7-NVFP4 (added — N=5, vLLM TP=2) — see [findings-minimax-m2.7.md](findings-minimax-m2.7.md)
163164

hardware-tests/qwen3.5-397b-vs-step3.7-flash-2026-05-29/manifest.json

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,38 @@
4646
"n_per_cell": 10,
4747
"smoke_gate": "PASS (extraction, thinking off): tool-calling proven in harness, all fields correct, done_signal"
4848
},
49+
"minimax_m2.7": {
50+
"$note": "Fifth model folded into this entry (see findings-minimax-m2.7.md). Different model/engine/quant/sampling from the 397B GGUF rows above.",
51+
"model": {
52+
"hf_repo": "nvidia/MiniMax-M2.7-NVFP4",
53+
"local_path": "~/models/nvidia-MiniMax-M2.7-NVFP4",
54+
"quant_algo": "NVFP4",
55+
"params": "230B total / ~10B active per token (MoE)",
56+
"per_file_hashes": "See the HuggingFace repo for canonical per-file hashes; not recomputed locally."
57+
},
58+
"engine": {
59+
"image": "vllm/vllm-openai:latest",
60+
"note": "vLLM tensor-parallel TP=2, NVFP4 (--quantization modelopt), minimax_m2 tool/reasoning parsers, no --enable-expert-parallel. NVFP4 on sm_120 is a maturity-rough surface."
61+
},
62+
"serving_config": {
63+
"tensor_parallel_size": 2,
64+
"expert_parallel": false,
65+
"max_model_len": 131072,
66+
"extra_env": ["NCCL_P2P_DISABLE=1"],
67+
"extra_flags": ["--disable-custom-all-reduce", "--trust-remote-code", "--quantization modelopt", "--tool-call-parser minimax_m2", "--reasoning-parser minimax_m2"]
68+
},
69+
"sampling": {
70+
"temperature": 1.0,
71+
"top_p": 0.95,
72+
"top_k": 40,
73+
"note": "Card-mandated sampling, a DELIBERATE deviation from the bench's cross-model temp=0.3 (at 0.3 the model degenerates into repetition loops — see results.minimax_temp_trap). receipt.json records temperature but NOT top_p/top_k; the full profile lives here and in the reproduce block."
74+
},
75+
"n_per_cell": 5,
76+
"run_inventory": {
77+
"cells": 60,
78+
"finish_reasons": {"done_signal": 58, "ctx_exhaustion": 2, "runaway": 0}
79+
}
80+
},
4981
"results": {
5082
"397b_no_think_pass": "82/120 (N=10); 23/36 (N=3); 8/12 (N=1)",
5183
"397b_think_pass": "72/120 (N=10); 22/36 (N=3); 7/12 (N=1)",
@@ -56,11 +88,16 @@
5688
"cross_model": "Aggregate ties 7-8/12 across 397B / Step-3.7-Flash / Qwen3.6-27B-Q4 / Coder-Next-Q4 (~15x param range). 27B/Coder use Q4/AWQ refs (microbench-2026-04-28, N=1, clean); fresh Q8/FP8 EXCLUDED as serving failures (35B 36/36 HTTP-400, 27B-Q8 23/36 runaway). Failure temperament tracks lineage not size: 397B+27B stall, Coder+Flash run away.",
5789
"runaways": "zero max_tokens/length runaways across all 240 N=10 cells (Step-3.7-Flash ran away on p3_market at low effort; 27B-Q8 ran away 23/36). 397B pathology is stalling (stuck-loop / model_stopped), not runaway; thinking clears the no-think market stall. Failure temperament tracks training lineage not size.",
5890
"known_artifact": "p1_refactor fails on structure (no output/ subpackage). p1_testwrite fails on the 'only /tests/ may differ' rule — NOT incapacity: corrected grading shows think-mode reached 99% coverage / 153 passing tests.",
59-
"phase1_grader_fix_2026-05-29": "phase1_grade.py read flat keys (coverage_pct/ruff_issues/benchmark_s) vs code_task_grader's nested coverage.line_coverage_pct/ruff.issue_count/benchmark.elapsed_s -> bugfix ruff/bench gates always-true, testwrite coverage gate always-false. Fixed and ALL phase-1 cells regraded; totals unchanged (8/12, 7/12) but now trustworthy."
91+
"phase1_grader_fix_2026-05-29": "phase1_grade.py read flat keys (coverage_pct/ruff_issues/benchmark_s) vs code_task_grader's nested coverage.line_coverage_pct/ruff.issue_count/benchmark.elapsed_s -> bugfix ruff/bench gates always-true, testwrite coverage gate always-false. Fixed and ALL phase-1 cells regraded; totals unchanged (8/12, 7/12) but now trustworthy.",
92+
"minimax_m2.7_pass": "35/60 cells = 7/12 families (N=5). Aces p2 analysis 20/20; 0/5 on scope-constrained coding (p1_testwrite, p1_refactor) via *_unchanged scope violations; p3_market 0/5 (2 ctx-exhaustion). 'Exhaustive completer' — complementary to 397B's surgical restraint.",
93+
"minimax_m2.7_temp_trap": "At temp=0.3 (bench default) MiniMax-NVFP4 degenerates into final-turn repetition loops to max_tokens: 14/19 coding cells ran away (p1_testwrite 10/10). At card sampling temp=1.0/top_p=0.95/top_k=40, same cells/cap -> 0/10 runaway; all 60 cells 58 done_signal / 0 runaway. Sampling, not the model or the cap.",
94+
"minimax_m2.7_power": "NOT reliably captured for this run (continuous per-sample logger output missing/untagged). Earlier-cited TP=2 peak figures (~896W/1089W/64%/'crosses 1000W') are WITHDRAWN as unverifiable. Only per-cell instantaneous nvidia-smi snapshots survive (N=60): combined median 612W, max 703W, balanced ~313W/~300W per GPU, 0/60 over 1000W -- but these undersample decode peaks and are not comparable to 397B's continuous-sample figures. Claim is architectural (TP loads both GPUs simultaneously), not a measured peak."
6095
},
6196
"caveats": [
6297
"N=10 per cell for 397B (Step N=1/level; 27B/Coder Q4 N=1). Open-ended cells p3_market/p3_pm/p3_doc are high-variance — see n_variance.",
6398
"Cross-engine (llama.cpp vs vLLM) AND cross-quant (Q3_K_XL vs NVFP4) vs Step-3.7-Flash: 'best-as-each-ships', NOT a clean precision study.",
64-
"Some graders are binary and can fail high-quality output on format/length (see p3_writing); pair with QUALITATIVE.md."
99+
"Some graders are binary and can fail high-quality output on format/length (see p3_writing); pair with QUALITATIVE.md.",
100+
"MiniMax-M2.7 (5th model) runs at card-mandated temp=1.0/top_p=0.95/top_k=40 (NOT the temp=0.3 cohort) and N=5 (not N=10); a deliberate, documented deviation. Its continuous power telemetry was not captured this run — see minimax_m2.7_power.",
101+
"MiniMax NVFP4 on sm_120 is a maturity-rough surface (vLLM has open repetition/kernel issues for MiniMax-NVFP4); --enable-expert-parallel was NOT used."
65102
]
66103
}

0 commit comments

Comments
 (0)