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(