From 9efdddca283cc0eb7c37fa49c4a9d1c9bf59ec4e Mon Sep 17 00:00:00 2001 From: Cyrus Leung Date: Mon, 11 May 2026 17:04:06 +0800 Subject: [PATCH] [Model] Fix missing `maybe_prefix` (#42280) Signed-off-by: DarkLight1337 --- vllm/model_executor/models/arcee.py | 8 ++++++-- vllm/model_executor/models/aria.py | 2 +- vllm/model_executor/models/blip2.py | 2 +- vllm/model_executor/models/clip.py | 2 +- vllm/model_executor/models/cohere_asr.py | 5 +++-- vllm/model_executor/models/deepseek_eagle.py | 4 +++- vllm/model_executor/models/deepseek_eagle3.py | 4 +++- vllm/model_executor/models/granite4_vision.py | 2 +- vllm/model_executor/models/granite_speech.py | 4 ++-- vllm/model_executor/models/hunyuan_v1.py | 5 ++++- vllm/model_executor/models/keye.py | 2 +- vllm/model_executor/models/lfm2_siglip2.py | 3 ++- vllm/model_executor/models/llama4_eagle.py | 2 +- vllm/model_executor/models/llama_eagle.py | 4 +++- vllm/model_executor/models/llama_eagle3.py | 4 +++- vllm/model_executor/models/mistral_eagle.py | 4 +++- vllm/model_executor/models/molmo2.py | 2 +- vllm/model_executor/models/openpangu_vl.py | 2 +- vllm/model_executor/models/ovis.py | 4 ++-- vllm/model_executor/models/ovis2_5.py | 2 +- vllm/model_executor/models/paddleocr_vl.py | 2 +- vllm/model_executor/models/phi4mm.py | 2 +- vllm/model_executor/models/qwen3_dflash.py | 2 +- vllm/model_executor/models/siglip.py | 2 +- vllm/model_executor/models/siglip2navit.py | 3 ++- 25 files changed, 49 insertions(+), 29 deletions(-) diff --git a/vllm/model_executor/models/arcee.py b/vllm/model_executor/models/arcee.py index bc4f85bf7dd..eb8c3e3f65e 100644 --- a/vllm/model_executor/models/arcee.py +++ b/vllm/model_executor/models/arcee.py @@ -45,6 +45,7 @@ from .utils import ( is_pp_missing_parameter, make_empty_intermediate_tensors_factory, make_layers, + maybe_prefix, ) @@ -367,7 +368,10 @@ class ArceeForCausalLM( self.config = config # Initialize the inner Transformer model (ArceeModel) - self.model = ArceeModel(vllm_config=vllm_config, prefix=f"{prefix}.model") + self.model = ArceeModel( + vllm_config=vllm_config, + prefix=maybe_prefix(prefix, "model"), + ) # On the last pipeline stage, set up the LM head and logits processor if get_pp_group().is_last_rank: # Determine vocabulary size (including any LoRA extra tokens @@ -378,7 +382,7 @@ class ArceeForCausalLM( config.hidden_size, quant_config=vllm_config.quant_config, bias=getattr(config, "lm_head_bias", False), - prefix=f"{prefix}.lm_head", + prefix=maybe_prefix(prefix, "lm_head"), ) if config.tie_word_embeddings: # Tie output weights with input embedding matrix diff --git a/vllm/model_executor/models/aria.py b/vllm/model_executor/models/aria.py index 48c8d9a441e..55bc64cd94a 100644 --- a/vllm/model_executor/models/aria.py +++ b/vllm/model_executor/models/aria.py @@ -540,7 +540,7 @@ class AriaForConditionalGeneration(nn.Module, SupportsMultiModal): self.vision_tower = AriaVisionTransformer( config.vision_config, quant_config=quant_config, - prefix=f"{prefix}.vision_tower", + prefix=maybe_prefix(prefix, "vision_tower"), ) self.multi_modal_projector = AriaProjector( config, prefix=maybe_prefix(prefix, "multi_modal_projector") diff --git a/vllm/model_executor/models/blip2.py b/vllm/model_executor/models/blip2.py index 8b5fd452e8f..49d2a5a89f5 100644 --- a/vllm/model_executor/models/blip2.py +++ b/vllm/model_executor/models/blip2.py @@ -561,7 +561,7 @@ class Blip2ForConditionalGeneration( config.qformer_config, cache_config=cache_config, quant_config=quant_config, - prefix=f"{prefix}.qformer", + prefix=maybe_prefix(prefix, "qformer"), ) self.language_projection = nn.Linear( config.qformer_config.hidden_size, diff --git a/vllm/model_executor/models/clip.py b/vllm/model_executor/models/clip.py index 05a494683a8..779bbb23e2b 100644 --- a/vllm/model_executor/models/clip.py +++ b/vllm/model_executor/models/clip.py @@ -777,7 +777,7 @@ class CLIPVisionModel(nn.Module): quant_config=quant_config, num_hidden_layers_override=num_hidden_layers_override, require_post_norm=require_post_norm, - prefix=f"{prefix}.vision_model", + prefix=maybe_prefix(prefix, "vision_model"), ) def forward( diff --git a/vllm/model_executor/models/cohere_asr.py b/vllm/model_executor/models/cohere_asr.py index 584793832dc..da74404139a 100644 --- a/vllm/model_executor/models/cohere_asr.py +++ b/vllm/model_executor/models/cohere_asr.py @@ -64,7 +64,7 @@ from .interfaces import ( SupportsMultiModal, SupportsTranscription, ) -from .utils import AutoWeightsLoader, WeightsMapper, make_layers +from .utils import AutoWeightsLoader, WeightsMapper, make_layers, maybe_prefix logger = init_logger(__name__) @@ -1717,7 +1717,8 @@ class CohereASRModel(nn.Module): self.encoder = ConformerEncoder(vllm_config=vllm_config) self.decoder = CohereASRDecoder( - vllm_config=vllm_config, prefix=f"{prefix}.decoder" + vllm_config=vllm_config, + prefix=maybe_prefix(prefix, "decoder"), ) if self.encoder.d_model != self.decoder.hidden_size: diff --git a/vllm/model_executor/models/deepseek_eagle.py b/vllm/model_executor/models/deepseek_eagle.py index f975b32adc1..76e90e32765 100644 --- a/vllm/model_executor/models/deepseek_eagle.py +++ b/vllm/model_executor/models/deepseek_eagle.py @@ -198,7 +198,9 @@ class EagleDeepseekV3ForCausalLM(DeepseekV3ForCausalLM): vllm_config.parallel_config ) self.model = DeepseekV2Model( - vllm_config=vllm_config, prefix="model", start_layer_id=target_layer_num + vllm_config=vllm_config, + prefix=maybe_prefix(prefix, "model"), + start_layer_id=target_layer_num, ) self.lm_head = ParallelLMHead( diff --git a/vllm/model_executor/models/deepseek_eagle3.py b/vllm/model_executor/models/deepseek_eagle3.py index 640ba89914b..47dfc067069 100644 --- a/vllm/model_executor/models/deepseek_eagle3.py +++ b/vllm/model_executor/models/deepseek_eagle3.py @@ -318,7 +318,9 @@ class Eagle3DeepseekV2ForCausalLM(DeepseekV2ForCausalLM): self.config.target_layer_count = target_layer_num self.model = DeepseekV2Eagle3Model( - vllm_config=vllm_config, prefix="model", start_layer_id=target_layer_num + vllm_config=vllm_config, + prefix=maybe_prefix(prefix, "model"), + start_layer_id=target_layer_num, ) logit_scale = getattr(self.config, "logit_scale", 1.0) diff --git a/vllm/model_executor/models/granite4_vision.py b/vllm/model_executor/models/granite4_vision.py index 710fc94ee5f..c6e4df2992c 100644 --- a/vllm/model_executor/models/granite4_vision.py +++ b/vllm/model_executor/models/granite4_vision.py @@ -149,7 +149,7 @@ class WindowQFormerDownsampler(nn.Module): qformer_config, quant_config=quant_config, cache_config=cache_config, - prefix=f"{prefix}.qformer", + prefix=maybe_prefix(prefix, "qformer"), ) self.image_side = ( diff --git a/vllm/model_executor/models/granite_speech.py b/vllm/model_executor/models/granite_speech.py index 036b92ed880..2b9a03be08f 100644 --- a/vllm/model_executor/models/granite_speech.py +++ b/vllm/model_executor/models/granite_speech.py @@ -620,7 +620,7 @@ class GraniteSpeechForConditionalGeneration( self.encoder = GraniteSpeechCTCEncoder( config=config.encoder_config, quant_config=quant_config, - prefix=f"{prefix}.encoder", + prefix=maybe_prefix(prefix, "encoder"), ) # Blip2 QFormer @@ -628,7 +628,7 @@ class GraniteSpeechForConditionalGeneration( config=config, quant_config=quant_config, cache_config=cache_config, - prefix=f"{prefix}.projector", + prefix=maybe_prefix(prefix, "projector"), ) self.make_empty_intermediate_tensors = ( diff --git a/vllm/model_executor/models/hunyuan_v1.py b/vllm/model_executor/models/hunyuan_v1.py index fca801b7482..b900c0ed83e 100644 --- a/vllm/model_executor/models/hunyuan_v1.py +++ b/vllm/model_executor/models/hunyuan_v1.py @@ -930,7 +930,10 @@ class HunyuanV1ModelBase( self.config = config self.quant_config = quant_config - self.model = HunYuanModel(vllm_config=vllm_config, prefix="model") + self.model = HunYuanModel( + vllm_config=vllm_config, + prefix=maybe_prefix(prefix, "model"), + ) if get_pp_group().is_last_rank: self.lm_head = ParallelLMHead( config.vocab_size, diff --git a/vllm/model_executor/models/keye.py b/vllm/model_executor/models/keye.py index 7166f725774..86d7edc25f9 100644 --- a/vllm/model_executor/models/keye.py +++ b/vllm/model_executor/models/keye.py @@ -729,7 +729,7 @@ class KeyeSiglipVisionModel(nn.Module): self.vision_model = KeyeSiglipVisionTransformer( config, quant_config=quant_config, - prefix=f"{prefix}.vision_model", + prefix=maybe_prefix(prefix, "vision_model"), ) self.quant_config = quant_config diff --git a/vllm/model_executor/models/lfm2_siglip2.py b/vllm/model_executor/models/lfm2_siglip2.py index 70ffa2afccf..cb51c6bd8cc 100644 --- a/vllm/model_executor/models/lfm2_siglip2.py +++ b/vllm/model_executor/models/lfm2_siglip2.py @@ -25,6 +25,7 @@ from vllm.model_executor.layers.linear import ( from vllm.model_executor.layers.quantization import QuantizationConfig from vllm.model_executor.model_loader.weight_utils import default_weight_loader +from .utils import maybe_prefix from .vision import ( is_vit_use_data_parallel, resolve_visual_encoder_outputs, @@ -472,7 +473,7 @@ class Siglip2Model(torch.nn.Module): quant_config=quant_config, num_hidden_layers_override=num_hidden_layers_override, require_post_norm=require_post_norm, - prefix=f"{prefix}.vision_model", + prefix=maybe_prefix(prefix, "vision_model"), ) def forward( diff --git a/vllm/model_executor/models/llama4_eagle.py b/vllm/model_executor/models/llama4_eagle.py index 6c7b53d4d52..962377fd178 100644 --- a/vllm/model_executor/models/llama4_eagle.py +++ b/vllm/model_executor/models/llama4_eagle.py @@ -176,7 +176,7 @@ class EagleLlama4ForCausalLM(Llama4ForCausalLM): ) self.model = LlamaModel( vllm_config=vllm_config, - prefix="model", + prefix=maybe_prefix(prefix, "model"), start_layer_id=target_layer_num, quant_config=quant_config, ) diff --git a/vllm/model_executor/models/llama_eagle.py b/vllm/model_executor/models/llama_eagle.py index 99a69adf1fc..585c8f6dbd2 100644 --- a/vllm/model_executor/models/llama_eagle.py +++ b/vllm/model_executor/models/llama_eagle.py @@ -174,7 +174,9 @@ class EagleLlamaForCausalLM(LlamaForCausalLM): vllm_config.parallel_config ) self.model = LlamaModel( - vllm_config=vllm_config, prefix="model", start_layer_id=target_layer_num + vllm_config=vllm_config, + prefix=maybe_prefix(prefix, "model"), + start_layer_id=target_layer_num, ) logit_scale = getattr(self.config, "logit_scale", 1.0) diff --git a/vllm/model_executor/models/llama_eagle3.py b/vllm/model_executor/models/llama_eagle3.py index fcec4a4d860..af115c45677 100644 --- a/vllm/model_executor/models/llama_eagle3.py +++ b/vllm/model_executor/models/llama_eagle3.py @@ -287,7 +287,9 @@ class Eagle3LlamaForCausalLM(LlamaForCausalLM): # proper layer_types indexing in draft models self.config.target_layer_count = target_layer_num self.model = LlamaModel( - vllm_config=vllm_config, prefix="model", start_layer_id=target_layer_num + vllm_config=vllm_config, + prefix=maybe_prefix(prefix, "model"), + start_layer_id=target_layer_num, ) logit_scale = getattr(self.config, "logit_scale", 1.0) diff --git a/vllm/model_executor/models/mistral_eagle.py b/vllm/model_executor/models/mistral_eagle.py index 908b50f7ca0..8865742d649 100644 --- a/vllm/model_executor/models/mistral_eagle.py +++ b/vllm/model_executor/models/mistral_eagle.py @@ -128,7 +128,9 @@ class EagleMistralForCausalLM(MistralForCausalLM): vllm_config.parallel_config ) self.model = EagleMistralModel( - vllm_config=vllm_config, prefix="model", start_layer_id=target_layer_num + vllm_config=vllm_config, + prefix=maybe_prefix(prefix, "model"), + start_layer_id=target_layer_num, ) logit_scale = getattr(self.config, "logit_scale", 1.0) diff --git a/vllm/model_executor/models/molmo2.py b/vllm/model_executor/models/molmo2.py index ae28326a32f..9ad3810e41f 100644 --- a/vllm/model_executor/models/molmo2.py +++ b/vllm/model_executor/models/molmo2.py @@ -489,7 +489,7 @@ class Molmo2VisionTransformer(nn.Module): self.transformer = Molmo2VisionBlockCollection( config, quant_config, - prefix=f"{prefix}.transformer", + prefix=maybe_prefix(prefix, "transformer"), ) def add_pos_emb(self, x: torch.Tensor, patch_num: int) -> torch.Tensor: diff --git a/vllm/model_executor/models/openpangu_vl.py b/vllm/model_executor/models/openpangu_vl.py index e9288e6ddb1..a0c13f1e0f1 100644 --- a/vllm/model_executor/models/openpangu_vl.py +++ b/vllm/model_executor/models/openpangu_vl.py @@ -857,7 +857,7 @@ class OpenPanguVLForConditionalGeneration( with self._mark_language_model(vllm_config): self.language_model = init_vllm_registered_model( vllm_config=vllm_config, - prefix=maybe_prefix("openpangu", "language_model"), + prefix=maybe_prefix(prefix, "openpangu.language_model"), architectures=["PanguEmbeddedForCausalLM"], ) diff --git a/vllm/model_executor/models/ovis.py b/vllm/model_executor/models/ovis.py index 3d9cf1c3415..f25585fd764 100644 --- a/vllm/model_executor/models/ovis.py +++ b/vllm/model_executor/models/ovis.py @@ -96,7 +96,7 @@ class VisualTokenizer(torch.nn.Module): self.backbone = self._init_backbone( config=config, quant_config=quant_config, - prefix=f"{prefix}.backbone", + prefix=maybe_prefix(prefix, "backbone"), ) # reserved tokens for IMAGE_INDICATORS head_dim = config.vocab_size - len(IMAGE_INDICATOR_IDS) @@ -442,7 +442,7 @@ class Ovis(nn.Module, SupportsMultiModal, SupportsPP): self.visual_tokenizer = VisualTokenizer( config=config.visual_tokenizer_config, quant_config=quant_config, - prefix=f"{prefix}.visual_tokenizer", + prefix=maybe_prefix(prefix, "visual_tokenizer"), ) self.vte = VisualEmbedding( self.config.visual_tokenizer_config.vocab_size, self.config.hidden_size diff --git a/vllm/model_executor/models/ovis2_5.py b/vllm/model_executor/models/ovis2_5.py index 4acad73c502..6dbed78a6fc 100644 --- a/vllm/model_executor/models/ovis2_5.py +++ b/vllm/model_executor/models/ovis2_5.py @@ -465,7 +465,7 @@ class Ovis2_5(nn.Module, SupportsMultiModal, SupportsPP): config=config.vit_config, visual_vocab_size=config.visual_vocab_size, quant_config=quant_config, - prefix=f"{prefix}.visual_tokenizer", + prefix=maybe_prefix(prefix, "visual_tokenizer"), ) self.vte = VisualEmbedding(config.visual_vocab_size, config.hidden_size) diff --git a/vllm/model_executor/models/paddleocr_vl.py b/vllm/model_executor/models/paddleocr_vl.py index 8eaf94620c1..cd88009c739 100644 --- a/vllm/model_executor/models/paddleocr_vl.py +++ b/vllm/model_executor/models/paddleocr_vl.py @@ -895,7 +895,7 @@ class SiglipVisionModel(nn.Module): self.vision_model = SiglipVisionTransformer( config, quant_config=quant_config, - prefix=f"{prefix}.vision_model", + prefix=maybe_prefix(prefix, "vision_model"), ) self.quant_config = quant_config diff --git a/vllm/model_executor/models/phi4mm.py b/vllm/model_executor/models/phi4mm.py index 2db95b85756..6163b809670 100644 --- a/vllm/model_executor/models/phi4mm.py +++ b/vllm/model_executor/models/phi4mm.py @@ -1034,7 +1034,7 @@ class Phi4MMForCausalLM(nn.Module, SupportsLoRA, SupportsMultiModal): self.vision_encoder = Phi4MMImageEncoder( config, quant_config, - prefix="model.vision_embed_tokens", + prefix=maybe_prefix(prefix, "model.vision_embed_tokens"), model_dir=config._name_or_path, ) diff --git a/vllm/model_executor/models/qwen3_dflash.py b/vllm/model_executor/models/qwen3_dflash.py index cffe6267a4b..dcc23bc4095 100644 --- a/vllm/model_executor/models/qwen3_dflash.py +++ b/vllm/model_executor/models/qwen3_dflash.py @@ -510,7 +510,7 @@ class DFlashQwen3ForCausalLM(Qwen3ForCausalLM): self.config.target_layer_count = target_layer_num self.model = DFlashQwen3Model( vllm_config=vllm_config, - prefix="model", + prefix=maybe_prefix(prefix, "model"), start_layer_id=target_layer_num, ) diff --git a/vllm/model_executor/models/siglip.py b/vllm/model_executor/models/siglip.py index ce3a260d0ef..28d725e7a36 100644 --- a/vllm/model_executor/models/siglip.py +++ b/vllm/model_executor/models/siglip.py @@ -867,7 +867,7 @@ class SiglipVisionModel(nn.Module): quant_config=quant_config, num_hidden_layers_override=num_hidden_layers_override, require_post_norm=require_post_norm, - prefix=f"{prefix}.vision_model", + prefix=maybe_prefix(prefix, "vision_model"), use_head=use_head, ) diff --git a/vllm/model_executor/models/siglip2navit.py b/vllm/model_executor/models/siglip2navit.py index 6c7c33b7548..906a51bd7b1 100644 --- a/vllm/model_executor/models/siglip2navit.py +++ b/vllm/model_executor/models/siglip2navit.py @@ -29,6 +29,7 @@ from vllm.model_executor.layers.rotary_embedding.common import ( from vllm.model_executor.model_loader.weight_utils import default_weight_loader from vllm.platforms import current_platform +from .utils import maybe_prefix from .vision import is_vit_use_data_parallel @@ -598,7 +599,7 @@ class Siglip2NavitModel(torch.nn.Module): self.vision_model = Siglip2VisionTransformer( config, quant_config=quant_config, - prefix=f"{prefix}.vision_model", + prefix=maybe_prefix(prefix, "vision_model"), ) def forward(