Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -231,13 +231,14 @@ def k2_server():
"--gpu-memory-utilization",
"0.4",
] + ROCM_EXTRA_ARGS
# hack to test kimi_k2 tool use tool_id format.
# avoid error in is_deepseek_mla check by setting kv_lora_rank=null
# Test kimi_k2 tool use tool_id format by overriding model_type.
# is_deepseek_mla safely returns False via getattr when kv_lora_rank
# is absent from the underlying config.
with RemoteOpenAIServer(
MODEL_NAME,
args,
env_dict=ROCM_ENV_OVERRIDES,
override_hf_configs={"model_type": "kimi_k2", "kv_lora_rank": None},
override_hf_configs={"model_type": "kimi_k2"},
) as remote_server:
yield remote_server

Expand Down
2 changes: 0 additions & 2 deletions vllm/transformers_utils/configs/colpali.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ def __init__(
embedding_dim: int | None = None,
embed_dim: int | None = None,
dim: int | None = None,
projection_dim: int | None = None,
colbert_dim: int | None = None,
pooling: str | None = None,
vlm_config: dict | None = None,
Expand All @@ -37,7 +36,6 @@ def __init__(
self.embedding_dim = embedding_dim
self.embed_dim = embed_dim
self.dim = dim
self.projection_dim = projection_dim
self.colbert_dim = colbert_dim
self.pooling = pooling

Expand Down
2 changes: 0 additions & 2 deletions vllm/transformers_utils/configs/deepseek_vl2.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,6 @@ def __init__(
class DeepseekVLV2Config(PretrainedConfig):
model_type = "deepseek_vl_v2"
architectures: list[str] | None = None
vision_config: VisionEncoderConfig
projector_config: MlpProjectorConfig

tile_tag: str = "2D"
global_view_pos: str = "head"
Expand Down
5 changes: 4 additions & 1 deletion vllm/transformers_utils/configs/mistral.py
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,6 @@ def _remap_mistral_audio_args(config: dict) -> dict:
encoder_attention_heads=encoder_args["n_heads"],
encoder_head_dim=encoder_args["head_dim"],
vocab_size=encoder_args["vocab_size"],
max_source_positions=encoder_args["max_source_positions"],
is_encoder_decoder=False, # Override WhisperConfig default
is_causal=encoder_args.get("causal", False),
sliding_window=encoder_args.get("sliding_window", None),
Expand All @@ -270,6 +269,10 @@ def _remap_mistral_audio_args(config: dict) -> dict:
max_position_embeddings=block_pool_size * config["max_position_embeddings"],
),
}
# Sometimes max_source_positions is explicitly set to None in params.json but this
# is not a valid value for WhisperConfig (or downstream code that uses it).
if (max_source_positions := encoder_args.get("max_source_positions")) is not None:
config["audio_config"].max_source_positions = max_source_positions
if quant_config:
config["quantization_config"] = quant_config
return config
Expand Down
20 changes: 15 additions & 5 deletions vllm/transformers_utils/configs/parakeet.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,21 @@


class ParakeetConfig(ParakeetEncoderConfig):
llm_hidden_size: int
projection_hidden_size: int
projection_bias: bool
projection_eps: float = 1e-5
sampling_rate: int
def __init__(
self,
llm_hidden_size: int,
projection_hidden_size: int,
projection_bias: bool,
sampling_rate: int,
projection_eps: float = 1e-5,
**kwargs,
):
super().__init__(**kwargs)
self.llm_hidden_size = llm_hidden_size
self.projection_hidden_size = projection_hidden_size
self.projection_bias = projection_bias
self.sampling_rate = sampling_rate
self.projection_eps = projection_eps

@staticmethod
def from_hf_config(
Expand Down
2 changes: 1 addition & 1 deletion vllm/transformers_utils/configs/qwen3_asr.py
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,6 @@ def __init__(
support_languages=None,
**kwargs,
):
super().__init__(**kwargs)
if thinker_config is None:
thinker_config = {}
logger.info(
Expand All @@ -417,6 +416,7 @@ def __init__(

self.thinker_config = Qwen3ASRThinkerConfig(**thinker_config)
self.support_languages = support_languages
super().__init__(**kwargs)

def get_text_config(self, decoder=False) -> "PretrainedConfig":
"""
Expand Down
21 changes: 16 additions & 5 deletions vllm/transformers_utils/configs/speculators/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,22 @@ class SpeculatorsConfig(PretrainedConfig):
model_type = "speculators"

def __init__(self, **kwargs):
"""In Transformers v5, `PretrainedConfig` is decorated with `dataclass` and
`huggingface_hub.dataclasses.strict(accept_kwargs=True)`.
Inheriting classes do not inherit the `accept_kwargs=True` behaviour so we must
explicitly pass any kwargs to `PretrainedConfig.__init__`."""
super().__init__(**kwargs)
"""
In Transformers v5, `PretrainedConfig` is decorated with `dataclass` and
`huggingface_hub.dataclasses.strict(accept_kwargs=True)`. Therefore:

- Inheriting classes do not inherit the `accept_kwargs=True` behaviour so we
must define `__init__` to accept them here.
- Additionally, `super().__init__()` cannot be called where _all_ the config
fields are passed via `kwargs`, so we set any unknown fields here.
"""
super_kwargs = dict()
for key, value in kwargs.items():
if hasattr(self, key):
super_kwargs[key] = value
else:
setattr(self, key, value)
super().__init__(**super_kwargs)

@classmethod
def from_pretrained(
Expand Down
4 changes: 2 additions & 2 deletions vllm/transformers_utils/model_arch_config_convertor.py
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ def is_deepseek_mla(self) -> bool:
"pangu_ultra_moe_mtp",
"bailing_hybrid",
):
return self.hf_text_config.kv_lora_rank is not None
return getattr(self.hf_text_config, "kv_lora_rank", None) is not None
elif self.hf_text_config.model_type == "eagle":
# if the model is an EAGLE module, check for the
# underlying architecture
Expand All @@ -241,7 +241,7 @@ def is_deepseek_mla(self) -> bool:
"deepseek_v32",
"deepseek_mtp",
)
and self.hf_text_config.kv_lora_rank is not None
and getattr(self.hf_text_config, "kv_lora_rank", None) is not None
)
return False

Expand Down
Loading