@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / f592b3174b
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 14, 05:30 UTC

[BugFix] Fix Qwen3-Next PP (#24709)

Signed-off-by: Nick Hill <nhill@redhat.com>

Nick Hill committed Sep 11, 2025 at 23:35 UTC f592b3174b39a7aeac52432d66d76e89ff0a80b4
1 file changed +7 -3
vllm/model_executor/models/qwen3_next.py
+7 -3
@@ -2,6 +2,7 @@
2 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3 """Inference-only Qwen3Next model."""
4 from collections.abc import Iterable
5 +from itertools import islice
6 from typing import Optional
7
8 import torch
@@ -917,8 +918,11 @@ class Qwen3NextModel(nn.Module):
918 make_empty_intermediate_tensors_factory(
919 ["hidden_states", "residual"], config.hidden_size))
920
920 - self.norm = Qwen3NextRMSNorm(config.hidden_size,
921 - eps=config.rms_norm_eps)
921 + if get_pp_group().is_last_rank:
922 + self.norm = Qwen3NextRMSNorm(config.hidden_size,
923 + eps=config.rms_norm_eps)
924 + else:
925 + self.norm = PPMissingLayer()
926
927 def get_input_embeddings(self, input_ids: torch.Tensor) -> torch.Tensor:
928 return self.embed_tokens(input_ids)
@@ -941,7 +945,7 @@ class Qwen3NextModel(nn.Module):
945 hidden_states = intermediate_tensors["hidden_states"]
946 residual = intermediate_tensors["residual"]
947
944 - for layer in self.layers:
948 + for layer in islice(self.layers, self.start_layer, self.end_layer):
949 hidden_states, residual = layer(
950 positions=positions,
951 hidden_states=hidden_states,