Skip to content

[Klaud Cold] Update MiniMax-M3 FP4 B300 TensorRT-LLM AgentX MTP image to 1.4.0rc1 / [Klaud Cold] 将 MiniMax-M3 FP4 B300 TensorRT-LLM AgentX MTP 镜像更新至 1.4.0rc1 - #4607

Open
Klaud-Cold wants to merge 2 commits into
mainfrom
klaud/auto-a68a2ffc609e39a4-b965b9aed7733f84
Open

Klaud-Cold wants to merge 2 commits into
mainfrom
klaud/auto-a68a2ffc609e39a4-b965b9aed7733f84

Conversation

@Klaud-Cold

@Klaud-Cold Klaud-Cold commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Goal: Update TensorRT-LLM image from nvcr.io/nvidia/tensorrt-llm/release:1.3.0rc23.post1 to nvcr.io/nvidia/tensorrt-llm/release:1.4.0rc1.
Baseline: 2026-09-01 · nvcr.io/nvidia/tensorrt-llm/release:1.3.0rc23.post1
Mean latency · Sources: API 1, API 2, API 3, API 4

Point Total tok/s/GPU ↑ Output tok/s/GPU ↑ TTFT ms ↓ TPOT ms ↓
AgentX c1 TP8 EP1 ef14b4 2,692.3 18.85 1,392.05 2.31
AgentX c5 TP4 EP1 49b08f 8,962.74 69.71 641.32 2.67
AgentX c5 TP8 EP1 90c5f7 4,642.57 35.98 595.3 2.31
AgentX c10 TP4 EP1 e092ed 16,928.04 124.58 776.86 3.11
AgentX c15 TP4 EP1 5ad9a9 22,342.1 171.51 697.52 3.33
AgentX c20 TP2 EP1 ce8632 59,456.93 412.58 1,087.25 6.16
AgentX c20 TP4 EP1 4402c9 34,708.95 222.92 779.44 3.97
AgentX c25 TP2 EP1 78706a 72,659.96 479.7 1,251.09 7.48
AgentX c25 TP4 EP1 e2c6fe 42,424.11 264.63 968.07 4.69
AgentX c30 TP2 EP1 7ed000 76,717.65 500.96 2,131.33 9.3
AgentX c30 TP4 EP1 935485 40,379.41 260.85 1,237.53 6.5
Eval Score ↑ Samples
gsm8k/em_strict · c30 95.6% 1,319

Stop: Close this PR at any time to stop this candidate now; Klaud cancels its runs and deletes its branch.

中文

**目标:**将 TensorRT-LLM 镜像从 nvcr.io/nvidia/tensorrt-llm/release:1.3.0rc23.post1 更新到 nvcr.io/nvidia/tensorrt-llm/release:1.4.0rc1。
**基线:**2026-09-01 · nvcr.io/nvidia/tensorrt-llm/release:1.3.0rc23.post1
平均延迟 · 来源: API 1, API 2, API 3, API 4;数值及异常说明见上表。
**停止:**随时关闭此 PR 即可立即停止该候选:Klaud 会取消其运行并删除其分支。

Pin nvcr.io/nvidia/tensorrt-llm/release:1.4.0rc1 by digest, rename
kv_cache_config.block_reuse_policy to block_reuse_config.policy as the
1.4 KvCacheConfig requires, and drop the openai_protocol.py store=false
patch hook because engine patches are not allowed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Thanks for the contribution!

  • Review: If this PR changes files owned by someone other than a repository admin or @SemiAnalysisAI/core, ask one eligible CODEOWNER to complete the latest PR_REVIEW_CHECKLIST.md before contacting a core maintainer on Slack. Follow the template exactly, including As a PR reviewer and CODEOWNER, I have reviewed this and have, so sign-off verification triggers.
  • PR verification: Sweeps run only when the PR appends an inferencex-e2e/perf-changelog.yaml entry and carries exactly one primary label: full-sweep-fail-fast (strongly recommended; canary plus per-matrix fail-fast), full-sweep-enabled (canary; matrix jobs continue after a failure), or non-canary-full-sweep-enabled (no canary or fail-fast). The modifiers all-evals, evals-only, and agentx-fast require a primary label. On fork PRs, a maintainer applies the label. See sweep labels and reuse.
  • After merging: PR authors must ensure all GitHub Actions jobs pass. Transient failures often pass on rerun; see how to rerun failed jobs.
