From 365ca1edb5af06de8d76fd85fa882df2b0ad1654 Mon Sep 17 00:00:00 2001 From: shengzhaotian Date: Tue, 3 Mar 2026 17:59:25 +0800 Subject: [PATCH] [NPU] bugs fix: fix a condition bug when using speculative inference on Qwen3 and Qwen3 moe (#19532) --- python/sglang/srt/models/qwen3.py | 5 ++++- python/sglang/srt/models/qwen3_moe.py | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/python/sglang/srt/models/qwen3.py b/python/sglang/srt/models/qwen3.py index 95aaaa235..b6b955ae6 100644 --- a/python/sglang/srt/models/qwen3.py +++ b/python/sglang/srt/models/qwen3.py @@ -181,7 +181,10 @@ class Qwen3Attention(nn.Module): if get_global_server_args().rl_on_policy_target is not None: hidden_states = hidden_states.bfloat16() - if not _is_npu or forward_batch.forward_mode.is_extend(): + if ( + not _is_npu + or forward_batch.forward_mode.is_extend_or_draft_extend_or_mixed() + ): q, k, v = self.forward_prepare_native( positions=positions, hidden_states=hidden_states, diff --git a/python/sglang/srt/models/qwen3_moe.py b/python/sglang/srt/models/qwen3_moe.py index 3fcf0cfa0..845502fe2 100644 --- a/python/sglang/srt/models/qwen3_moe.py +++ b/python/sglang/srt/models/qwen3_moe.py @@ -620,7 +620,10 @@ class Qwen3MoeAttention(nn.Module): ): if hidden_states.shape[0] == 0: return hidden_states, forward_batch, None - if not _is_npu or forward_batch.forward_mode.is_extend(): + if ( + not _is_npu + or forward_batch.forward_mode.is_extend_or_draft_extend_or_mixed() + ): return self.forward_prepare_native( positions=positions, hidden_states=hidden_states,