diff --git a/vllm/model_executor/models/deepseek_v4.py b/vllm/model_executor/models/deepseek_v4.py index 3f3a2fb17026..43ae930dc557 100644 --- a/vllm/model_executor/models/deepseek_v4.py +++ b/vllm/model_executor/models/deepseek_v4.py @@ -957,7 +957,13 @@ def __init__( # we do this for because MTP layer is not included # in the compress ratio list if layer_id < config.num_hidden_layers: - self.compress_ratio = max(1, config.compress_ratios[layer_id]) + if hasattr(config, "compress_ratios") and config.compress_ratios is not None: + self.compress_ratio = max(1, config.compress_ratios[layer_id]) + else: + _rates = getattr(config, "compress_rates", None) or {} + _types = getattr(config, "layer_types", None) or [] + layer_type = _types[layer_id] if layer_id < len(_types) else None + self.compress_ratio = max(1, _rates.get(layer_type, 0)) else: self.compress_ratio = 1 self.eps = config.rms_norm_eps