Skip to content

Enable INT4 QuickReduce for MiniMax M3.1 MI355X vLLM / 为 MiniMax M3.1 MI355X vLLM 启用 INT4 QuickReduce - #4485

Open
Fangzhou-Ai wants to merge 1 commit into
mainfrom
codex/minimax-m31-mi355x-int4
Open

Fangzhou-Ai wants to merge 1 commit into
mainfrom
codex/minimax-m31-mi355x-int4

Conversation

@Fangzhou-Ai

@Fangzhou-Ai Fangzhou-Ai commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

Enable VLLM_ROCM_QUICK_REDUCE_QUANTIZATION=INT4 for MiniMax-M3.1-Flash TP4 AgentX on MI355X. The pinned image, serving arguments, workloads and per-layer sparse-index recomputation remain unchanged. The only other file change is the required performance-changelog entry.

The completed one-hour c32 INT4 run improves the observed result over the original pinned-image run:

c32, 4× MI355X Output tok/s P90 interactivity (tok/s/user)
Original recipe 1209.52 97.33
INT4 1221.25 101.54
Observed change +0.97% +4.32%

The full INT4 GSM8K evaluation scored 1272/1319 (96.44%) strict match, versus 1266/1319 (95.98%) for the frequency-1 SGLang reference.

The c4 and c8 jobs failed before vLLM startup because prior-job GPU memory was not reclaimed within the 15-minute host-setup limit. The full sweep has not passed.

Validation details
  • c32: 4307 profiled requests, 354 warmup records dropped, zero request errors, 3615.38-second measured duration.
  • Archived startup logs show matching serving arguments, including K3, FP8 draft KV and synthetic acceptance 2.88. The role environment differs only by VLLM_ROCM_QUICK_REDUCE_QUANTIZATION=INT4.
  • The workflow job-name acceptance labels differ; both actual synthetic server configurations use 2.88.
  • These are published-image results. Local CP/K7/BF16-draft, attention, FlyDSL-reducer and prefill-tile experiments are not included in this image or PR.
AI model disclosure
  • Model/version: OpenAI GPT-6 via Codex. The runtime did not expose a verifiable exact deployed model/version identifier.
  • Role: prepared the recipe and changelog changes, checked the generated configurations, inspected the completed SA benchmark/evaluation artifacts, and wrote this PR. No delegated models contributed to this PR.
PR checklist and change type

Type of Change

  • Bug fix
  • New feature
  • Configuration change
  • Documentation update
  • Other (please describe)

Checklist

  • I have completed the AI model disclosure and kept it current
  • I have tested my changes locally
  • I have updated documentation if necessary
  • If python -m infx.matrix.changed --base origin/main lists affected config keys, I have appended one new entry covering them to the physical end of inferencex-e2e/perf-changelog.yaml; if it lists none, I have added none. I have not edited historical entries
  • If this PR appends an inferencex-e2e/perf-changelog.yaml entry, it carries exactly one primary sweep label (a maintainer applies it on fork PRs): full-sweep-fail-fast (recommended), full-sweep-enabled, or non-canary-full-sweep-enabled. Optional modifiers all-evals, evals-only, and agentx-fast require a primary label; the last two block reuse while applied.
  • Before merging via reuse, an authorized maintainer (OWNER/MEMBER/COLLABORATOR) has commented /use <run_id> (or the legacy /reuse-sweep-run) on this PR. Do this only once there is a final full sweep that is all green with evals passing, since after this comment the primary sweep label will no longer automatically kick off new sweeps. Remove and re-add the primary sweep label to force a new sweep.
中文

为 MI355X 上的 MiniMax-M3.1-Flash TP4 AgentX 启用 VLLM_ROCM_QUICK_REDUCE_QUANTIZATION=INT4。固定镜像、服务参数、工作负载和每层稀疏索引重算设置保持不变;另一个文件仅追加仓库要求的性能变更日志。

已完成的一小时 INT4 c32 测试 相比原始固定镜像测试,输出吞吐量从 1209.52 提升到 1221.25 tok/s(+0.97%),P90 interactivity 从 97.33 提升到 101.54 tok/s/user(+4.32%)。共计 4307 条有效测量请求,丢弃 354 条预热记录,请求错误为零,测量时长为 3615.38 秒。

完整 INT4 GSM8K 评测 strict match 为 1272/1319(96.44%);使用 frequency 1 的 SGLang 对比基准 为 1266/1319(95.98%)。

c4 和 c8 在 vLLM 启动前失败,原因是前一任务占用的 GPU 显存未在主机准备阶段的 15 分钟期限内释放;完整 sweep 尚未通过。归档启动日志确认服务参数一致,均为 K3、FP8 draft KV 和 synthetic acceptance 2.88,角色环境仅新增 INT4 设置。工作流任务名称中的 acceptance 标签不同,但实际 synthetic 服务配置均为 2.88。

本 PR 未包含本地探索中的 CP/K7/BF16-draft、attention、FlyDSL reducer 或 prefill tile 改动。

AI 模型使用说明:由 OpenAI GPT-6(通过 Codex)协助准备配方、变更日志、检查生成配置、分析 SA 测试及评测产物,并编写 PR 描述。运行环境未提供可核验的精确部署模型名称/版本;没有委派其他模型参与本 PR。

为 MI355X vLLM MiniMax-M3.1-Flash AgentX 启用 INT4 QuickReduce,其他服务和工作负载设置保持不变。

Co-authored-by: Codex <noreply@openai.com>
Signed-off-by: Fangzhou Ai <31551580+Fangzhou-Ai@users.noreply.github.com>
@Fangzhou-Ai Fangzhou-Ai added the full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) label Oct 25, 2026
@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 任务通过。临时性失败通常可以通过重新运行恢复;参见重新运行失败任务的说明。

@Fangzhou-Ai Fangzhou-Ai added full-sweep-enabled Full sweep with canary gate; matrix jobs run to completion despite failures and removed full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) labels Oct 25, 2026
@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

@Fangzhou-Ai
Fangzhou-Ai marked this pull request as ready for review October 25, 2026 05:21
@Fangzhou-Ai
Fangzhou-Ai requested a review from a team October 25, 2026 05:21
@claude

claude Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @Fangzhou-Ai's task in 25s —— View job


Review

  • Read the PR diff and the recipe context
  • Checked the changelog entry: it is appended at the end of the file and covers minimaxm31flash-fp4-mi355x-vllm-agentic-dspark
  • Posted inline feedback

No blocking issues found. The recipe change adds one env var, VLLM_ROCM_QUICK_REDUCE_QUANTIZATION: 'INT4', in the shared base env, so every TP4 variant gets it (both the c1–c8 mono variant and the c16–c64 DSpark-3 variant). That matches the PR description.

There is one 🟡 warning, posted inline: the changelog pr-link is still pull/XXX and should be pull/4485.

INT4 reduction loses precision, so check the GSM8K eval from the sweep against the baseline before merging.

- minimaxm31flash-fp4-mi355x-vllm-agentic-dspark
description:
- "Enable VLLM_ROCM_QUICK_REDUCE_QUANTIZATION=INT4 for MiniMax-M3.1-Flash MI355X vLLM AgentX; keep the pinned image and all other serving and workload settings unchanged."
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/XXX

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.

🟡 WARNING: pr-link is still the pull/XXX placeholder.
Why it matters: This changelog entry is the record behind this config's result change. With a placeholder, the dashboard and changelog history link to a page that doesn't exist.
Fix:

Suggested change
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/XXX
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/4485

@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.

Code review found no issues

No high-confidence issues detected in this change.

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-enabled Full sweep with canary gate; matrix jobs run to completion despite failures

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant