Skip to content

[AMD] Add Qwen3.8-Flash-Next-FP8 nightly validation on ROCm 7.2 (verified on rocm720) - #36901

Open
michaelzhang-ai wants to merge 7 commits into
mainfrom
cursor/upstream-qwen38-flash-next-rocm-image-fe21
Open

michaelzhang-ai wants to merge 7 commits into
mainfrom
cursor/upstream-qwen38-flash-next-rocm-image-fe21

Conversation

@michaelzhang-ai

@michaelzhang-ai michaelzhang-ai commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

Motivation

Add the AMD nightly accuracy gate for Qwen/Qwen3.8-Flash-Next-FP8 on ROCm 7.2.

The generic model (qwen4_exp / Qwen4ExpConfig) landed in #37500 (2026-09-08), which closed/superseded #36497. This branch is merged onto current main and the skip guard is gone, so the nightly runs GSM8K instead of OK (skipped=1).

Two jobs, matching the two topologies the released FP8 checkpoint needs — gfx942 cannot hold target + MTP draft + graph/KV state on one GPU, gfx950 can:

Job Runner Topology
nightly-2-gpu-mi30x-qwen38-flash-next-fp8-rocm720 linux-mi300-2gpu-sglang TP2 + EP2, mem-fraction-static 0.75
nightly-1-gpu-mi35x-qwen38-flash-next-fp8-rocm720 linux-mi35x-gpu-1 TP1, mem-fraction-static 0.95

Both exercise the AITER decode-graph path with EAGLE speculation (3 / 1 / 4) against a pinned checkpoint revision, gated on GSM8K ≥ 0.94 plus a multimodal smoke check. Direct AITER paged QSA stays disabled so the correctness gate does not depend on an unreleased AITER API.

Modifications

CI only — two files.

  • [AMD] Add Qwen3.8 Flash Next nightly validation — cherry-picked from [AMD] Support Qwen3.8-Flash-Next MXFP4 on ROCm #36601 (3003ddf15), authorship preserved. Adds the two workflow jobs to nightly-test-amd-rocm720.yml and test/registered/amd/accuracy/test_qwen38_flash_next_fp8_eval.py. Suites are registered in the test file via register_amd_ci, so no test/run_suite.py change is needed.
  • Merge origin/main — picks up support qwen 3.8 flash next #37500 (Qwen4ExpConfig and the QSA/PLE stack).
  • Arm the nightly — drop the Qwen4ExpConfig skip guard that existed only while model support was missing.

Net diff against main is those two files.

Remaining follow-up (not this PR)

The suite is fully on the intended AITER MoE path once #36601's 619632b2c ("Honor explicit AITER MoE backend selection") lands. This test uses --moe-runner-backend aiter together with SGLANG_USE_AITER=0. Until that restack, the CLI flag may not independently select AITER MoE.