中文

感谢你的贡献!

  • **审阅:**如果 PR 修改的文件归属于仓库管理员及 @SemiAnalysisAI/core 之外的 CODEOWNER,请先联系一位有资格的 CODEOWNER 填写最新的 PR_REVIEW_CHECKLIST.md,再通过 Slack 联系核心维护者。必须严格遵循模板,并保留 As a PR reviewer and CODEOWNER, I have reviewed this and have,才能触发签核验证。
  • **PR 验证:**只有当 PR 在 inferencex-e2e/perf-changelog.yaml 末尾追加了条目,并且恰好带有一个主标签时,才会运行扫描:full-sweep-fail-fast(强烈推荐;canary 加逐矩阵 fail-fast)、full-sweep-enabled(有 canary;矩阵任务在失败后继续运行)或 non-canary-full-sweep-enabled(无 canary,也无 fail-fast)。修饰标签 all-evals、evals-only 和 agentx-fast 必须与主标签一起使用。fork PR 的标签由维护者添加。参见扫描标签与复用。
  • **合并后:**PR 作者必须确保所有 GitHub Actions 任务通过。临时性失败通常可以通过重新运行恢复;参见重新运行失败任务的说明。

@Klaud-Cold

Klaud-Cold commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator Author

Initial attempt · Passed · Run 40656033792 / attempt 1 · 2026-10-28 10:10 UTC
nvcr.io/nvidia/tensorrt-llm/release:1.4.0rc1@sha256:3bedbe0321e7eb5430f3177d88894a3cf2dc2f6a087d0e85c13fc882667c75c0 · 6cbbb96e7ad6 · Mean latency
Change: Measured ref 56e05c1. Image 1.4.0rc1 (0372799, sha256:3bedbe03…75c0) from 1.3.0rc23.post1 (089dce4); smoke TP2 c20, TP4 c5, TP8 c1. llm_args.py rejects kv_cache_config.block_reuse_policy, so use block_reuse_config.policy=per_conversation (BlockReuseConfig equals rc0). Drop the store=false openai_protocol.py patch hook: patches are forbidden; rc1 ChatCompletionRequest still forbids store, and no repo harness/eval sends it. compile_only_piecewise_graphs is new and defaults False; KV v2 default flip is moot (set explicitly); minimax_m3 parser, --chat_template and trtllm_kv_cache_utilization unchanged.

Point Output tok/s/GPU ↑ TTFT ms ↓ TPOT ms ↓
AgentX c20 TP2 EP1 66f346 413.36 (N/A) 1,312.86 (N/A) 6.05 (N/A)
AgentX c5 TP4 EP1 25ce2b 70.56 (N/A) 697.08 (N/A) 2.56 (N/A)
AgentX c1 TP8 EP1 f0b396 18.75 (N/A) 1,822.29 (N/A) 2.15 (N/A)

Note: AgentX c20 TP2 EP1 66f346: 224 request errors.
Note: All rows: Δ N/A: no matched baseline.
Note: AgentX c5 TP4 EP1 25ce2b: 56 request errors.
Note: AgentX c1 TP8 EP1 f0b396: 12 request errors.

Eval Score ↑ Samples
minimax_m3_full/em_strict · c20 TP2 15% (N/A) 102
gsm8k/em_strict · c30 TP2 95.07% (-0.53 pp) 1,319 each
minimax_m3_full/em_strict · c5 TP4 15% (N/A) 102
minimax_m3_full/em_strict · c1 TP8 15% (N/A) 102

Note: minimax_m3_full/em_strict · c20 TP2, minimax_m3_full/em_strict · c5 TP4, minimax_m3_full/em_strict · c1 TP8: Δ N/A: no matched eval baseline.

Next: All 3 smoke benchmarks and 4 evals passed (gsm8k c30 95.1% vs 95.6%); minimax_m3_full is 0.15 diagnostic (threshold 0) because the recipe sets no tool_parser on old or new image, so no tool calls are parsed; append the perf-changelog entry and dispatch the final sweep.

中文

初次尝试 · 已通过 · Run 40656033792 / attempt 1 · 2026-10-28 10:10 UTC
nvcr.io/nvidia/tensorrt-llm/release:1.4.0rc1@sha256:3bedbe0321e7eb5430f3177d88894a3cf2dc2f6a087d0e85c13fc882667c75c0 · 6cbbb96e7ad6 · 平均延迟
**变更:**测量提交 56e05c1。镜像从 1.3.0rc23.post1(089dce4)升级到 1.4.0rc1(0372799,sha256:3bedbe03…75c0);冒烟点为 TP2 c20、TP4 c5、TP8 c1。llm_args.py 拒绝 kv_cache_config.block_reuse_policy,因此改用 block_reuse_config.policy=per_conversation(BlockReuseConfig 与 rc0 相同)。移除改写 openai_protocol.py 以接受 store=false 的补丁钩子:引擎补丁被禁止;rc1 的 ChatCompletionRequest 仍不接受 store,且仓库内的测试框架和评估都不发送该字段。compile_only_piecewise_graphs 为新增参数,默认 False;KV v2 默认值变化无影响(已显式设置);minimax_m3 解析器、--chat_template 与 trtllm_kv_cache_utilization 不变。实测数值及异常说明见上表。
**下一步:**全部 3 个冒烟基准和 4 个评估通过(gsm8k c30 为 95.1%,基线 95.6%);minimax_m3_full 为 0.15,仅作诊断(阈值 0),原因是新旧镜像的配方都未设置 tool_parser,因此不会解析工具调用;接下来追加 perf-changelog 条目并启动最终扫描。

@Klaud-Cold

Copy link
Copy Markdown
Collaborator Author

parked · Session 1 is waiting on 40656033792. Recovery reruns preempted runs and starts the next session once they end.

中文

parked · 第 1 个会话正在等待 40656033792。恢复流程会重跑被抢占的运行,并在运行结束后启动下一个会话。

@github-actions github-actions Bot added the klaud-parked Klaud parked until its queued or running benchmark runs end label Oct 28, 2026
@Klaud-Cold

Copy link
Copy Markdown
Collaborator Author

resumed · The session ended before finishing; session 2 continues it in a new run of its planner.

中文

resumed · 会话未完成即已结束;第 2 个会话将在其规划运行的新运行中继续。

@github-actions github-actions Bot added klaud-in-progress Klaud is working on this candidate or will resume it and removed klaud-parked Klaud parked until its queued or running benchmark runs end labels Oct 28, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Klaud-Cold Klaud-Cold added the full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) label Oct 28, 2026
@Klaud-Cold

Klaud-Cold commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator Author

Final full sweep · Passed · Run 40670198443 / attempt 1 · 2026-10-28 13:17 UTC
nvcr.io/nvidia/tensorrt-llm/release:1.4.0rc1@sha256:3bedbe0321e7eb5430f3177d88894a3cf2dc2f6a087d0e85c13fc882667c75c0 · 1d372562968b · Mean latency
Change: Validate the complete updated-image family at this head.

Point Output tok/s/GPU ↑ TTFT ms ↓ TPOT ms ↓
AgentX c1 TP8 EP1 ef14b4 18.83 (-0.1%) 1,773.13 (+27.4%) 2.11 (-8.7%)
AgentX c5 TP4 EP1 49b08f 72.24 (+3.6%) 673.6 (+5%) 2.56 (-4.1%)
AgentX c5 TP8 EP1 90c5f7 8.22 (-77.1%) 8,662.42 (+1355.1%) 48.85 (+2014.7%)
AgentX c10 TP4 EP1 e092ed 126.44 (+1.5%) 732.67 (-5.7%) 2.92 (-6.1%)
AgentX c15 TP4 EP1 5ad9a9 120.81 (-29.6%) 1,380.36 (+97.9%) 12.28 (+268.8%)
AgentX c20 TP2 EP1 ce8632 412.61 (+0%) 1,321.92 (+21.6%) 6.05 (-1.8%)
AgentX c20 TP4 EP1 4402c9 222.2 (-0.3%) 1,060.52 (+36.1%) 4.07 (+2.5%)
AgentX c25 TP2 EP1 78706a 199.71 (-58.4%) 8,561.2 (+584.3%) 38.84 (+419.3%)
AgentX c25 TP4 EP1 e2c6fe 262.92 (-0.6%) 1,180.16 (+21.9%) 4.76 (+1.5%)
AgentX c30 TP2 EP1 7ed000 511.15 (+2%) 2,126.2 (-0.2%) 8.82 (-5.2%)
AgentX c30 TP4 EP1 935485 297.71 (+14.1%) 1,090.06 (-11.9%) 5.43 (-16.5%)

