Switch Qwen3.5 FP4 SGLang configs to NVFP4 V2 / 将 Qwen3.5 FP4 SGLang 配置切换到 NVFP4 V2 - #2205
Conversation
Bump all 7 Qwen3.5 FP4 configs (b200 sglang/trt +/-mtp, b300 sglang +/-mtp, gb300 dynamo-sglang disagg) to the V2 checkpoint pre-staged on all clusters as Qwen3.5-397B-A17B-NVFP4-V2. - configs/nvidia-master.yaml: model -> V2 for all 7 keys - gb300 disagg recipes: served-model-name -> V2 (weights still resolve via the qwen3.5-fp4 alias in launch_gb300-nv.sh) - launch_b200-dgxc.sh / launch_gb300-nv.sh: MODEL_PATH filename -> V2 - launch_b300-nv.sh: V2 added to STAGED_MODELS Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
Thanks for the contribution! Please reach out to respective companies' CODEOWNER to fill in the latest PR_REVIEW_CHECKLIST.md before pinging core maintainer on Slack for review. In order for the signoff PR check bot to trigger, you must follow the PR_REVIEW_CHECKLIST.md template correctly, including the phrase For PR verification, add the PR authors are responsible for ensuring that after merging, all GitHub Action jobs fully pass. A lot of the time, failures are just flakes and simply re-running the failed jobs will fix it. See GitHub's docs on re-running failed jobs 感谢你的贡献!请联系相应公司的 CODEOWNER 填写最新的 PR_REVIEW_CHECKLIST.md,然后再在 Slack 上联系核心维护者进行审阅。为了触发 signoff PR 检查机器人,你必须正确遵循 PR_REVIEW_CHECKLIST.md 模板,包括保留英文语句 如需进行 PR 验证,请为此 PR 添加 PR 作者有责任确保合并后所有 GitHub Action 任务完全通过。 很多时候失败只是偶发抖动(flake),重新运行失败的任务即可解决。参见 GitHub 关于重新运行失败任务的文档 |
1 similar comment
|
Thanks for the contribution! Please reach out to respective companies' CODEOWNER to fill in the latest PR_REVIEW_CHECKLIST.md before pinging core maintainer on Slack for review. In order for the signoff PR check bot to trigger, you must follow the PR_REVIEW_CHECKLIST.md template correctly, including the phrase For PR verification, add the PR authors are responsible for ensuring that after merging, all GitHub Action jobs fully pass. A lot of the time, failures are just flakes and simply re-running the failed jobs will fix it. See GitHub's docs on re-running failed jobs 感谢你的贡献!请联系相应公司的 CODEOWNER 填写最新的 PR_REVIEW_CHECKLIST.md,然后再在 Slack 上联系核心维护者进行审阅。为了触发 signoff PR 检查机器人,你必须正确遵循 PR_REVIEW_CHECKLIST.md 模板,包括保留英文语句 如需进行 PR 验证,请为此 PR 添加 PR 作者有责任确保合并后所有 GitHub Action 任务完全通过。 很多时候失败只是偶发抖动(flake),重新运行失败的任务即可解决。参见 GitHub 关于重新运行失败任务的文档 |
There was a problem hiding this comment.
LGTM — straightforward checkpoint swap.
Extended reasoning...
Overview
This PR swaps the checkpoint used for all 7 Qwen3.5 FP4 benchmark configs (b200 sglang/trt ±mtp, b300 sglang ±mtp, gb300 dynamo-sglang disagg) from nvidia/Qwen3.5-397B-A17B-NVFP4 to nvidia/Qwen3.5-397B-A17B-NVFP4-V2. Changes are confined to: the model: field for all 7 relevant keys in configs/nvidia-master.yaml, served-model-name in the 4 gb300 disagg recipe YAMLs, MODEL_PATH filename strings in launch_b200-dgxc.sh/launch_gb300-nv.sh, a new entry in the STAGED_MODELS array in launch_b300-nv.sh, and a matching perf-changelog.yaml entry.
Security risks
None — this is a benchmark config/recipe change with no code paths touching auth, secrets, or user input. The checkpoint name is a static string pointing to a pre-staged local path.
Level of scrutiny
Low. This is a mechanical, well-scoped model-checkpoint version bump following the exact pattern of prior similar PRs in this repo's history (e.g. recent H200 FP8 refresh, other model swaps). I cross-checked that all references to the old checkpoint name are updated consistently across the master config, the gb300/b300/b200 launcher scripts, and the recipe YAMLs, and that the aliasing scheme (served-model-name vs. model-path alias vs. STAGED_MODELS basename matching) stays internally consistent after the swap — no path or config was missed or left mismatched.
Other factors
No bugs were surfaced by the bug hunting system, and the two candidate issues it raised (missing Chinese translation, placeholder PR link) were checked and are non-issues — the changelog entry has a real PR link and translation isn't required for this template. No CODEOWNER-sensitive or business-logic code is touched.
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=29353750144 |
315b414 to
25ef4a1
Compare
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=29370174289 |
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=29370502845 |
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=29371470246 |
1 similar comment
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=29371470246 |
functionstackx
left a comment
There was a problem hiding this comment.
what is difference between nvidia/Qwen3.5-397B-A17B-NVFP4-V2 & nvidia/Qwen3.5-397B-A17B-NVFP4
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=29371470246 |
…oint / 修复:将 b200-dgxc 的 qwen3.5 fp4 模型路径限定到 V2 检查点 The qwen3.5 + fp4 MODEL_PATH branch in launch_b200-dgxc.sh keyed only on MODEL_PREFIX and PRECISION, but two checkpoints now share that pair: qwen3.5-fp4-b200-sglang / -sglang-mtp -> nvidia/Qwen3.5-397B-A17B-NVFP4-V2 qwen3.5-fp4-b200-trt / -trt-mtp -> nvidia/Qwen3.5-397B-A17B-NVFP4 Since this script later does `export MODEL="$MODEL_PATH"`, the shared branch made the two TRT configs serve V2 weights while still publishing results under the old checkpoint name whenever they landed on a b200-dgxc_* runner (launch_b200-cw.sh / launch_b200-nb.sh pin no path, so the same key served the old weights there -- i.e. runner-dependent). Introduced by 25ef4a1, which reverted the TRT keys to NVFP4 but left the launcher pointing at the V2 path. Branch on the checkpoint so each key resolves to its own weights. The old-checkpoint arm restores the exact /lustre path used on main, so TRT behaviour is unchanged and needs no re-sweep. 中文:launch_b200-dgxc.sh 中 qwen3.5 + fp4 的 MODEL_PATH 分支仅依据 MODEL_PREFIX 与 PRECISION 判断,而这两个字段现已对应两个不同的检查点,导致 TRT 配置在 b200-dgxc 运行器上会加载 V2 权重,却仍以旧检查点名称发布结果。 改为按检查点分支:V2 走 /scratch,旧检查点恢复为 main 上的 /lustre 路径, 因此 TRT 行为保持不变,无需重跑 sweep。
中文:合并 origin/main 并解决 perf-changelog 冲突
|
Revoking the standing `/reuse-sweep-run` authorization on this PR (removing the bare command comment from 2026-07-23). A bare `/reuse-sweep-run` is not one-shot — `utils/find_reusable_sweep_run.py` re-reads it on every Why reuse is no longer safe here: the evidence run 29371470246 is from 2026-07-14, and Re-authorize with an explicit run ID once a fresh sweep lands. |
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=30506346629 |
|
/reuse-sweep-run 30506346629 |
|
As a PR reviewer and CODEOWNER, I have reviewed this and have:
Additional detail section:
Signed: |
❌❌❌ REJECTED ❌❌❌@Ankur-singh — blocking: no merged/published upstream recipe documents
|
|
As a PR reviewer and CODEOWNER, I have reviewed this and have:
Additional detail section:
Signed: |
✅✅✅ Verdict: PASS ✅✅✅The blocker from the previous verdict is cleared: the upstream recipe naming NVFP4-V2 is now merged. Head unchanged at ✅ Check 0 (CODEOWNER): PASS — |
精简 perf-changelog 条目:仅保留 TEP2 组合与 #2205 NVFP4-V2 依赖两条说明。
…en3.5-fp4-b200-sglang-mtp): 基于 NVFP4-V2 添加 TEP2 组合 (#2550) * perf(qwen3.5-fp4-b200-sglang-mtp): add TEP2 arm Add a TP2/EP2 arm to the Qwen3.5-397B-A17B NVFP4 B200 SGLang MTP 8k/1k sweep at concurrency 16/32/64, alongside the existing TP2/EP1 rows. * Update perf-changelog pr-link for #2550 * chore(changelog): trim TEP2 entry description to two bullets 精简 perf-changelog 条目:仅保留 TEP2 组合与 #2205 NVFP4-V2 依赖两条说明。 --------- Co-authored-by: Ankur-singh <ankusingh@nvidia.com>
Summary
Update the four aggregated Qwen3.5 FP4 SGLang configs (
qwen3.5-fp4-b200-sglangandqwen3.5-fp4-b300-sglang, with and without MTP) tonvidia/Qwen3.5-397B-A17B-NVFP4-V2.Scope:
lmsysorg/sglang:v0.5.14-cu130V1 versus V2
The published NVIDIA model cards describe the following differences:
Changes
configs/nvidia-master.yaml: switch the four B200/B300 SGLang STP/MTP config keys from V1 to V2.runners/launch_b200-dgxc.sh: resolve Qwen3.5 FP4 to/scratch/fsw/models/Qwen3.5-397B-A17B-NVFP4-V2.runners/launch_b300-nv.sh: addQwen3.5-397B-A17B-NVFP4-V2toSTAGED_MODELS.perf-changelog.yaml: append the four config keys with the PR link.The B200 TRT-LLM configs and GB300 Dynamo-SGLang disaggregated configs intentionally remain on V1 for follow-up validation.
Validation
Exact-head Run Sweep 29371470246, attempt 3 completed successfully on
cac471c051825d2c5a8099978f205c22b7beb267:collect-results,collect-evals, andcompare-resultsall succeeded;compare-resultsmatched 74/74 result rowslmsysorg/sglang:v0.5.14-cu130image declared by the configsThe currently published SGLang Qwen3.5 cookbook still names the V1 checkpoint. Under the live InferenceX checklist, a merged/published upstream recipe update that names V2 and matches the major server arguments is still required before merge.
中文说明
概要
将四个 Qwen3.5 FP4 SGLang 聚合式配置(
qwen3.5-fp4-b200-sglang和qwen3.5-fp4-b300-sglang,分别包含 STP 与 MTP 版本)更新为nvidia/Qwen3.5-397B-A17B-NVFP4-V2。范围:
lmsysorg/sglang:v0.5.14-cu130V1 与 V2 的差异
NVIDIA 发布的模型卡说明了以下差异:
变更内容
configs/nvidia-master.yaml:将四个 B200/B300 SGLang STP/MTP 配置键从 V1 切换到 V2。runners/launch_b200-dgxc.sh:将 Qwen3.5 FP4 解析到/scratch/fsw/models/Qwen3.5-397B-A17B-NVFP4-V2。runners/launch_b300-nv.sh:将Qwen3.5-397B-A17B-NVFP4-V2加入STAGED_MODELS。perf-changelog.yaml:在文件末尾追加四个配置键及当前 PR 链接。B200 TRT-LLM 配置和 GB300 Dynamo-SGLang 分离式(推理)配置在本 PR 中有意保留 V1,待后续验证后再迁移。
验证
基于当前 head
cac471c051825d2c5a8099978f205c22b7beb267的 Run Sweep 29371470246(第 3 次尝试) 已成功完成:collect-results、collect-evals和compare-results均成功;compare-results匹配 74/74 条结果lmsysorg/sglang:v0.5.14-cu130镜像当前发布的 SGLang Qwen3.5 cookbook 仍使用 V1 检查点。根据 InferenceX 最新检查清单,在合并前仍需让指向 V2 且主要服务参数一致的上游 recipe 更新完成合并或正式发布。