22# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
33"""Inference-only Qwen3Next model."""
44from collections .abc import Iterable
5+ from itertools import islice
56from typing import Optional
67
78import torch
@@ -917,8 +918,11 @@ def get_layer(prefix: str):
917918 make_empty_intermediate_tensors_factory (
918919 ["hidden_states" , "residual" ], config .hidden_size ))
919920
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 ()
922926
923927 def get_input_embeddings (self , input_ids : torch .Tensor ) -> torch .Tensor :
924928 return self .embed_tokens (input_ids )
@@ -941,7 +945,7 @@ def forward(
941945 hidden_states = intermediate_tensors ["hidden_states" ]
942946 residual = intermediate_tensors ["residual" ]
943947
944- for layer in self .layers :
948+ for layer in islice ( self .layers , self . start_layer , self . end_layer ) :
945949 hidden_states , residual = layer (
946950 positions = positions ,
947951 hidden_states = hidden_states ,
0 commit comments