Note: AgentX c1 TP8 EP1 ef14b4: 12 request errors.
Note: AgentX c5 TP4 EP1 49b08f: 56 request errors.
Note: AgentX c5 TP8 EP1 90c5f7: 54 request errors.
Note: AgentX c10 TP4 EP1 e092ed: 112 request errors.
Note: AgentX c15 TP4 EP1 5ad9a9: 168 request errors.
Note: AgentX c20 TP2 EP1 ce8632: 225 request errors.
Note: AgentX c20 TP4 EP1 4402c9: 224 request errors.
Note: AgentX c25 TP2 EP1 78706a: 277 request errors.
Note: AgentX c25 TP4 EP1 e2c6fe: 279 request errors.
Note: AgentX c30 TP2 EP1 7ed000, AgentX c30 TP4 EP1 935485: 333 request errors.

Eval Score ↑ Samples
minimax_m3_full/em_strict · c1 15% (N/A) 102
minimax_m3_full/em_strict · c5 15% (N/A) 102
minimax_m3_full/em_strict · c5 15% (N/A) 102
minimax_m3_full/em_strict · c10 15% (N/A) 102
minimax_m3_full/em_strict · c15 15% (N/A) 102
minimax_m3_full/em_strict · c20 15% (N/A) 102
minimax_m3_full/em_strict · c20 15% (N/A) 102
minimax_m3_full/em_strict · c25 15% (N/A) 102
minimax_m3_full/em_strict · c25 15% (N/A) 102
gsm8k/em_strict · c30 94.84% (-0.76 pp) 1,319 each
minimax_m3_full/em_strict · c30 15% (N/A) 102
minimax_m3_full/em_strict · c30 15% (N/A) 102

Note: minimax_m3_full/em_strict · c1, minimax_m3_full/em_strict · c5, minimax_m3_full/em_strict · c5, minimax_m3_full/em_strict · c10, minimax_m3_full/em_strict · c15, minimax_m3_full/em_strict · c20, minimax_m3_full/em_strict · c20, minimax_m3_full/em_strict · c25, minimax_m3_full/em_strict · c25, minimax_m3_full/em_strict · c30, minimax_m3_full/em_strict · c30: Δ N/A: no matched eval baseline.

Next: Mark ready for maintainer review.

中文

最终完整 sweep · 已通过 · Run 40670198443 / attempt 1 · 2026-10-28 13:17 UTC
nvcr.io/nvidia/tensorrt-llm/release:1.4.0rc1@sha256:3bedbe0321e7eb5430f3177d88894a3cf2dc2f6a087d0e85c13fc882667c75c0 · 1d372562968b · 平均延迟
**变更:**验证此提交更新镜像后的完整配置族。实测数值及异常说明见上表。
**下一步:**标记为就绪,等待维护者审查。

@Klaud-Cold

Copy link
Copy Markdown
Collaborator Author

parked · Session 2 is waiting on 40670198443. Recovery reruns preempted runs and starts the next session once they end.

中文

parked · 第 2 个会话正在等待 40670198443。恢复流程会重跑被抢占的运行,并在运行结束后启动下一个会话。

@github-actions github-actions Bot added klaud-parked Klaud parked until its queued or running benchmark runs end and removed klaud-in-progress Klaud is working on this candidate or will resume it labels Oct 28, 2026
@github-actions

Copy link
Copy Markdown
Contributor

@Klaud-Cold
Klaud-Cold marked this pull request as ready for review October 28, 2026 13:17
@Klaud-Cold
Klaud-Cold requested a review from a team October 28, 2026 13:17
@Klaud-Cold

Copy link
Copy Markdown
Collaborator Author

validated · Repairs: unknown · Runs: 40656033792, 40670138588, 40670198443
All owned runs ended. Full sweep verified; ready for review.

