From fa55373af11be49e76f51360aca2783d3173797f Mon Sep 17 00:00:00 2001 From: Sage Moore Date: Fri, 26 Sep 2025 01:25:28 -0700 Subject: [PATCH] [Bugfix] Fix Shared Expert/Zero expert code in FusedMoE.process_chunk (#25698) Signed-off-by: Sage Moore Co-authored-by: Robert Shaw <114415538+robertgshaw2-redhat@users.noreply.github.com> Signed-off-by: yewentao256 --- vllm/model_executor/layers/fused_moe/layer.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vllm/model_executor/layers/fused_moe/layer.py b/vllm/model_executor/layers/fused_moe/layer.py index 92241f50db073..eccae8b2a7af4 100644 --- a/vllm/model_executor/layers/fused_moe/layer.py +++ b/vllm/model_executor/layers/fused_moe/layer.py @@ -1925,7 +1925,9 @@ class FusedMoE(CustomOp): assert self.shared_experts is None or isinstance( final_hidden_states, tuple) - if isinstance(final_hidden_states, tuple): + if self.zero_expert_num is not None and self.zero_expert_num > 0: + assert isinstance(final_hidden_states, tuple) + assert self.shared_experts is None final_hidden_states, zero_expert_result = final_hidden_states if zero_expert_result is not None: final_hidden_states += zero_expert_result