[CI][AMD][Disagg] Fix Kimi K2.5/K2.6 MXFP4 MLA backends on ROCm nightly for accuracy eval - #21
avininjamay8 wants to merge 2 commits into
Conversation
…ly for accuracy eval Use TRITON_MLA decode with FLASH_ATTN MLA prefill instead of ROCM_AITER_MLA so P/D GSM8K passes on current vllm-openai-rocm:nightly (avoids aiter fmha). Co-authored-by: Cursor <cursoragent@cursor.com>
| VLLM_ROCM_USE_AITER_MOE: "1" | ||
| VLLM_ROCM_USE_AITER_RMSNORM: "1" | ||
| base_flags: "--trust-remote-code" | ||
| base_flags: "--trust-remote-code --attention-backend TRITON_MLA -ac.mla_prefill_backend=FLASH_ATTN --disable-custom-all-reduce" |
There was a problem hiding this comment.
Why do we need to move prefill backend to Flash attn?
There was a problem hiding this comment.
Thats a fair question, actually : TRITON_MLA only fixes decode, without -ac.mla_prefill_backend=FLASH_ATTN, ROCm still uses aiter fmha for MLA prefill, which passes health on nightly but breaks GSM8K : FlashAttention prefill avoids that failure while we keep Triton decode.
There was a problem hiding this comment.
@lcskrishna added an alternate solution : #22 . Please review.
There was a problem hiding this comment.
Note: an earlier draft included --disable-custom-all-reduce as a workaround for vLLM vllm-project#50999 vs AITER custom all-reduce. That is no longer needed after vLLM vllm-project#51635 (merged Aug 10, 2026);
vLLM vllm-project#51635 restores TCPStore when AITER custom all-reduce is enabled, so the workaround is no longer needed on nightly (validated in spur job 4357). Co-authored-by: Cursor <cursoragent@cursor.com>
Purpose
Kimi K2.5/K2.6 MXFP4 disaggregated GSM8K on
vllm/vllm-openai-rocm:nightlywas failing when MLA went through aiter:ROCM_AITER_MLA(andVLLM_ROCM_USE_AITER_MLA=1on K2.6) — bad prefill / bring-up under load.ROCM_AITER_TRITON_MLA— engine did not pass health (same class of failure as full aiter MLA on nightly).TRITON_MLAwithout FLASH_ATTN prefill — health OK, then prefill HTTP 500 from aiterfmha_fwd_bf16_opus_fwdduring GSM8K.Use TRITON MLA for decode and FlashAttention for MLA prefill (
-ac.mla_prefill_backend=FLASH_ATTN).Changes
models.yaml— Kimi-K2.5-MXFP4: add--attention-backend TRITON_MLA -ac.mla_prefill_backend=FLASH_ATTNtobase_flags.models.yaml— Kimi-K2.6-MXFP4: dropVLLM_ROCM_USE_AITER_MLAfromenv; setblock-size 16and the same TRITON + FLASH_ATTN flags (replaceROCM_AITER_MLA/block-size 1).Test Plan
MoRIIO 1P1D TP8 disaggregated serving,
ROUTER_TYPE=proxy,RUN_AFTER_HEALTH=accuracy, imagevllm/vllm-openai-rocm:nightly.Kimi-K2.5-MXFP4 — TP8 1P1D
Kimi-K2.6-MXFP4 — TP8 1P1D
GSM8K evaluation
lm_eval --model local-completions \ --tasks gsm8k \ --model_args "model=/data/models2/Kimi-K2.5-MXFP4,base_url=http://127.0.0.1:10001/v1/completions,num_concurrent=16,max_retries=3,tokenized_requests=False,trust_remote_code=True,timeout=7200" \ --limit 250Use the K2.6 model path the same way.
Test Result
Accuracy results (GSM8K, flexible-extract, limit 250)
ROCM_AITER_TRITON_MLA(init) orTRITON_MLAonly (fmha / eval)ROCM_AITER_MLA/ROCM_AITER_TRITON_MLA(init) orTRITON_MLAonly (fmha / eval)