@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 4a6dd1c3cc
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 4, 17:30 UTC

[Bugfix] Fix DeepSeek V2-Lite Accuracy drop (#40673)

Signed-off-by: Bill Nell <bnell@redhat.com>

bnellnm committed Apr 23, 2026 at 18:11 UTC 4a6dd1c3cc4aabae616977bbddf3d6c53e20204b
1 file changed +9 -4
vllm/model_executor/layers/fused_moe/runner/moe_runner.py
+9 -4
@@ -335,11 +335,16 @@ class MoERunner(MoERunnerInterface):
335 """All-reduce shared expert output when the combine kernel already
336 reduced fused output.
337
338 - This is the "early" all-reduce path. When the combine kernel produces
339 - already-reduced fused output, shared output must be reduced separately
340 - to match.
338 + * If the combine kernel does the reduction for fused_output, reduce
339 + shared_output separately. O.w, reduce fused_output+shared_output later.
340 + * If we have SP (TP=N, DP=M, EP), there is a separate AG step handled
341 + in the model.
342 """
342 - if shared_output is not None and self._fused_output_is_reduced:
343 + if (
344 + shared_output is not None
345 + and not self.moe_config.is_sequence_parallel
346 + and self._fused_output_is_reduced
347 + ):
348 shared_output = tensor_model_parallel_all_reduce(shared_output)
349 return shared_output
350