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,