[Bugfix][Spec Decode] Fix EAGLE3 DeepSeek draft crash on non-YaRN rope configs (#51092)
Signed-off-by: zixi-qi <zixi@inferact.ai> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
qizixi committed
Aug 4, 2026 at 23:10 UTC
4719a9b8f5cbfef78508369ba1a51abe2f5a79ce
1 file changed
-9
vllm/model_executor/models/deepseek_eagle3.py
-9
@@ -3,7 +3,6 @@
3
4
"""Eagle3 speculative decoding model for DeepseekV2/V3 with MLP (no MoE)."""
5
6
-import copy
6
from collections.abc import Iterable
7
8
import torch
@@ -58,7 +57,6 @@ class DeepseekV2Eagle3DecoderLayer(nn.Module):
57
quant_config = get_draft_quant_config(vllm_config)
58
59
self.hidden_size = config.hidden_size
61
- rope_scaling = getattr(config, "rope_scaling", None)
60
max_position_embeddings = getattr(config, "max_position_embeddings", 8192)
61
62
self.layer_idx = layer_idx
@@ -68,13 +66,6 @@ class DeepseekV2Eagle3DecoderLayer(nn.Module):
66
qk_rope_head_dim = getattr(config, "qk_rope_head_dim", 0)
67
v_head_dim = getattr(config, "v_head_dim", 0)
68
kv_lora_rank = getattr(config, "kv_lora_rank", 0)
71
- config = copy.copy(config)
72
- if rope_scaling:
73
- rope_params = rope_scaling.copy()
74
- rope_params["rope_type"] = "deepseek_yarn"
75
- else:
76
- rope_params = {"rope_type": "default"}
77
- config.rope_parameters = rope_params
69
self.self_attn = DeepseekV2MLAAttention(
70
vllm_config=vllm_config,
71
config=config,