@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 9efdddca28
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 3, 22:45 UTC

[Model] Fix missing `maybe_prefix` (#42280)

Signed-off-by: DarkLight1337 <tlleungac@connect.ust.hk>

Cyrus Leung committed May 11, 2026 at 17:04 UTC 9efdddca283cc0eb7c37fa49c4a9d1c9bf59ec4e
25 files changed +49 -29
vllm/model_executor/models/arcee.py
+6 -2
@@ -45,6 +45,7 @@ from .utils import (
45 is_pp_missing_parameter,
46 make_empty_intermediate_tensors_factory,
47 make_layers,
48 + maybe_prefix,
49 )
50
51
@@ -367,7 +368,10 @@ class ArceeForCausalLM(
368 self.config = config
369
370 # Initialize the inner Transformer model (ArceeModel)
370 - self.model = ArceeModel(vllm_config=vllm_config, prefix=f"{prefix}.model")
371 + self.model = ArceeModel(
372 + vllm_config=vllm_config,
373 + prefix=maybe_prefix(prefix, "model"),
374 + )
375 # On the last pipeline stage, set up the LM head and logits processor
376 if get_pp_group().is_last_rank:
377 # Determine vocabulary size (including any LoRA extra tokens
@@ -378,7 +382,7 @@ class ArceeForCausalLM(
382 config.hidden_size,
383 quant_config=vllm_config.quant_config,
384 bias=getattr(config, "lm_head_bias", False),
381 - prefix=f"{prefix}.lm_head",
385 + prefix=maybe_prefix(prefix, "lm_head"),
386 )
387 if config.tie_word_embeddings:
388 # Tie output weights with input embedding matrix
vllm/model_executor/models/aria.py
+1 -1
@@ -540,7 +540,7 @@ class AriaForConditionalGeneration(nn.Module, SupportsMultiModal):
540 self.vision_tower = AriaVisionTransformer(
541 config.vision_config,
542 quant_config=quant_config,
543 - prefix=f"{prefix}.vision_tower",
543 + prefix=maybe_prefix(prefix, "vision_tower"),
544 )
545 self.multi_modal_projector = AriaProjector(
546 config, prefix=maybe_prefix(prefix, "multi_modal_projector")
vllm/model_executor/models/blip2.py
+1 -1
@@ -561,7 +561,7 @@ class Blip2ForConditionalGeneration(
561 config.qformer_config,
562 cache_config=cache_config,
563 quant_config=quant_config,
564 - prefix=f"{prefix}.qformer",
564 + prefix=maybe_prefix(prefix, "qformer"),
565 )
566 self.language_projection = nn.Linear(
567 config.qformer_config.hidden_size,
vllm/model_executor/models/clip.py
+1 -1
@@ -777,7 +777,7 @@ class CLIPVisionModel(nn.Module):
777 quant_config=quant_config,
778 num_hidden_layers_override=num_hidden_layers_override,
779 require_post_norm=require_post_norm,
780 - prefix=f"{prefix}.vision_model",
780 + prefix=maybe_prefix(prefix, "vision_model"),
781 )
782
783 def forward(
vllm/model_executor/models/cohere_asr.py
+3 -2
@@ -64,7 +64,7 @@ from .interfaces import (
64 SupportsMultiModal,
65 SupportsTranscription,
66 )
67 -from .utils import AutoWeightsLoader, WeightsMapper, make_layers
67 +from .utils import AutoWeightsLoader, WeightsMapper, make_layers, maybe_prefix
68
69 logger = init_logger(__name__)
70
@@ -1717,7 +1717,8 @@ class CohereASRModel(nn.Module):
1717 self.encoder = ConformerEncoder(vllm_config=vllm_config)
1718
1719 self.decoder = CohereASRDecoder(
1720 - vllm_config=vllm_config, prefix=f"{prefix}.decoder"
1720 + vllm_config=vllm_config,
1721 + prefix=maybe_prefix(prefix, "decoder"),
1722 )
1723
1724 if self.encoder.d_model != self.decoder.hidden_size:
vllm/model_executor/models/deepseek_eagle.py
+3 -1
@@ -198,7 +198,9 @@ class EagleDeepseekV3ForCausalLM(DeepseekV3ForCausalLM):
198 vllm_config.parallel_config
199 )
200 self.model = DeepseekV2Model(
201 - vllm_config=vllm_config, prefix="model", start_layer_id=target_layer_num
201 + vllm_config=vllm_config,
202 + prefix=maybe_prefix(prefix, "model"),
203 + start_layer_id=target_layer_num,
204 )
205
206 self.lm_head = ParallelLMHead(
vllm/model_executor/models/deepseek_eagle3.py
+3 -1
@@ -318,7 +318,9 @@ class Eagle3DeepseekV2ForCausalLM(DeepseekV2ForCausalLM):
318 self.config.target_layer_count = target_layer_num
319
320 self.model = DeepseekV2Eagle3Model(
321 - vllm_config=vllm_config, prefix="model", start_layer_id=target_layer_num
321 + vllm_config=vllm_config,
322 + prefix=maybe_prefix(prefix, "model"),
323 + start_layer_id=target_layer_num,
324 )
325
326 logit_scale = getattr(self.config, "logit_scale", 1.0)
vllm/model_executor/models/granite4_vision.py
+1 -1
@@ -149,7 +149,7 @@ class WindowQFormerDownsampler(nn.Module):
149 qformer_config,
150 quant_config=quant_config,
151 cache_config=cache_config,
152 - prefix=f"{prefix}.qformer",
152 + prefix=maybe_prefix(prefix, "qformer"),
153 )
154
155 self.image_side = (
vllm/model_executor/models/granite_speech.py
+2 -2
@@ -620,7 +620,7 @@ class GraniteSpeechForConditionalGeneration(
620 self.encoder = GraniteSpeechCTCEncoder(
621 config=config.encoder_config,
622 quant_config=quant_config,
623 - prefix=f"{prefix}.encoder",
623 + prefix=maybe_prefix(prefix, "encoder"),
624 )
625
626 # Blip2 QFormer
@@ -628,7 +628,7 @@ class GraniteSpeechForConditionalGeneration(
628 config=config,
629 quant_config=quant_config,
630 cache_config=cache_config,
631 - prefix=f"{prefix}.projector",
631 + prefix=maybe_prefix(prefix, "projector"),
632 )
633
634 self.make_empty_intermediate_tensors = (
vllm/model_executor/models/hunyuan_v1.py
+4 -1
@@ -930,7 +930,10 @@ class HunyuanV1ModelBase(
930 self.config = config
931 self.quant_config = quant_config
932
933 - self.model = HunYuanModel(vllm_config=vllm_config, prefix="model")
933 + self.model = HunYuanModel(
934 + vllm_config=vllm_config,
935 + prefix=maybe_prefix(prefix, "model"),
936 + )
937 if get_pp_group().is_last_rank:
938 self.lm_head = ParallelLMHead(
939 config.vocab_size,
vllm/model_executor/models/keye.py
+1 -1
@@ -729,7 +729,7 @@ class KeyeSiglipVisionModel(nn.Module):
729 self.vision_model = KeyeSiglipVisionTransformer(
730 config,
731 quant_config=quant_config,
732 - prefix=f"{prefix}.vision_model",
732 + prefix=maybe_prefix(prefix, "vision_model"),
733 )
734 self.quant_config = quant_config
735
vllm/model_executor/models/lfm2_siglip2.py
+2 -1
@@ -25,6 +25,7 @@ from vllm.model_executor.layers.linear import (
25 from vllm.model_executor.layers.quantization import QuantizationConfig
26 from vllm.model_executor.model_loader.weight_utils import default_weight_loader
27
28 +from .utils import maybe_prefix
29 from .vision import (
30 is_vit_use_data_parallel,
31 resolve_visual_encoder_outputs,
@@ -472,7 +473,7 @@ class Siglip2Model(torch.nn.Module):
473 quant_config=quant_config,
474 num_hidden_layers_override=num_hidden_layers_override,
475 require_post_norm=require_post_norm,
475 - prefix=f"{prefix}.vision_model",
476 + prefix=maybe_prefix(prefix, "vision_model"),
477 )
478
479 def forward(
vllm/model_executor/models/llama4_eagle.py
+1 -1
@@ -176,7 +176,7 @@ class EagleLlama4ForCausalLM(Llama4ForCausalLM):
176 )
177 self.model = LlamaModel(
178 vllm_config=vllm_config,
179 - prefix="model",
179 + prefix=maybe_prefix(prefix, "model"),
180 start_layer_id=target_layer_num,
181 quant_config=quant_config,
182 )
vllm/model_executor/models/llama_eagle.py
+3 -1
@@ -174,7 +174,9 @@ class EagleLlamaForCausalLM(LlamaForCausalLM):
174 vllm_config.parallel_config
175 )
176 self.model = LlamaModel(
177 - vllm_config=vllm_config, prefix="model", start_layer_id=target_layer_num
177 + vllm_config=vllm_config,
178 + prefix=maybe_prefix(prefix, "model"),
179 + start_layer_id=target_layer_num,
180 )
181
182 logit_scale = getattr(self.config, "logit_scale", 1.0)
vllm/model_executor/models/llama_eagle3.py
+3 -1
@@ -287,7 +287,9 @@ class Eagle3LlamaForCausalLM(LlamaForCausalLM):
287 # proper layer_types indexing in draft models
288 self.config.target_layer_count = target_layer_num
289 self.model = LlamaModel(
290 - vllm_config=vllm_config, prefix="model", start_layer_id=target_layer_num
290 + vllm_config=vllm_config,
291 + prefix=maybe_prefix(prefix, "model"),
292 + start_layer_id=target_layer_num,
293 )
294
295 logit_scale = getattr(self.config, "logit_scale", 1.0)
vllm/model_executor/models/mistral_eagle.py
+3 -1
@@ -128,7 +128,9 @@ class EagleMistralForCausalLM(MistralForCausalLM):
128 vllm_config.parallel_config
129 )
130 self.model = EagleMistralModel(
131 - vllm_config=vllm_config, prefix="model", start_layer_id=target_layer_num
131 + vllm_config=vllm_config,
132 + prefix=maybe_prefix(prefix, "model"),
133 + start_layer_id=target_layer_num,
134 )
135
136 logit_scale = getattr(self.config, "logit_scale", 1.0)
vllm/model_executor/models/molmo2.py
+1 -1
@@ -489,7 +489,7 @@ class Molmo2VisionTransformer(nn.Module):
489 self.transformer = Molmo2VisionBlockCollection(
490 config,
491 quant_config,
492 - prefix=f"{prefix}.transformer",
492 + prefix=maybe_prefix(prefix, "transformer"),
493 )
494
495 def add_pos_emb(self, x: torch.Tensor, patch_num: int) -> torch.Tensor:
vllm/model_executor/models/openpangu_vl.py
+1 -1
@@ -857,7 +857,7 @@ class OpenPanguVLForConditionalGeneration(
857 with self._mark_language_model(vllm_config):
858 self.language_model = init_vllm_registered_model(
859 vllm_config=vllm_config,
860 - prefix=maybe_prefix("openpangu", "language_model"),
860 + prefix=maybe_prefix(prefix, "openpangu.language_model"),
861 architectures=["PanguEmbeddedForCausalLM"],
862 )
863
vllm/model_executor/models/ovis.py
+2 -2
@@ -96,7 +96,7 @@ class VisualTokenizer(torch.nn.Module):
96 self.backbone = self._init_backbone(
97 config=config,
98 quant_config=quant_config,
99 - prefix=f"{prefix}.backbone",
99 + prefix=maybe_prefix(prefix, "backbone"),
100 )
101 # reserved tokens for IMAGE_INDICATORS
102 head_dim = config.vocab_size - len(IMAGE_INDICATOR_IDS)
@@ -442,7 +442,7 @@ class Ovis(nn.Module, SupportsMultiModal, SupportsPP):
442 self.visual_tokenizer = VisualTokenizer(
443 config=config.visual_tokenizer_config,
444 quant_config=quant_config,
445 - prefix=f"{prefix}.visual_tokenizer",
445 + prefix=maybe_prefix(prefix, "visual_tokenizer"),
446 )
447 self.vte = VisualEmbedding(
448 self.config.visual_tokenizer_config.vocab_size, self.config.hidden_size
vllm/model_executor/models/ovis2_5.py
+1 -1
@@ -465,7 +465,7 @@ class Ovis2_5(nn.Module, SupportsMultiModal, SupportsPP):
465 config=config.vit_config,
466 visual_vocab_size=config.visual_vocab_size,
467 quant_config=quant_config,
468 - prefix=f"{prefix}.visual_tokenizer",
468 + prefix=maybe_prefix(prefix, "visual_tokenizer"),
469 )
470 self.vte = VisualEmbedding(config.visual_vocab_size, config.hidden_size)
471
vllm/model_executor/models/paddleocr_vl.py
+1 -1
@@ -895,7 +895,7 @@ class SiglipVisionModel(nn.Module):
895 self.vision_model = SiglipVisionTransformer(
896 config,
897 quant_config=quant_config,
898 - prefix=f"{prefix}.vision_model",
898 + prefix=maybe_prefix(prefix, "vision_model"),
899 )
900 self.quant_config = quant_config
901
vllm/model_executor/models/phi4mm.py
+1 -1
@@ -1034,7 +1034,7 @@ class Phi4MMForCausalLM(nn.Module, SupportsLoRA, SupportsMultiModal):
1034 self.vision_encoder = Phi4MMImageEncoder(
1035 config,
1036 quant_config,
1037 - prefix="model.vision_embed_tokens",
1037 + prefix=maybe_prefix(prefix, "model.vision_embed_tokens"),
1038 model_dir=config._name_or_path,
1039 )
1040
vllm/model_executor/models/qwen3_dflash.py
+1 -1
@@ -510,7 +510,7 @@ class DFlashQwen3ForCausalLM(Qwen3ForCausalLM):
510 self.config.target_layer_count = target_layer_num
511 self.model = DFlashQwen3Model(
512 vllm_config=vllm_config,
513 - prefix="model",
513 + prefix=maybe_prefix(prefix, "model"),
514 start_layer_id=target_layer_num,
515 )
516
vllm/model_executor/models/siglip.py
+1 -1
@@ -867,7 +867,7 @@ class SiglipVisionModel(nn.Module):
867 quant_config=quant_config,
868 num_hidden_layers_override=num_hidden_layers_override,
869 require_post_norm=require_post_norm,
870 - prefix=f"{prefix}.vision_model",
870 + prefix=maybe_prefix(prefix, "vision_model"),
871 use_head=use_head,
872 )
873
vllm/model_executor/models/siglip2navit.py
+2 -1
@@ -29,6 +29,7 @@ from vllm.model_executor.layers.rotary_embedding.common import (
29 from vllm.model_executor.model_loader.weight_utils import default_weight_loader
30 from vllm.platforms import current_platform
31
32 +from .utils import maybe_prefix
33 from .vision import is_vit_use_data_parallel
34
35
@@ -598,7 +599,7 @@ class Siglip2NavitModel(torch.nn.Module):
599 self.vision_model = Siglip2VisionTransformer(
600 config,
601 quant_config=quant_config,
601 - prefix=f"{prefix}.vision_model",
602 + prefix=maybe_prefix(prefix, "vision_model"),
603 )
604
605 def forward(