Conversation
62fdd34 to
1996180
Compare
|
@jasonlizhengjian please attach vllm serve command and effect of PR (with / w/o behavior), thanks!! |
| # Both OAI variants map to Swiglu: FlashInfer has no SwigluOAI enum; | ||
| # the clamped/biased behavior is driven by the per-expert gemm1_alpha/ | ||
| # gemm1_beta/gemm1_clamp_limit tensors (see trtllm_nvfp4_moe.py). | ||
| # The interleaved-vs-contiguous row layout difference between the two | ||
| # is resolved in process_weights_after_loading, not here. | ||
| MoEActivation.SWIGLUOAI: ActivationType.Swiglu, | ||
| MoEActivation.SWIGLUOAI_UNINTERLEAVE: ActivationType.Swiglu, |
There was a problem hiding this comment.
Does this behavior work for all the trtllm backends? I see we use this utility in trtllm_bf16_moe.py, trtllm_fp8_moe.py, and trtllm_nvfp4_moe.py
It is probably fine for now if we don't advertise support for those in _supports_activation
There was a problem hiding this comment.
good point, I'll check in parallel
| logger.info_once( | ||
| "activation=%s, gemm1_alpha=%s, gemm1_beta=%s, gemm1_clamp_limit=%s", | ||
| moe_config.activation, | ||
| alpha, | ||
| beta, | ||
| clamp, | ||
| ) |
There was a problem hiding this comment.
Is this debug cruft we can remove? Maybe it could be demoted to debug_once
|
Hi @jasonlizhengjian, the pre-commit checks have failed. Please run: uv pip install pre-commit>=4.5.1
pre-commit install
pre-commit run --all-filesThen, commit the changes and push to your branch. For future commits, |
1996180 to
a412730
Compare
| # gemm1_beta/gemm1_clamp_limit tensors (see trtllm_nvfp4_moe.py). | ||
| # The interleaved-vs-contiguous row layout difference between the two | ||
| # is resolved in process_weights_after_loading, not here. | ||
| MoEActivation.SWIGLUOAI: ActivationType.Swiglu, |
There was a problem hiding this comment.
Do you need add SWIGLUOAI in this PR? I think for M3 we only need to add SWIGLUOAI_UNINTERLEAVE and it would just reduce the potential untested cases
There was a problem hiding this comment.
true, probably got carried over from https://github.com/vllm-project/vllm/tree/minimax-m3-perf branch. cc @jasonlizhengjian
There was a problem hiding this comment.
ok I will test without
Signed-off-by: Xin Li <xinli@nvidia.com> (cherry picked from commit 6c08558) Signed-off-by: jasonlizhengjian <jasonlizhengjian@gmail.com>
a412730 to
513fc60
Compare
|
@jasonlizhengjian Looks like some failures are related, PTAL For instance |
Signed-off-by: jasonlizhengjian <jasonlizhengjian@gmail.com>
|
@mgoin remaining failures should not be related |
|
@jasonlizhengjian - this PR breaks modelOpt mixed precision checkpoints such as nvidia/Qwen3.6-35B-A3B-NVFP4 and nvidia/Nemotron-3-Super-120B-A10B-NVFP4 on DGX Spark, possibly on other hardware too. The regression was detected by my nightly CI pipeline:
I traced the regression to the following commit: With today nightly build, simple queries with
The same recipe on the previous nightly returns I then reverted only Similar situation with Nemotron-3-Super. This also regresses on 20260630, producing Likely mechanism (as suggested by Codex, haven't looked into the PR in more detail myself): this PR makes @mgoin - FYI. |
Signed-off-by: Xin Li <xinli@nvidia.com> Signed-off-by: jasonlizhengjian <jasonlizhengjian@gmail.com> Co-authored-by: Xin Li <xinli@nvidia.com> Signed-off-by: wang.yuqi <yuqi.wang@daocloud.io>
Signed-off-by: Xin Li <xinli@nvidia.com> Signed-off-by: jasonlizhengjian <jasonlizhengjian@gmail.com> Co-authored-by: Xin Li <xinli@nvidia.com>
Summary
Ports #46380 from
minimax-m3-perfonto currentmain.The original PR was merged into
minimax-m3-perf, but currentmainwas still missing the relevant support points when checked locally: ModelOpt mixed MXFP8 dispatch, the parent-prefix fallback for fused projections, and the NVFP4 MoE SwiGLU-OAI alpha/beta/clamp wiring.Changes
qkv_projandgate_up_proj.gemm1_alpha,gemm1_beta, andgemm1_clamp_limitinto FlashInfer TRTLLM NVFP4 MoE kernels, includingmoe_config.swiglu_*fallback.Swiglu.Validation
uvx --from pre-commit>=4.5.1 pre-commit run --files vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py vllm/model_executor/layers/quantization/modelopt.py vllm/model_executor/layers/quantization/utils/flashinfer_utils.pyTested with and without the patch:
Without patch outputs are garbage.
With patch, outputs are normal.