中文

validated · 修复次数:未知 · 运行:40656033792, 40670138588, 40670198443
所有自有运行均已结束。完整 sweep 已验证;已就绪,等待审查。

@github-actions github-actions Bot added klaud-finished Klaud verified the full sweep; ready for review and removed klaud-parked Klaud parked until its queued or running benchmark runs end labels Oct 28, 2026
@claude

claude Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @Klaud-Cold's task in 44s —— View job


Review

LGTM: no blocking issues found.

  • The new image is public on NGC and pinned by digest. The perf-changelog entry is added at the end of the file, and it covers minimaxm3-fp4-b300-trtllm-agentic-mtp.

  • The block_reuse_policy setting moves to block_reuse_config.policy, which is what 1.4.0rc1 expects.

  • Removing setup_script only affects the B300 recipe. B200 still uses minimaxm3-trtllm-agentx.sh, so the script needs to stay. I found no client in this repo that sends store, so dropping the patch looks safe.

  • Not a code problem, but please check before merging: the final sweep is much slower than the 2026-09-01 baseline at three points:

    • TP8 c5: output throughput −77%, TPOT +2015%
    • TP2 c25: output throughput −58%
    • TP4 c15: output throughput −30%

    Neighbouring points are flat, so these may be run noise rather than a real regression. Either way, they are worth a rerun or a look before the curve is published.

@claude claude Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from the inline finding, I checked two other parts of the diff and found no problems with them. The nvcr.io/...@ sha256 image form matches the existing 1.4.0rc0/rc1 entries in nvidia-master.yaml. The nested block_reuse_config: {policy: ...} key also appears in the other TRT-LLM 1.4 recipes (qwen3.5, musespark, dsv4 on gb300).

Extended reasoning...

The change bumps the B300 MiniMax-M3 TRT-LLM AgentX image to 1.4.0rc1, removes the recipe's setup_script, switches to the nested KV block-reuse config, and appends a perf-changelog entry. It touches no security-sensitive code. The image reference format and the nested block_reuse_config key were checked against existing 1.4 entries and recipes, and both are consistent.

@@ -14,7 +14,6 @@ base:
engine:
type: trtllm
served_model_name: nvidia/MiniMax-M3-NVFP4

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 If TRT-LLM 1.4.0rc1 still lacks a store chat field, BFCL eval runs on this B300 key will get request-validation errors that the base image's patch prevented. Removing setup_script: minimaxm3-trtllm-agentx.sh also removes the only step that adds store: Optional[Literal[False]] to ChatCompletionRequest. Nothing in this PR shows the new image accepts store=false natively. Fix: before dropping the hook, confirm 1.4.0rc1's serve/openai_protocol.py accepts store. If it does not, keep the hook, as the b200-fp4-mtp recipe still does.

Why this was flagged

The removed hook is minimaxm3-trtllm-agentx.sh (multi_node/srt-slurm-recipes/configs/minimaxm3-trtllm-agentx.sh:8). It runs runners/patch_trtllm_chat_store.py, which inserts store: Optional[Literal[False]] = False into TensorRT-LLM's ChatCompletionRequest. The trigger is an explicit BFCL suite (bfcl_smoke or bfcl_vllm_minimax_m3 in infx/bench/eval/vendor.py:348-352) run against minimaxm3-fp4-b300-trtllm-agentic-mtp. BFCL's OpenAI client sends store=false. On the base image the hook adds the field, so those requests are accepted. With this diff there is no hook. If 1.4.0rc1's protocol model still rejects unknown fields and has no store field, every BFCL chat request is rejected and the eval fails or scores 0. The perf-changelog entry describes only the image bump and does not mention the dropped hook.

Verification: The diff deletes setup_script: minimaxm3-trtllm-agentx.sh from b300-fp4-mtp/agentic.yaml, at old line 17. runners/patch_trtllm_chat_store.py:13 inserts store: Optional[Literal[False]] = False into ChatCompletionRequest in tensorrt_llm/serve/openai_protocol.py. If the new image still has no store field, every BFCL tool-use request to this key goes back to failing with HTTP 400.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) klaud-finished Klaud verified the full sweep; ready for review

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant