From 8c5dafcd0986b75602e509c8d3bf7e59451b4181 Mon Sep 17 00:00:00 2001 From: Yejing Lai Date: Mon, 13 Jul 2026 12:37:23 +0800 Subject: [PATCH] [Bugfix][UT]Fix EagleMiniCPMForCausalLM meet TypeError (#48452) Signed-off-by: Lai, Yejing --- tests/models/registry.py | 2 +- vllm/model_executor/models/minicpm_eagle.py | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/tests/models/registry.py b/tests/models/registry.py index 41850ad8fb..7596501645 100644 --- a/tests/models/registry.py +++ b/tests/models/registry.py @@ -1513,7 +1513,7 @@ _SPECULATIVE_DECODING_EXAMPLE_MODELS = { tokenizer="meta-llama/Llama-4-Scout-17B-16E-Instruct", ), "EagleMiniCPMForCausalLM": _HfExamplesInfo( - "openbmb/MiniCPM-1B-sft-bf16", + "openbmb/MiniCPM-2B-sft-bf16", trust_remote_code=True, speculative_model="openbmb/MiniCPM-2B-sft-bf16", speculative_method="eagle", diff --git a/vllm/model_executor/models/minicpm_eagle.py b/vllm/model_executor/models/minicpm_eagle.py index e9f1a91bfc..890d52961c 100644 --- a/vllm/model_executor/models/minicpm_eagle.py +++ b/vllm/model_executor/models/minicpm_eagle.py @@ -70,6 +70,9 @@ class EagleMiniCPMDecoderLayer(nn.Module): self.quant_config = quant_config self.hidden_size = config.hidden_size self.max_position_embeddings = getattr(config, "max_position_embeddings", 8192) + self.mup_denominator = getattr( + config, "mup_denominator", config.num_hidden_layers + ) self.prefix = prefix self._init_attn_block() self._init_ffn_block() @@ -125,7 +128,7 @@ class EagleMiniCPMDecoderLayer(nn.Module): hidden_states=hidden_states, ) hidden_states = residual + hidden_states * ( - self.config.scale_depth / math.sqrt(self.config.mup_denominator) + self.config.scale_depth / math.sqrt(self.mup_denominator) ) # Fully Connected @@ -133,7 +136,7 @@ class EagleMiniCPMDecoderLayer(nn.Module): hidden_states = self.post_attention_layernorm(hidden_states) hidden_states = self.mlp(hidden_states) hidden_states = residual + hidden_states * ( - self.config.scale_depth / math.sqrt(self.config.mup_denominator) + self.config.scale_depth / math.sqrt(self.mup_denominator) ) return hidden_states, None @@ -360,7 +363,12 @@ class EagleMiniCPMForCausalLM(nn.Module, SupportsLoRA, SupportsPP, SupportsEagle input_ids: torch.Tensor, positions: torch.Tensor, hidden_states: torch.Tensor, + inputs_embeds: torch.Tensor | None = None, ) -> tuple[torch.Tensor, torch.Tensor]: + if inputs_embeds is not None: + raise NotImplementedError( + f"{type(self).__name__} does not support multimodal inputs yet." + ) hidden_states, hidden_states2 = self.model(input_ids, positions, hidden_states) hidden_states = hidden_states / self.scale_width hidden_states2 = hidden_states2 / self.scale_width