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 15, 08:30 UTC
[V1] [Bugfix] eagle bugfix and enable correct lm_head for multimodal (#18034)
Signed-off-by: Ronald Xu <ronaldxu@amazon.com>
RonaldBXu committed
May 23, 2025 at 00:37 UTC
4c611348a7444e3ad6d04b9f741ff239b7047633
2 files changed
+6
-3
vllm/transformers_utils/configs/eagle.py
+1
-2
@@ -70,8 +70,7 @@ class EAGLEConfig(PretrainedConfig):
70
71
if self.model is not None:
72
for k, v in self.model.to_dict().items():
73
- if not hasattr(self, k):
74
- setattr(self, k, v)
73
+ setattr(self, k, v)
74
75
@classmethod
76
def from_pretrained(
vllm/v1/spec_decode/eagle.py
+5
-1
@@ -9,6 +9,7 @@ from vllm.distributed.parallel_state import get_pp_group
9
from vllm.forward_context import set_forward_context
10
from vllm.logger import init_logger
11
from vllm.model_executor.model_loader import get_model
12
+from vllm.model_executor.models import supports_multimodal
13
from vllm.model_executor.models.llama_eagle3 import Eagle3LlamaForCausalLM
14
from vllm.triton_utils import tl, triton
15
from vllm.v1.attention.backends.flash_attn import FlashAttentionMetadata
@@ -310,7 +311,10 @@ class EagleProposer:
311
if self.vllm_config.speculative_config.method != "eagle3" and \
312
hasattr(target_model, "lm_head"):
313
logger.info("Loading EAGLE LM head weights from the target model.")
313
- self.model.lm_head = target_model.lm_head
314
+ if supports_multimodal(target_model):
315
+ self.model.lm_head = target_model.get_language_model().lm_head
316
+ else:
317
+ self.model.lm_head = target_model.lm_head
318
319
@torch.inference_mode()
320
def dummy_run(