Skip to content

Commit 3bfe3e3

Browse files
[WIP] Add MiniMax-M3 on MI355X with EAGLE3 spec decode
Adds workloads/minimax_m3_mi355x.yaml: MiniMax-M3-MXFP8 on MI355X (CDNA4), TP=8 (no expert parallelism), EAGLE3 speculative decode (drafter Inferact/MiniMax-M3-EAGLE3, 3 speculative tokens), env VLLM_USE_BREAKABLE_CUDAGRAPH=0. gsm8k as the spec-decode correctness gate; vllm_bench 8k-in/1k-out at conc-128 (MI355X-family baseline). KV cache left at default (bf16): MiniMax-M3-MXFP8 ships no calibrated KV scales, so --kv-cache-dtype fp8 silently corrupts output (vllm-project/vllm#45562). nightly: true, but blocked on vllm-project/vllm#45381 (M3 support, which carries the ROCm/AMD EAGLE3 enablement #45546) landing on main; it will fail at server bring-up until then. AI-assisted (Claude Code). Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: functionstackx <47992694+functionstackx@users.noreply.github.com>
1 parent f467e05 commit 3bfe3e3

1 file changed

Lines changed: 53 additions & 0 deletions

File tree

workloads/minimax_m3_mi355x.yaml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# MiniMax-M3 on MI355X (CDNA4) with EAGLE3 speculative decode
2+
#
3+
# MXFP8 checkpoint runs natively on CDNA4 (OCP fp8 + MX matrix cores).
4+
# EAGLE3 drafter: Inferact/MiniMax-M3-EAGLE3 (LlamaForCausalLMEagle3 head,
5+
# hidden_size 6144 / vocab 200064 matching the M3 target), drafting 3 tokens.
6+
#
7+
# KV cache is intentionally left at the model default (bf16). MiniMax-M3-MXFP8
8+
# ships no calibrated KV scales, so --kv-cache-dtype fp8 silently falls back to
9+
# scale 1.0 and corrupts output (see vllm-project/vllm#45562); do not enable it
10+
# here without a calibrated checkpoint or a self-calibrating dtype.
11+
name: minimax_m3-mi355x
12+
gpu: MI355X
13+
num_gpus: 8
14+
nightly: true
15+
16+
vllm:
17+
model: MiniMaxAI/MiniMax-M3-MXFP8
18+
env:
19+
VLLM_USE_BREAKABLE_CUDAGRAPH: 0
20+
serve_args: >-
21+
--tensor-parallel-size 8
22+
--tool-call-parser minimax_m3
23+
--reasoning-parser minimax_m3
24+
--enable-auto-tool-choice
25+
--trust-remote-code
26+
--speculative-config.method eagle3
27+
--speculative-config.model Inferact/MiniMax-M3-EAGLE3
28+
--speculative-config.num_speculative_tokens 3
29+
30+
lm_eval:
31+
# gsm8k here is a correctness gate: speculative decoding is output-equivalent
32+
# to non-spec greedy, so the score must match the no-spec MiniMax-M3 baseline.
33+
model_args:
34+
tokenized_requests: false
35+
tokenizer_backend: null
36+
timeout: 6000
37+
tasks:
38+
- name: gsm8k
39+
num_fewshot: 5
40+
model_args:
41+
num_concurrent: 64
42+
max_length: 40960
43+
max_gen_toks: 32768
44+
45+
vllm_bench:
46+
configs:
47+
- name: 8k-in-1k-out-conc-128
48+
backend: openai
49+
dataset: random
50+
input_len: 8192
51+
output_len: 1024
52+
num_prompts: 512
53+
max_concurrency: 128

0 commit comments

Comments
 (0)