NVIDIA QSA follow-ups (#36644 FP8 KV, #36556 SM12x) are not ROCm blockers. Issue #36616 remains an image-rebuild item, not a missing code change.

Accuracy Tests

Wiring was verified on the rocm720 flavor before #37500, with job_select narrowed to the MI35x job:

Run Head Result
33205733803 before the old skip guard infrastructure green, failed on KeyError: 'qwen4_exp'
33206455622 skip guard green (OK (skipped=1))
33209050367 after merging main green
33215101724 09a9efb0f green (OK (skipped=1))

Those runs prove checkout, VRAM clear, ROCm 7.2.0 container setup, dependency install, HF cache, suite resolution, and server CLI. They could not score GSM8K because qwen4_exp was not on main.

This update: skip guard removed; current head 31de6319de includes #37500. A new MI35x job_select dispatch is needed to record a real GSM8K number. For reference, #36601 reports GSM8K 96.80% on gfx950 FP8 TP1 and 96.96% on gfx942 FP8 TP2/EP2 for this path.

Not verified in the old runs: the rocm724 matrix flavor, the 2-GPU MI30x job.

Local checks: both jobs are defined, land on the right runners, appear in the job_select options, self-match their own if gate, and are wired into check-all-jobs.needs without dropping any job that is already on main; the two suite names the workflow invokes are exactly the two the test file registers.

Speed Tests and Profiling

Not applicable — CI-only change.

Checklist


CI States

Latest PR Test (Base): ❌ Run #34829340183
Latest PR Test (Extra): ❌ Run #34829339697
Latest PR Test (AMD ROCm 10): ❌ Run #34829340008

The AMD rows point at lmsysorg/sglang-rocm:qwen38flashnext, which is a
container snapshot rather than a build of docker/rocm.Dockerfile. Its
SGLang tree is a copy of #36497 taken before that PR grew the FP8 PLE
weight-scale path, so the FP8 checkpoint aborts during weight load with
an ngram_embedding.weight_scale assertion (#36616). The only accuracy run
recorded in that image is BF16 at TP8, so the FP8 cells were claiming a
verification that does not exist.

Mark the two AMD FP8 cells in-progress with the reason, and document the
docker/rocm.Dockerfile build that reproduces the image from a chosen
revision.

Co-authored-by: quitenode <quitenode@users.noreply.github.com>
@mintlify

mintlify Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
lmsysorg 🟢 Ready View Preview Aug 28, 2026, 7:19 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Aug 28, 2026
@michaelzhang-ai
michaelzhang-ai marked this pull request as ready for review August 28, 2026 19:47
Signed-off-by: andyluo7 <andy.luo@amd.com>
@github-actions github-actions Bot added the amd label Aug 28, 2026
@michaelzhang-ai michaelzhang-ai changed the title [Docs] Qwen3.8-Flash-Next: record ROCm image provenance and its FP8 gap [AMD] Add Qwen3.8-Flash-Next-FP8 nightly validation on ROCm 7.2 Aug 28, 2026
The checkpoint declares model_type "qwen4_exp", which AutoConfig only
resolves once sglang.srt.configs.Qwen4ExpConfig exists. On a build without
it the nightly job dies at server launch with

  ValueError: The checkpoint you are trying to load has model type
  `qwen4_exp` but Transformers does not recognize this architecture

which is a missing dependency, not an accuracy regression. Guard the test
class so the job reports a skip with that reason and starts gating on its
own once the model-support PR lands.

Co-authored-by: quitenode <quitenode@users.noreply.github.com>
…8-flash-next-rocm-image-fe21

Co-authored-by: quitenode <quitenode@users.noreply.github.com>
@michaelzhang-ai
michaelzhang-ai marked this pull request as draft August 28, 2026 22:02
@michaelzhang-ai michaelzhang-ai changed the title [AMD] Add Qwen3.8-Flash-Next-FP8 nightly validation on ROCm 7.2 [AMD] Add Qwen3.8-Flash-Next-FP8 nightly validation on ROCm 7.2 (verified on rocm720) Aug 28, 2026
@michaelzhang-ai michaelzhang-ai added run-ci and removed documentation Improvements or additions to documentation run-ci labels Aug 28, 2026
@michaelzhang-ai
michaelzhang-ai marked this pull request as ready for review August 28, 2026 22:14
@michaelzhang-ai
michaelzhang-ai marked this pull request as draft August 30, 2026 05:26
cursoragent and others added 2 commits September 9, 2026 00:36
…e21 (includes #37500 Qwen3.8-Flash-Next model support)

Co-authored-by: Michael <michaelzhang-ai@users.noreply.github.com>
Drop the Qwen4ExpConfig skip guard. Model support is on main, so the
GSM8K nightly should run rather than skip.

Co-authored-by: Michael <michaelzhang-ai@users.noreply.github.com>
@michaelzhang-ai
michaelzhang-ai marked this pull request as ready for review September 9, 2026 00:38
@cursor

cursor Bot commented Sep 9, 2026

Copy link
Copy Markdown

Update after #37500 merged (2026-09-08)

  • Merged current main into this branch so Qwen4ExpConfig / qwen4_exp is present.
  • Dropped the skip guard in test_qwen38_flash_next_fp8_eval.py. The nightly should now run GSM8K instead of OK (skipped=1).
  • Marked the PR ready for review.

Still a follow-up, not this diff: #36601 619632b2c (honor explicit --moe-runner-backend aiter with SGLANG_USE_AITER=0). Issue #36616 remains an image-rebuild item.

Previous rocm720 MI35x wiring proof: https://github.com/sgl-project/sglang/actions/runs/33215101724 (skipped because model support was not on main yet). A new job_select dispatch is needed for a real GSM8K number.

@Jiminator Jiminator closed this Sep 14, 2026
@Jiminator
Jiminator deleted the cursor/upstream-qwen38-flash-next-rocm-image-fe21 branch September 14, 2026 04:44
@alexnails
alexnails restored the cursor/upstream-qwen38-flash-next-rocm-image-fe21 branch September 14, 2026 05:45
@hnyls2002 hnyls2002 removed the run-ci label Sep 14, 2026
@hnyls2002 hnyls2002 reopened this Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants