[AMD] Update MiniMax-M3-MXFP4 MI355X vLLM disagg perf and config / 更新 MiniMax-M3-MXFP4 MI355X vLLM disagg 性能与配置#1943
Conversation
|
Thanks for the contribution! For vLLM & SGLang, please ensure that your recipes is similar to the official vLLM recipes and/or the SGLang cookbook If it is not, please create a PR first before we can merge your single node PR into the master branch. Let's ensure that the documentation is first class such that the entire ML community can benefit from your hard work! Thank you
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. If re-running failed jobs is attempted, PR authors are responsible for ensuring it passes. See GitHub's docs on re-running failed jobs: https://docs.github.com/en/actions/how-tos/manage-workflow-runs/re-run-workflows-and-jobs#re-running-failed-jobs-in-a-workflow As a rule of thumb, generally, PR authors should request a review & get a PR approval from the respective companies' CODEOWNERS before requesting a review from core maintainers. If additional help is needed, PR authors can reach out to core maintainers over Slack. 感谢你的贡献!对于 vLLM 与 SGLang,请确保你的 recipe 与官方 vLLM recipes 和/或 SGLang cookbook 保持一致 如果不一致,请先创建一个 PR,之后我们才能将你的单节点 PR 合并到 master 分支。让我们确保文档保持一流水准,使整个 ML 社区都能从你的辛勤工作中受益!谢谢
PR 作者有责任确保合并后所有 GitHub Action 任务完全通过。 很多时候失败只是偶发抖动(flake),重新运行失败的任务即可解决。如果选择重新运行失败的任务,PR 作者有责任确保其最终通过。参见 GitHub 关于重新运行失败任务的文档:https://docs.github.com/en/actions/how-tos/manage-workflow-runs/re-run-workflows-and-jobs#re-running-failed-jobs-in-a-workflow 一般而言,PR 作者应先向相应公司的 CODEOWNERS 请求审阅并获得 PR 批准,然后再请求核心维护者审阅。 如需更多帮助,PR 作者可通过 Slack 联系核心维护者。 |
a8d9eae to
99ff255
Compare
|
Claude finished @Duyi-Wang's task in 1m 3s —— View job PR Review
LGTM — no blocking issues found. Verified:
|
There was a problem hiding this comment.
can u update this an upstream docker image such that it is a performance update PR? @Duyi-Wang
There was a problem hiding this comment.
Ok, the image will be updated once all optimizations have been merged.
There was a problem hiding this comment.
okay feel free to reopen an new PR once there is acutally an upstream image such that
- u dont need have an hard time resolving conflicts
- we dont waste gpu time on testing images that we not gotta accept
99ff255 to
305e728
Compare
305e728 to
86d998f
Compare
|
Claude finished @Duyi-Wang's task in 1m 4s —— View job Re-review
Re-review: LGTM — no blocking issues found. What changed since my last review (addresses @functionstackx's request to use an upstream image):
Previously-verified items still hold:
Note: I can't verify the specific nightly tag exists in the |
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=28489114424 |
2 similar comments
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=28489114424 |
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=28489114424 |
86d998f to
4c067e5
Compare
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=28646019011 |
4c067e5 to
6018b99
Compare
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=28764297239 |
1 similar comment
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=28764297239 |
…refill INT4 quick-reduce, drop 2P1D, cap 1P1D conc at 256 - amd-master.yaml: bump disagg image to vllm/vllm-openai-rocm:nightly-2dfaae752b4db0d43cfc0715c780e33be030d0f1. - models_vllm.yaml: export VLLM_ROCM_USE_AITER_FUSION_SHARED_EXPERTS=1; add prefill_env (VLLM_ROCM_QUICK_REDUCE_QUANTIZATION=INT4, VLLM_ROCM_QUICK_REDUCE_MAX_SIZE_BYTES_MB=2048). - server_vllm.sh: prefill_env / PREFILL_MODEL_ENVS channel (mirrors decode_env). - amd-master.yaml: 1P1D TP4 conc sweep 1..512 -> 1..256; drop the 2P1D TP4 layout (CI-flaky, negligible curve impact). 中文:更新 MiniMax-M3 MXFP4 MI355X vLLM 分离式(prefill/decode)配置。 - 升级镜像至 vllm/vllm-openai-rocm:nightly-2dfaae752b4db0d43cfc0715c780e33be030d0f1, 以支持 AITER MoE 与共享专家融合(shared-expert fusion)。 - 为 MiniMax-M3-MXFP4 导出 VLLM_ROCM_USE_AITER_FUSION_SHARED_EXPERTS=1(prefill 与 decode 均生效)。 - 新增 prefill_env 通道,仅在 prefill worker 上启用 INT4 quick-reduce (VLLM_ROCM_QUICK_REDUCE_QUANTIZATION=INT4、VLLM_ROCM_QUICK_REDUCE_MAX_SIZE_BYTES_MB=2048), 实现方式对齐已有的 decode_env 路径。 - 1P1D TP4 并发扫描上限从 512 降至 256;移除 2P1D TP4 组合(CI 频繁失败,对曲线影响可忽略)。
6018b99 to
bc80e2b
Compare
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=28853536583 |
1 similar comment
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=28853536583 |
|
The latest sweep and eval link: https://github.com/SemiAnalysisAI/InferenceX/actions/runs/28853536583 |
…x-vllm-disagg-exp
|
/reuse-sweep-run 28853536583 |
billishyahao
left a comment
There was a problem hiding this comment.
As a PR reviewer and CODEOWNER, I have reviewed this and have:
- Verified that as of the moment of typing this, this is the latest version of PR_REVIEW_CHECKLIST.md
- Verified that the general code quality meets the InferenceX standard and does not make the code quality any worse.
- Verified that this PR has passed PR validation. https://github.com/SemiAnalysisAI/InferenceX/actions/runs/28853536583.
- Verified that this PR passes evals. https://github.com/SemiAnalysisAI/InferenceX/actions/runs/28853536583.
- Verified that speculative decoding PRs uses chat templates to align the AL distribution to real world
- Verified that the model architecture isn't changed with benchmark hacks like using --hf-overrides to skipping indexer for every x layers on models that don't natively support this. As a general rule, we won't accept optimizations that reduces the number of model architecture FLOPs. Anything that makes that same computation run faster is fair game; FLOPs at lower precisions is fine, given that the config passes private evals. As an general north star princple, we should only use optimizations which is used in production by customers that care about accuracy
- If an company claims that they support vLLM/SGLang as first class LLM inference engines on their hardware, I have verified that the respective vLLM submission made using upstream https://hub.docker.com/u/vllm docker repo, upstream SGLang https://hub.docker.com/u/lmsysorg docker repo. The only exceptions are for new hardware, such as MI455X UALoE72, Vera Rubin NVL72, Rubin NVL8, etc., and for new model architectures where there is an actual reason why vLLM/SGLang does not fundamentally support them yet as supported by vLLM/SGLang community maintainers
- If an company claims that they support vLLM/SGLang as first class upstream in-tree LLM inference engines on their hardware, I have have verified that the respective vLLM/SGLang submission has been made before additional frameworks (TRT-LLM, ATOM, etc.). The only exceptions are for new hardware, such as MI455X UALoE72, Vera Rubin NVL72, Rubin NVL8, etc., and for new model architectures where there is an actual reason why vLLM/SGLang does not fundamentally support them yet.
- Verified that the single-node recipes are similar to the official vLLM recipes and/or theSGLang cookbook:
- If they are not, I have verified that a PR has been opened in vLLM recipe repo or SGLang repo and linked it below in the additional detail section:
- If any of the above criteria cannot reasonably be satisfied, I have provided additional reasoning below.
Additional detail section:
- insert any additional info here
Signed: billishyahao
✅✅✅ Verdict: PASS ✅✅✅✅ Check 0 (CODEOWNER): PASS — |
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=28916955742 |
Changes
VLLM_ROCM_QUICK_REDUCE_QUANTIZATION=INT4andVLLM_ROCM_QUICK_REDUCE_MAX_SIZE_BYTES_MB=2048on the prefill workers, via a newprefill_envchannel inserver_vllm.sh(mirrors the existingdecode_envpath; injected on every prefill rank). Applied to theMiniMax-M3-MXFP4entry inmodels_vllm.yaml.Notes
main;perf-changelog.yamlentry included.中文说明
为 MiniMax-M3-MXFP4 MI355X vLLM disagg 配置新增 prefill 端 INT4 quick-reduce 优化(设置
VLLM_ROCM_QUICK_REDUCE_QUANTIZATION=INT4和VLLM_ROCM_QUICK_REDUCE_MAX_SIZE_BYTES_MB=2048),通过server_vllm.sh中新增的prefill_env通道注入到每个 prefill rank。调整搜索空间:将 1P1D TP4 并发上限从 512 降至 256,丢弃2P1D TP4。