From d6d1d9e9f431fe167d1326bb2c5fc2ce9f566592 Mon Sep 17 00:00:00 2001 From: Harry Mellor <19981378+hmellor@users.noreply.github.com> Date: Thu, 24 Sep 2026 13:49:18 +0200 Subject: [PATCH] Use Transformers v5 names and drop redundant processor `use_fast` - Replace legacy Transformers aliases with their v5 names (`PretrainedConfig`, `PreTrainedTokenizerFast`, `BaseImageProcessorFast`, `*ImageProcessorFast`, `image_processing_utils_fast`, `*_fast` modules) - Forbid importing the legacy names in `check_forbidden_imports.py` - Stop passing `use_fast=True` to HF processors; it selects the same backend as the default and prevented users overriding `backend` via `mm_processor_kwargs` Co-Authored-By: Claude Opus 5.5 (1M context) Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com> --- docs/models/supported_models.md | 4 +- tests/config/test_bailing_mtp_config.py | 6 +- tests/config/test_model_arch_config.py | 16 ++--- tests/config/test_multimodal_config.py | 4 +- .../test_speculative_draft_hf_overrides.py | 12 ++-- ...eculative_draft_max_position_embeddings.py | 8 +-- .../test_jina_ranking_io_processor_unit.py | 4 +- .../layers/test_pooler_methods.py | 4 +- tests/model_executor/test_qwen3_omni.py | 4 +- .../pooling/test_jina_embeddings_v5.py | 12 ++-- .../processing/test_audioflamingo3.py | 8 +-- .../processing/test_bailing_moe_v3_vl.py | 4 +- .../multimodal/processing/test_h2ovl.py | 4 +- .../multimodal/processing/test_internvl.py | 4 +- .../multimodal/processing/test_nemotron_vl.py | 4 +- tests/models/registry.py | 4 +- tests/models/test_adapters.py | 6 +- tests/models/test_qwen3_5_mtp_config.py | 10 +-- tests/models/transformers/test_backend.py | 4 +- tests/models/utils.py | 6 +- tests/test_config.py | 20 +++--- tests/transformers_utils/test_config.py | 12 ++-- .../test_config_parser_registry.py | 4 +- .../test_hf_overrides_model_type.py | 4 +- .../test_speculators_override.py | 2 +- .../spec_decode/test_extract_hidden_states.py | 12 ++-- tools/pre_commit/check_forbidden_imports.py | 70 +++++++++++++++++++ vllm/config/model.py | 24 +++---- vllm/config/speculative.py | 18 ++--- vllm/config/utils.py | 4 +- vllm/config/vllm.py | 6 +- vllm/lora/layers/base.py | 6 +- vllm/lora/layers/base_linear.py | 4 +- vllm/lora/layers/classifier.py | 4 +- vllm/lora/layers/column_parallel_linear.py | 24 +++---- vllm/lora/layers/fused_moe.py | 10 +-- vllm/lora/layers/logits_processor.py | 6 +- vllm/lora/layers/replicated_linear.py | 4 +- vllm/lora/layers/row_parallel_linear.py | 6 +- vllm/lora/layers/vocab_parallel_embedding.py | 6 +- vllm/lora/utils.py | 8 +-- vllm/model_executor/layers/mamba/gdn/base.py | 4 +- .../mamba/linear/bailing_linear_attn.py | 6 +- .../layers/mamba/linear/base.py | 4 +- .../layers/pooler/activations.py | 4 +- .../layers/quantization/auto_awq.py | 4 +- .../layers/quantization/auto_gptq.py | 4 +- .../layers/quantization/base_config.py | 4 +- .../model_executor/model_loader/tensorizer.py | 4 +- vllm/model_executor/models/adapters.py | 6 +- vllm/model_executor/models/audioflamingo3.py | 6 +- vllm/model_executor/models/bailing_moe.py | 10 +-- .../models/bailing_moe_linear.py | 8 +-- vllm/model_executor/models/bailing_moe_mtp.py | 6 +- vllm/model_executor/models/bailing_moe_v3.py | 20 +++--- .../models/bailing_moe_v3_mtp.py | 6 +- vllm/model_executor/models/bert_with_rope.py | 6 +- vllm/model_executor/models/cohere2_vision.py | 10 +-- vllm/model_executor/models/cohere_asr.py | 4 +- vllm/model_executor/models/cohere_compass.py | 1 - vllm/model_executor/models/colqwen3.py | 1 - vllm/model_executor/models/colqwen3_5.py | 1 - vllm/model_executor/models/config.py | 4 +- vllm/model_executor/models/deepseek_mtp.py | 4 +- vllm/model_executor/models/diffusion_gemma.py | 4 +- vllm/model_executor/models/eagle2_5_vl.py | 6 +- vllm/model_executor/models/ernie45_moe.py | 6 +- vllm/model_executor/models/ernie45_vl.py | 2 +- vllm/model_executor/models/ernie45_vl_moe.py | 6 +- vllm/model_executor/models/exaone.py | 8 +-- vllm/model_executor/models/exaone4_5.py | 1 - vllm/model_executor/models/exaone_moe.py | 6 +- vllm/model_executor/models/gemma3n_mm.py | 4 +- .../models/glm4_moe_lite_mtp.py | 4 +- vllm/model_executor/models/glm4_moe_mtp.py | 6 +- vllm/model_executor/models/granite.py | 4 +- vllm/model_executor/models/granite_speech.py | 16 ++--- .../models/granite_speech_plus.py | 4 +- vllm/model_executor/models/granitemoe.py | 4 +- vllm/model_executor/models/h2ovl.py | 4 +- vllm/model_executor/models/hrm_text.py | 8 +-- vllm/model_executor/models/hy_v3.py | 6 +- vllm/model_executor/models/hy_v3_mtp.py | 10 +-- vllm/model_executor/models/intern_vit.py | 16 ++--- vllm/model_executor/models/internlm2.py | 4 +- vllm/model_executor/models/interns1.py | 12 ++-- vllm/model_executor/models/interns1_pro.py | 4 +- vllm/model_executor/models/interns1_vit.py | 16 ++--- vllm/model_executor/models/internvl.py | 8 +-- .../model_executor/models/iquest_loopcoder.py | 6 +- vllm/model_executor/models/keye.py | 30 ++++---- vllm/model_executor/models/keye_vl1_5.py | 12 ++-- vllm/model_executor/models/lfm2_siglip2.py | 2 +- vllm/model_executor/models/lfm2_vl.py | 10 +-- vllm/model_executor/models/llava.py | 4 +- .../model_executor/models/llava_onevision2.py | 1 - vllm/model_executor/models/longcat_flash.py | 4 +- .../models/longcat_flash_mtp.py | 6 +- vllm/model_executor/models/mimo_audio.py | 4 +- vllm/model_executor/models/mimo_mtp.py | 4 +- vllm/model_executor/models/mimo_v2_mtp.py | 6 +- vllm/model_executor/models/mimo_v2_omni.py | 4 +- vllm/model_executor/models/minicpm.py | 6 +- vllm/model_executor/models/minicpm3.py | 6 +- vllm/model_executor/models/minicpm_eagle.py | 6 +- vllm/model_executor/models/minicpmv.py | 18 ++--- vllm/model_executor/models/minimax_m2.py | 6 +- vllm/model_executor/models/mllama4.py | 6 +- vllm/model_executor/models/molmo.py | 12 ++-- vllm/model_executor/models/molmo2.py | 6 +- vllm/model_executor/models/moss_audio.py | 4 +- .../model_executor/models/nano_nemotron_vl.py | 4 +- vllm/model_executor/models/nemotron_parse.py | 6 +- vllm/model_executor/models/nemotron_vl.py | 12 ++-- vllm/model_executor/models/nvlm_d.py | 6 +- vllm/model_executor/models/openpangu.py | 16 ++--- vllm/model_executor/models/openpangu_vl.py | 1 - vllm/model_executor/models/orion.py | 4 +- vllm/model_executor/models/ovis.py | 8 +-- vllm/model_executor/models/ovis2_5.py | 8 +-- vllm/model_executor/models/paddleocr_vl.py | 14 ++-- vllm/model_executor/models/parakeet.py | 8 +-- vllm/model_executor/models/phi3v.py | 6 +- vllm/model_executor/models/phi4mm.py | 4 +- vllm/model_executor/models/phi4mm_audio.py | 4 +- vllm/model_executor/models/phi4siglip.py | 4 +- vllm/model_executor/models/phimoe.py | 4 +- vllm/model_executor/models/plamo3.py | 4 +- vllm/model_executor/models/qianfan_ocr.py | 4 +- .../models/qwen2_5_omni_thinker.py | 5 +- vllm/model_executor/models/qwen2_5_vl.py | 1 - vllm/model_executor/models/qwen2_vl.py | 1 - vllm/model_executor/models/qwen3_asr.py | 1 - .../models/qwen3_omni_moe_thinker.py | 5 +- vllm/model_executor/models/qwen3_vl.py | 1 - vllm/model_executor/models/radio.py | 8 +-- vllm/model_executor/models/seed_oss.py | 2 +- vllm/model_executor/models/siglip2navit.py | 6 +- vllm/model_executor/models/skyworkr1v.py | 8 +-- vllm/model_executor/models/solar.py | 6 +- vllm/model_executor/models/step3p5.py | 2 +- vllm/model_executor/models/step3p5_mtp.py | 4 +- .../models/transformers/base.py | 6 +- vllm/model_executor/models/utils.py | 4 +- vllm/model_executor/models/vision.py | 6 +- vllm/models/dots3_note/nvidia/vision.py | 4 +- vllm/models/hy_v4/amd/model.py | 6 +- vllm/models/hy_v4/nvidia/attention.py | 6 +- vllm/models/hy_v4/nvidia/hc.py | 10 +-- vllm/models/hy_v4/nvidia/model.py | 6 +- vllm/models/hy_v4/nvidia/moe.py | 4 +- vllm/models/hy_v4/nvidia/mtp.py | 10 +-- vllm/models/inkling/configs.py | 12 ++-- vllm/models/minimax_m3/amd/model.py | 24 +++---- vllm/models/minimax_m3/common/vision_tower.py | 12 ++-- vllm/models/minimax_m3/nvidia/model.py | 16 ++--- vllm/models/qwen4_exp/config.py | 6 +- vllm/multimodal/processing/context.py | 16 ++--- vllm/transformers_utils/config.py | 66 ++++++++--------- vllm/transformers_utils/config_parser_base.py | 4 +- vllm/transformers_utils/configs/AXK1.py | 8 +-- vllm/transformers_utils/configs/afmoe.py | 4 +- vllm/transformers_utils/configs/bagel.py | 4 +- .../configs/bailing_moe_v3_vl.py | 10 +-- vllm/transformers_utils/configs/chatglm.py | 4 +- .../configs/colmodernvbert.py | 4 +- .../configs/cosmos3_edge.py | 6 +- .../transformers_utils/configs/deepseek_v4.py | 4 +- .../configs/deepseek_v41.py | 6 +- .../configs/deepseek_vl2.py | 8 +-- .../configs/diffusion_gemma.py | 12 ++-- vllm/transformers_utils/configs/dotsocr.py | 4 +- vllm/transformers_utils/configs/eagle.py | 8 +-- .../configs/extract_hidden_states.py | 10 +-- vllm/transformers_utils/configs/falcon.py | 4 +- .../configs/funaudiochat.py | 10 +-- vllm/transformers_utils/configs/gemma4.py | 6 +- vllm/transformers_utils/configs/glm5_next.py | 12 ++-- .../configs/granite4_vision.py | 6 +- vllm/transformers_utils/configs/hy_v3.py | 8 +-- .../transformers_utils/configs/hyperclovax.py | 8 +-- vllm/transformers_utils/configs/kimi_k25.py | 6 +- vllm/transformers_utils/configs/kimi_k3.py | 6 +- .../transformers_utils/configs/kimi_linear.py | 4 +- vllm/transformers_utils/configs/kimi_vl.py | 4 +- vllm/transformers_utils/configs/lfm2_moe.py | 8 +-- vllm/transformers_utils/configs/medusa.py | 4 +- .../transformers_utils/configs/midashenglm.py | 6 +- .../configs/mimo_v2_omni.py | 4 +- vllm/transformers_utils/configs/minimax_m3.py | 6 +- vllm/transformers_utils/configs/mistral.py | 12 ++-- .../configs/mlp_speculator.py | 4 +- vllm/transformers_utils/configs/moondream3.py | 8 +-- vllm/transformers_utils/configs/moonvit.py | 4 +- .../configs/moss_transcribe_diarize.py | 4 +- .../configs/muse_glimmer.py | 8 +-- vllm/transformers_utils/configs/nemotron.py | 8 +-- vllm/transformers_utils/configs/nemotron_h.py | 4 +- .../transformers_utils/configs/olmo_hybrid.py | 4 +- vllm/transformers_utils/configs/openvla.py | 4 +- vllm/transformers_utils/configs/ovis.py | 34 ++++----- vllm/transformers_utils/configs/parakeet.py | 10 +-- .../transformers_utils/configs/qianfan_ocr.py | 6 +- vllm/transformers_utils/configs/qwen3_5.py | 12 ++-- .../transformers_utils/configs/qwen3_5_moe.py | 12 ++-- vllm/transformers_utils/configs/qwen3_asr.py | 28 ++++---- vllm/transformers_utils/configs/qwen3_next.py | 8 +-- vllm/transformers_utils/configs/radio.py | 4 +- .../configs/speculators/base.py | 6 +- vllm/transformers_utils/configs/step3_vl.py | 8 +-- vllm/transformers_utils/configs/step3p5.py | 4 +- vllm/transformers_utils/configs/ultravox.py | 10 +-- .../model_arch_config_convertor.py | 30 ++++---- vllm/transformers_utils/processors/glm4v.py | 4 +- .../transformers_utils/processors/glm5next.py | 10 +-- .../processors/minimax_m3.py | 6 +- .../processors/muse_glimmer.py | 2 +- .../processors/nano_nemotron_vl.py | 8 +-- 218 files changed, 869 insertions(+), 813 deletions(-) diff --git a/docs/models/supported_models.md b/docs/models/supported_models.md index adf5d2ea0390..df44a3e8b0e5 100644 --- a/docs/models/supported_models.md +++ b/docs/models/supported_models.md @@ -164,9 +164,9 @@ For your model to be compatible with vLLM's tensor parallel and/or pipeline para ```python -from transformers import PretrainedConfig +from transformers import PreTrainedConfig -class MyConfig(PretrainedConfig): +class MyConfig(PreTrainedConfig): base_model_tp_plan = { "layers.*.self_attn.k_proj": "colwise", "layers.*.self_attn.v_proj": "colwise", diff --git a/tests/config/test_bailing_mtp_config.py b/tests/config/test_bailing_mtp_config.py index bb7cf3ad5631..cd842856a9ba 100644 --- a/tests/config/test_bailing_mtp_config.py +++ b/tests/config/test_bailing_mtp_config.py @@ -3,7 +3,7 @@ from typing import get_args -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config.speculative import MTPModelTypes, SpeculativeConfig from vllm.transformers_utils.model_arch_config_convertor import ( @@ -11,8 +11,8 @@ ) -def _bailing_config() -> PretrainedConfig: - config = PretrainedConfig( +def _bailing_config() -> PreTrainedConfig: + config = PreTrainedConfig( architectures=["BailingMoeV2_5ForCausalLM"], hidden_size=4096, kv_lora_rank=512, diff --git a/tests/config/test_model_arch_config.py b/tests/config/test_model_arch_config.py index 90dbbf278bd3..ae4c7220f24c 100644 --- a/tests/config/test_model_arch_config.py +++ b/tests/config/test_model_arch_config.py @@ -10,7 +10,7 @@ from unittest.mock import Mock import pytest -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from transformers.models.gemma4.configuration_gemma4 import Gemma4TextConfig from vllm.config import ModelConfig, ParallelConfig, SpeculativeConfig @@ -125,7 +125,7 @@ def _assert_model_config_methods( def test_head_size_falls_back_when_head_dim_is_zero(): """Regression test for configs that materialize missing head_dim as 0.""" - hf_config = PretrainedConfig( + hf_config = PreTrainedConfig( model_type="deepseek_vl_v2", hidden_size=1280, num_attention_heads=10, @@ -140,7 +140,7 @@ def test_head_size_falls_back_when_head_dim_is_zero(): def test_qk_rope_head_dim_recovery_uses_model_revision(monkeypatch: pytest.MonkeyPatch): - hf_config = PretrainedConfig( + hf_config = PreTrainedConfig( model_type="deepseek_v2", qk_rope_head_dim=128, qk_nope_head_dim=128, @@ -176,7 +176,7 @@ def test_qk_rope_head_dim_recovery_uses_model_revision(monkeypatch: pytest.Monke ], ) def test_num_experts_per_tok_aliases(attribute: str): - hf_config = PretrainedConfig(**{attribute: 4}) + hf_config = PreTrainedConfig(**{attribute: 4}) convertor = ModelArchConfigConvertorBase(hf_config, hf_config) model_config = cast( ModelConfig, @@ -191,7 +191,7 @@ def test_num_experts_per_tok_aliases(attribute: str): def test_num_experts_per_tok_none_is_normalized(): - hf_config = PretrainedConfig(top_k_experts=None) + hf_config = PreTrainedConfig(top_k_experts=None) convertor = ModelArchConfigConvertorBase(hf_config, hf_config) assert convertor.get_num_experts_per_token() == 0 @@ -207,7 +207,7 @@ def test_legacy_modelopt_config_without_producer_is_normalized(): "modelopt_quant_config": {"quant_cfg": {}}, } } - hf_config = PretrainedConfig(quantization_config=quantization_config) + hf_config = PreTrainedConfig(quantization_config=quantization_config) convertor = ModelArchConfigConvertorBase(hf_config, hf_config) @@ -370,7 +370,7 @@ def test_gemma4_uniform_head_dims_are_homogeneous(): assert arch[3] is arch -class _HeterogeneousConfig(PretrainedConfig): +class _HeterogeneousConfig(PreTrainedConfig): """A heterogeneous config with no convertor of its own. Mirrors the parts vLLM uses: per-layer configs are shallow copies with the @@ -384,7 +384,7 @@ def __init__(self, per_layer: dict[str, list], **kwargs): super().__init__(**kwargs) @property - def per_layer_config(self) -> list[PretrainedConfig]: + def per_layer_config(self) -> list[PreTrainedConfig]: layers = [] for i in range(self.num_hidden_layers): layer = copy(self) diff --git a/tests/config/test_multimodal_config.py b/tests/config/test_multimodal_config.py index 225f41bd014e..b36f5776da25 100644 --- a/tests/config/test_multimodal_config.py +++ b/tests/config/test_multimodal_config.py @@ -6,7 +6,7 @@ import pytest import torch -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from tests.models.utils import build_model_context from vllm.config.ec_transfer import ECRole, ECTransferConfig @@ -136,7 +136,7 @@ def test_language_model_only_disables_via_supports_multimodal_inputs(): def test_convertor_clears_mm_prefix_when_multimodal_disabled(): - hf_config = PretrainedConfig( + hf_config = PreTrainedConfig( model_type="gemma3", architectures=["Gemma3ForConditionalGeneration"], ) diff --git a/tests/config/test_speculative_draft_hf_overrides.py b/tests/config/test_speculative_draft_hf_overrides.py index 4814434ca3c4..e7014faa47d0 100644 --- a/tests/config/test_speculative_draft_hf_overrides.py +++ b/tests/config/test_speculative_draft_hf_overrides.py @@ -15,20 +15,20 @@ from unittest.mock import MagicMock, patch import pytest -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config.parallel import ParallelConfig from vllm.config.speculative import SpeculativeConfig -def _make_hf_config(**kwargs) -> PretrainedConfig: +def _make_hf_config(**kwargs) -> PreTrainedConfig: defaults = dict( architectures=["LlamaForCausalLM"], model_type="llama", num_hidden_layers=64, ) defaults.update(kwargs) - return PretrainedConfig(**defaults) + return PreTrainedConfig(**defaults) @pytest.mark.cpu_test @@ -137,7 +137,7 @@ def test_callable_overrides_reach_the_draft_config(): """A callable override (config-to-config transform) composes with the architecture-mapping override and is applied to the draft config.""" - def shrink(hf_config: PretrainedConfig) -> PretrainedConfig: + def shrink(hf_config: PreTrainedConfig) -> PreTrainedConfig: hf_config.num_hidden_layers = 1 return hf_config @@ -155,7 +155,7 @@ def test_arch_mapping_applies_before_callable_override(): observes (and may adjust) the post-mapping config.""" seen_architectures: list[str] = [] - def record(hf_config: PretrainedConfig) -> PretrainedConfig: + def record(hf_config: PreTrainedConfig) -> PreTrainedConfig: seen_architectures.append(hf_config.architectures[0]) return hf_config @@ -202,7 +202,7 @@ def test_inkling_override_exposes_all_mtp_depths(): assert out.local_layer_ids == [0, 2, 4] -def _module_level_shrink(hf_config: PretrainedConfig) -> PretrainedConfig: +def _module_level_shrink(hf_config: PreTrainedConfig) -> PreTrainedConfig: hf_config.num_hidden_layers = 1 return hf_config diff --git a/tests/config/test_speculative_draft_max_position_embeddings.py b/tests/config/test_speculative_draft_max_position_embeddings.py index 117ae5a66d53..f5c5524acded 100644 --- a/tests/config/test_speculative_draft_max_position_embeddings.py +++ b/tests/config/test_speculative_draft_max_position_embeddings.py @@ -17,7 +17,7 @@ from typing import Literal import pytest -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config.model import ModelConfig from vllm.config.parallel import ParallelConfig @@ -46,7 +46,7 @@ def _override_logged(caplog: pytest.LogCaptureFixture) -> bool: @pytest.mark.cpu_test def test_override_raises_smaller_value(vllm_caplog: pytest.LogCaptureFixture): - hf_config = PretrainedConfig(max_position_embeddings=2048) + hf_config = PreTrainedConfig(max_position_embeddings=2048) SpeculativeConfig._maybe_override_draft_max_position_embeddings( hf_config, target_max_model_len=8192 ) @@ -56,7 +56,7 @@ def test_override_raises_smaller_value(vllm_caplog: pytest.LogCaptureFixture): @pytest.mark.cpu_test def test_override_keeps_sufficient_value(vllm_caplog: pytest.LogCaptureFixture): - hf_config = PretrainedConfig(max_position_embeddings=8192) + hf_config = PreTrainedConfig(max_position_embeddings=8192) SpeculativeConfig._maybe_override_draft_max_position_embeddings( hf_config, target_max_model_len=8192 ) @@ -66,7 +66,7 @@ def test_override_keeps_sufficient_value(vllm_caplog: pytest.LogCaptureFixture): @pytest.mark.cpu_test def test_override_ignores_missing_attribute(vllm_caplog: pytest.LogCaptureFixture): - hf_config = PretrainedConfig() + hf_config = PreTrainedConfig() hf_config.__dict__.pop("max_position_embeddings", None) SpeculativeConfig._maybe_override_draft_max_position_embeddings( hf_config, target_max_model_len=8192 diff --git a/tests/entrypoints/pooling/scoring/test_jina_ranking_io_processor_unit.py b/tests/entrypoints/pooling/scoring/test_jina_ranking_io_processor_unit.py index cb6452469987..ab5a21c0859b 100644 --- a/tests/entrypoints/pooling/scoring/test_jina_ranking_io_processor_unit.py +++ b/tests/entrypoints/pooling/scoring/test_jina_ranking_io_processor_unit.py @@ -7,7 +7,7 @@ import pytest from tokenizers import Tokenizer, models, pre_tokenizers -from transformers import PreTrainedTokenizerFast +from transformers import TokenizersBackend from vllm import PoolingParams from vllm.entrypoints.pooling.base.io_processor import PoolingIOProcessor @@ -70,7 +70,7 @@ def offline_processor_and_context(): backend = Tokenizer(models.WordLevel({"[UNK]": 0}, unk_token="[UNK]")) backend.pre_tokenizer = pre_tokenizers.WhitespaceSplit() proc = JinaRankingIOProcessor.__new__(JinaRankingIOProcessor) - proc.tokenizer = PreTrainedTokenizerFast(tokenizer_object=backend) + proc.tokenizer = TokenizersBackend(tokenizer_object=backend) proc.model_config = SimpleNamespace(max_model_len=1024, is_encoder_decoder=False) proc.renderer = SimpleNamespace( default_cmpl_tok_params=TokenizeParams(max_total_tokens=1024) diff --git a/tests/model_executor/layers/test_pooler_methods.py b/tests/model_executor/layers/test_pooler_methods.py index 4196b99820dc..2abf3d72802c 100644 --- a/tests/model_executor/layers/test_pooler_methods.py +++ b/tests/model_executor/layers/test_pooler_methods.py @@ -9,7 +9,7 @@ import numpy as np import pytest import torch -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import PoolerConfig, set_current_vllm_config from vllm.model_executor.layers.pooler import PoolingParamsUpdate @@ -315,7 +315,7 @@ def test_dispatch_seq_cls_honors_token_pooling_type(tok_pooling_type): model_config=SimpleNamespace( pooler_config=pooler_config, head_dtype=None, - hf_config=PretrainedConfig(num_labels=3), + hf_config=PreTrainedConfig(num_labels=3), ), ) classifier = torch.nn.Linear(4, 3) diff --git a/tests/model_executor/test_qwen3_omni.py b/tests/model_executor/test_qwen3_omni.py index cdf169601e88..e96dae818644 100644 --- a/tests/model_executor/test_qwen3_omni.py +++ b/tests/model_executor/test_qwen3_omni.py @@ -8,7 +8,7 @@ import pytest import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import ParallelConfig from vllm.multimodal.processing import InputProcessingContext @@ -52,7 +52,7 @@ def print_input_ids(input_ids): @pytest.fixture def mock_qwen3_omni_config(): """Create a mock Qwen3OmniMoeThinker config.""" - config = Mock(spec=PretrainedConfig) + config = Mock(spec=PreTrainedConfig) # Token IDs from https://huggingface.co/Qwen/Qwen3-Omni-30B-A3B-Instruct/blob/main/tokenizer_config.json config.audio_token_id = 151675 # <|audio_pad|> config.video_token_id = 151656 # <|video_pad|> diff --git a/tests/models/language/pooling/test_jina_embeddings_v5.py b/tests/models/language/pooling/test_jina_embeddings_v5.py index fbfebcc5cedb..21c82e141981 100644 --- a/tests/models/language/pooling/test_jina_embeddings_v5.py +++ b/tests/models/language/pooling/test_jina_embeddings_v5.py @@ -14,7 +14,7 @@ from typing import cast import pytest -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import ModelConfig from vllm.model_executor.models.config import ( @@ -23,7 +23,7 @@ ) -def _model_config(hf_config: PretrainedConfig) -> ModelConfig: +def _model_config(hf_config: PreTrainedConfig) -> ModelConfig: """Minimal stand-in for ModelConfig; only hf_config is read.""" return cast(ModelConfig, SimpleNamespace(hf_config=hf_config)) @@ -42,7 +42,7 @@ def test_encoder_backbone_enables_bidirectional_attention(): EncoderOnlyAttention; JinaEmbeddingsV5Model then dispatches to the encoder implementation. """ - hf_config = PretrainedConfig(is_decoder=False) + hf_config = PreTrainedConfig(is_decoder=False) JinaEmbeddingsV5ModelConfig.verify_and_update_model_config(_model_config(hf_config)) @@ -55,13 +55,13 @@ def test_supported_decoder_backbone_is_accepted(): `-small` omits `is_decoder` entirely, so an absent attribute has to be treated as a decoder. The first assertion pins that assumption: if - PretrainedConfig ever gains an `is_decoder=False` default, this fails here + PreTrainedConfig ever gains an `is_decoder=False` default, this fails here rather than silently rejecting a supported checkpoint. """ - absent = PretrainedConfig() + absent = PreTrainedConfig() assert not hasattr(absent, "is_decoder") JinaEmbeddingsV5ModelConfig.verify_and_update_model_config(_model_config(absent)) JinaEmbeddingsV5ModelConfig.verify_and_update_model_config( - _model_config(PretrainedConfig(is_decoder=True)) + _model_config(PreTrainedConfig(is_decoder=True)) ) diff --git a/tests/models/multimodal/processing/test_audioflamingo3.py b/tests/models/multimodal/processing/test_audioflamingo3.py index f223145d9895..c3adccb27d59 100644 --- a/tests/models/multimodal/processing/test_audioflamingo3.py +++ b/tests/models/multimodal/processing/test_audioflamingo3.py @@ -22,19 +22,19 @@ import numpy as np import pytest import torch -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from tests.models.registry import HF_EXAMPLE_MODELS from vllm.config.multimodal import MultiModalDummyOptions -class MockAudioFlamingo3Config(PretrainedConfig): +class MockAudioFlamingo3Config(PreTrainedConfig): model_type = "audioflamingo3" def __init__(self, **kwargs): super().__init__(**kwargs) - self.audio_config = PretrainedConfig() - self.text_config = PretrainedConfig() + self.audio_config = PreTrainedConfig() + self.text_config = PreTrainedConfig() class MockAudioFlamingo3Processor: diff --git a/tests/models/multimodal/processing/test_bailing_moe_v3_vl.py b/tests/models/multimodal/processing/test_bailing_moe_v3_vl.py index 0ebc61909fb3..5ac47190ddb7 100644 --- a/tests/models/multimodal/processing/test_bailing_moe_v3_vl.py +++ b/tests/models/multimodal/processing/test_bailing_moe_v3_vl.py @@ -8,7 +8,7 @@ import torch from PIL import Image from tokenizers import Tokenizer, decoders, models, pre_tokenizers -from transformers import PreTrainedTokenizerFast +from transformers import TokenizersBackend from vllm.model_executor.models.bailing_moe_v3_vl import ( IMAGE_PLACEHOLDER, @@ -34,7 +34,7 @@ def processor(): add_prefix_space=False, use_regex=False ) backend.decoder = decoders.ByteLevel() - tokenizer = PreTrainedTokenizerFast( + tokenizer = TokenizersBackend( tokenizer_object=backend, additional_special_tokens=[ "<|vision_start|>", diff --git a/tests/models/multimodal/processing/test_h2ovl.py b/tests/models/multimodal/processing/test_h2ovl.py index 3ba256f3c798..0c2e2ff3a932 100644 --- a/tests/models/multimodal/processing/test_h2ovl.py +++ b/tests/models/multimodal/processing/test_h2ovl.py @@ -6,7 +6,7 @@ import pytest from PIL import Image -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.multimodal import MULTIMODAL_REGISTRY from vllm.multimodal.image import rescale_image_size @@ -17,7 +17,7 @@ def _get_expected_num_patches( - config: PretrainedConfig, + config: PreTrainedConfig, image: Image.Image, num_imgs: int, min_num: int, diff --git a/tests/models/multimodal/processing/test_internvl.py b/tests/models/multimodal/processing/test_internvl.py index 7954dd6b5004..ab5fbe9a0130 100644 --- a/tests/models/multimodal/processing/test_internvl.py +++ b/tests/models/multimodal/processing/test_internvl.py @@ -6,7 +6,7 @@ import pytest from PIL import Image -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.multimodal import MULTIMODAL_REGISTRY from vllm.multimodal.image import rescale_image_size @@ -17,7 +17,7 @@ def _get_expected_num_patches( - config: PretrainedConfig, + config: PreTrainedConfig, image: Image.Image, num_imgs: int, min_num: int, diff --git a/tests/models/multimodal/processing/test_nemotron_vl.py b/tests/models/multimodal/processing/test_nemotron_vl.py index be5c222fd213..b1c1e11892c7 100644 --- a/tests/models/multimodal/processing/test_nemotron_vl.py +++ b/tests/models/multimodal/processing/test_nemotron_vl.py @@ -6,7 +6,7 @@ import pytest from PIL import Image -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.multimodal import MULTIMODAL_REGISTRY from vllm.multimodal.image import rescale_image_size @@ -17,7 +17,7 @@ def _get_expected_num_patches( - config: PretrainedConfig, + config: PreTrainedConfig, image: Image.Image, num_imgs: int, min_num: int, diff --git a/tests/models/registry.py b/tests/models/registry.py index 6a0fe8318e7e..0511d7ef7dfd 100644 --- a/tests/models/registry.py +++ b/tests/models/registry.py @@ -7,7 +7,7 @@ import pytest from packaging.version import Version -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from transformers import __version__ as TRANSFORMERS_VERSION from vllm.config.model import ModelDType, TokenizerMode @@ -1233,7 +1233,7 @@ def check_available_online( # NemotronH layers are constructed via `hybrid_override_pattern` use_original_num_layers=True, hf_overrides={ - "vision_config": PretrainedConfig( + "vision_config": PreTrainedConfig( args={ "min_num_patches": 1, "max_num_patches": 12, diff --git a/tests/models/test_adapters.py b/tests/models/test_adapters.py index 7547dbd4ef43..62442e332e8c 100644 --- a/tests/models/test_adapters.py +++ b/tests/models/test_adapters.py @@ -4,7 +4,7 @@ import pytest import torch -from transformers import Gemma3Config, PretrainedConfig, Qwen2Config +from transformers import Gemma3Config, PreTrainedConfig, Qwen2Config from vllm.model_executor.models.adapters import ( _create_pooling_model_cls, @@ -266,14 +266,14 @@ def test_resolve_num_labels_defaults_when_undeclared(): config = _composite_config() assert ( _resolve_num_labels(config, config.get_text_config()) - == PretrainedConfig().num_labels + == PreTrainedConfig().num_labels ) def test_resolve_num_labels_declared_on_outer_config(): """Multimodal checkpoints keep id2label/problem_type on the top-level config.""" config = _composite_config(outer_labels=20) - assert config.get_text_config().num_labels == PretrainedConfig().num_labels + assert config.get_text_config().num_labels == PreTrainedConfig().num_labels assert _resolve_num_labels(config, config.get_text_config()) == 20 diff --git a/tests/models/test_qwen3_5_mtp_config.py b/tests/models/test_qwen3_5_mtp_config.py index 6cf54dbc95a8..885995b906f4 100644 --- a/tests/models/test_qwen3_5_mtp_config.py +++ b/tests/models/test_qwen3_5_mtp_config.py @@ -5,7 +5,7 @@ from typing import Any import pytest -from transformers import AutoConfig, PretrainedConfig +from transformers import AutoConfig, PreTrainedConfig from vllm.config.speculative import SpeculativeConfig @@ -15,19 +15,19 @@ } -def _mtp_config(model_type: str) -> PretrainedConfig: +def _mtp_config(model_type: str) -> PreTrainedConfig: """Create a top-level MTP configuration with mtp_num_hidden_layers.""" kwargs: dict[str, Any] = { "model_type": model_type, "architectures": ["SomeArch"], "mtp_num_hidden_layers": 1, } - return PretrainedConfig(**kwargs) + return PreTrainedConfig(**kwargs) def _multimodal_wrapper_mtp_config( model_type: str, mtp_layers: int = 1 -) -> PretrainedConfig: +) -> PreTrainedConfig: """Download a multimodal wrapper config via AutoConfig.from_pretrained and configure mtp_num_hidden_layers in text_config. @@ -36,7 +36,7 @@ def _multimodal_wrapper_mtp_config( - MoE (qwen3_5_moe): Qwen/Qwen3.6-35B-A3B """ repo = _CHECKPOINTS[model_type] - config: PretrainedConfig = AutoConfig.from_pretrained(repo) + config: PreTrainedConfig = AutoConfig.from_pretrained(repo) text_config = config.get_text_config() text_config.mtp_num_hidden_layers = mtp_layers return config diff --git a/tests/models/transformers/test_backend.py b/tests/models/transformers/test_backend.py index fd0d980deffc..fa5e14eddd21 100644 --- a/tests/models/transformers/test_backend.py +++ b/tests/models/transformers/test_backend.py @@ -13,7 +13,7 @@ import pytest import torch import torch.nn as nn -from transformers import AutoConfig, AutoModel, PretrainedConfig +from transformers import AutoConfig, AutoModel, PreTrainedConfig from vllm.config import ModelConfig, VllmConfig from vllm.model_executor.models.interfaces import SupportsMultiModal @@ -524,7 +524,7 @@ def replace_vocab_embeddings(model, **config_kwargs): stub = nn.Module() stub.model = model - stub.config = PretrainedConfig( + stub.config = PreTrainedConfig( vocab_size=VOCAB_SIZE, num_positions=NUM_POSITIONS, **config_kwargs ) embeddings = Base._vocab_embeddings(stub) diff --git a/tests/models/utils.py b/tests/models/utils.py index e4cc5e673b39..003ef1a078ae 100644 --- a/tests/models/utils.py +++ b/tests/models/utils.py @@ -8,7 +8,7 @@ import torch import torch.nn.functional as F -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config.model import AttnTypeStr, ModelConfig, ModelDType, RunnerOption from vllm.config.pooler import SequencePoolingType, TokenPoolingType @@ -446,12 +446,12 @@ def get_vllm_extra_kwargs(model_info: ModelInfo, vllm_extra_kwargs): def dummy_hf_overrides( - hf_config: PretrainedConfig, + hf_config: PreTrainedConfig, *, model_arch: str = "", exist_overrides: dict[str, Any] | None = None, use_original_num_layers: bool = False, -) -> PretrainedConfig: +) -> PreTrainedConfig: """Dummy HF overrides function used to create dummy model with only minimum nums of layer. """ diff --git a/tests/test_config.py b/tests/test_config.py index 0b8a10504cb0..dd1d93c87a44 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -62,16 +62,16 @@ def test_nested_rope_validation_patch_preserves_flat_rope_parameters(monkeypatch def original_validate_rope(config, *args, **kwargs): calls.append(config) - from transformers import PretrainedConfig + from transformers import PreTrainedConfig - monkeypatch.setattr(PretrainedConfig, "validate_rope", original_validate_rope) + monkeypatch.setattr(PreTrainedConfig, "validate_rope", original_validate_rope) _patch_hf_transformers_nested_rope_validation() nested_rope_parameters = { "full_attention": {"rope_type": "default"}, "original_max_position_embeddings": 32768, } - PretrainedConfig.validate_rope( + PreTrainedConfig.validate_rope( SimpleNamespace(rope_parameters=nested_rope_parameters) ) assert nested_rope_parameters == {"full_attention": {"rope_type": "default"}} @@ -81,7 +81,7 @@ def original_validate_rope(config, *args, **kwargs): "factor": 8.0, "rope_theta": 500000.0, } - PretrainedConfig.validate_rope( + PreTrainedConfig.validate_rope( SimpleNamespace(rope_parameters=flat_rope_parameters) ) assert flat_rope_parameters == { @@ -730,9 +730,9 @@ def test_batch_invariant_breakable_cudagraph( ], ) def test_dsa_models_select_matching_mtp(model_type, expected_architecture): - from transformers import PretrainedConfig + from transformers import PreTrainedConfig - hf_config = PretrainedConfig( + hf_config = PreTrainedConfig( architectures=["DeepseekV32ForCausalLM"], num_nextn_predict_layers=1, ) @@ -2463,14 +2463,14 @@ def test_get_and_verify_max_len_with_nope_layers( max_model_len, rope_parameters, expected_max_len ): """NoPE layers do not prevent deriving or scaling the context length.""" - from transformers import PretrainedConfig + from transformers import PreTrainedConfig from vllm.config.model import _get_and_verify_max_len from vllm.transformers_utils.model_arch_config_convertor import ( ModelArchConfigConvertorBase, ) - hf_config = PretrainedConfig( + hf_config = PreTrainedConfig( max_position_embeddings=4096, original_max_position_embeddings=2048, ) @@ -2514,14 +2514,14 @@ def test_get_and_verify_max_len_yarn_is_already_scaled( for every YaRN variant, so scaling it again overstates the limit and lets requests past the end of the cos/sin cache. """ - from transformers import PretrainedConfig + from transformers import PreTrainedConfig from vllm.config.model import _get_and_verify_max_len from vllm.transformers_utils.model_arch_config_convertor import ( ModelArchConfigConvertorBase, ) - hf_config = PretrainedConfig(max_position_embeddings=32768) + hf_config = PreTrainedConfig(max_position_embeddings=32768) hf_config.rope_parameters = { "rope_type": rope_type, "factor": factor, diff --git a/tests/transformers_utils/test_config.py b/tests/transformers_utils/test_config.py index 229abfba8ce6..b6ab0ea91787 100644 --- a/tests/transformers_utils/test_config.py +++ b/tests/transformers_utils/test_config.py @@ -11,7 +11,7 @@ from unittest.mock import MagicMock, patch import pytest -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config.model import ModelConfig from vllm.tokenizers import get_tokenizer @@ -223,7 +223,7 @@ def test_model_config_generation_fallback_forwards_code_revision(): patch.object( config_module, "get_config", - return_value=PretrainedConfig(), + return_value=PreTrainedConfig(), ) as get_config, ): ModelConfig.try_get_generation_config(model_config) @@ -269,7 +269,7 @@ def test_safetensors_metadata_of_repo_without_safetensors(): ], ) def test_mrope_num_dims(section_key, mrope_section, expected_num_dims): - config = PretrainedConfig() + config = PreTrainedConfig() config.rope_parameters = {"rope_type": "default", section_key: mrope_section} assert uses_mrope(config) @@ -280,7 +280,7 @@ def test_mrope_num_dims(section_key, mrope_section, expected_num_dims): def test_mrope_num_dims_from_config_attribute(section_name): """Some configs expose the section as an attribute rather than under `rope_parameters`.""" - config = PretrainedConfig() + config = PreTrainedConfig() setattr(config, section_name, [16, 16, 16, 16]) assert uses_mrope(config) @@ -289,7 +289,7 @@ def test_mrope_num_dims_from_config_attribute(section_name): def test_mrope_num_dims_from_nested_rope_parameters(): """Sections nested by layer type must be found, not silently defaulted.""" - config = PretrainedConfig() + config = PreTrainedConfig() config.rope_parameters = { "full_attention": {"mrope_section": [16, 16, 16, 16]}, "linear_attention": {"rope_type": "default"}, @@ -300,4 +300,4 @@ def test_mrope_num_dims_from_nested_rope_parameters(): def test_mrope_num_dims_without_mrope(): - assert mrope_num_dims(PretrainedConfig()) == 0 + assert mrope_num_dims(PreTrainedConfig()) == 0 diff --git a/tests/transformers_utils/test_config_parser_registry.py b/tests/transformers_utils/test_config_parser_registry.py index 0931bd734f8f..41dcf4078243 100644 --- a/tests/transformers_utils/test_config_parser_registry.py +++ b/tests/transformers_utils/test_config_parser_registry.py @@ -4,7 +4,7 @@ from pathlib import Path import pytest -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.transformers_utils.config import get_config_parser, register_config_parser from vllm.transformers_utils.config_parser_base import ConfigParserBase @@ -19,7 +19,7 @@ def parse( revision: str | None = None, code_revision: str | None = None, **kwargs, - ) -> tuple[dict, PretrainedConfig]: + ) -> tuple[dict, PreTrainedConfig]: raise NotImplementedError diff --git a/tests/transformers_utils/test_hf_overrides_model_type.py b/tests/transformers_utils/test_hf_overrides_model_type.py index b739b4294a6e..71356edee092 100644 --- a/tests/transformers_utils/test_hf_overrides_model_type.py +++ b/tests/transformers_utils/test_hf_overrides_model_type.py @@ -5,12 +5,12 @@ import json import tempfile -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.transformers_utils.config import _CONFIG_REGISTRY, get_config -class _TestCustomConfig(PretrainedConfig): +class _TestCustomConfig(PreTrainedConfig): model_type = "test_custom_model" def __init__(self, custom_attr=42, **kw): diff --git a/tests/transformers_utils/test_speculators_override.py b/tests/transformers_utils/test_speculators_override.py index 35330f327f37..07f607cb88a7 100644 --- a/tests/transformers_utils/test_speculators_override.py +++ b/tests/transformers_utils/test_speculators_override.py @@ -40,7 +40,7 @@ def _patched_get_config_dict(config_dict): """Return a patch context that bypasses HF Hub for get_config_dict.""" return patch( - "vllm.transformers_utils.config.PretrainedConfig.get_config_dict", + "vllm.transformers_utils.config.PreTrainedConfig.get_config_dict", return_value=(config_dict, {}), ) diff --git a/tests/v1/spec_decode/test_extract_hidden_states.py b/tests/v1/spec_decode/test_extract_hidden_states.py index e330d9588072..7eb8eca023ba 100644 --- a/tests/v1/spec_decode/test_extract_hidden_states.py +++ b/tests/v1/spec_decode/test_extract_hidden_states.py @@ -7,7 +7,7 @@ import numpy as np import pytest import torch -from transformers import CLIPVisionConfig, LlamaConfig, LlavaConfig, PretrainedConfig +from transformers import CLIPVisionConfig, LlamaConfig, LlavaConfig, PreTrainedConfig from tests.v1.attention.utils import ( BatchSpec, @@ -336,7 +336,7 @@ def test_propose_different_layer_counts(num_hidden_layers): # --------------------------------------------------------------------------- -class _DummyVLMConfig(PretrainedConfig): +class _DummyVLMConfig(PreTrainedConfig): """Minimal composite config that mimics VLMs like Kimi-K2.5 or LLaVA. The text model's parameters (hidden_size, num_attention_heads, …) live @@ -345,11 +345,11 @@ class _DummyVLMConfig(PretrainedConfig): model_type = "test_vlm" - def __init__(self, text_config: PretrainedConfig, **kwargs): + def __init__(self, text_config: PreTrainedConfig, **kwargs): self.text_config = text_config super().__init__(architectures=["LlamaForCausalLM"], **kwargs) - def get_text_config(self, decoder: bool = False) -> PretrainedConfig: + def get_text_config(self, decoder: bool = False) -> PreTrainedConfig: del decoder return self.text_config @@ -403,7 +403,7 @@ def test_extract_hidden_states_config_preserves_vlm_text_config(): eagle_aux_hidden_state_layer_ids=[1, 2], ) - # The fix: text_config is still a PretrainedConfig, not a dict. + # The fix: text_config is still a PreTrainedConfig, not a dict. assert isinstance(extract_config.text_config, LlamaConfig) extracted = get_hf_text_config(extract_config) @@ -473,7 +473,7 @@ def test_extract_hidden_states_speculative_config_vlm(): def test_extract_hidden_states_config_invalid_text_config(): """A nested text_config missing required attrs must still be rejected.""" - broken_text_config = PretrainedConfig(hidden_size=128) + broken_text_config = PreTrainedConfig(hidden_size=128) vlm_config = _DummyVLMConfig(text_config=broken_text_config) extract_config = ExtractHiddenStatesConfig( diff --git a/tools/pre_commit/check_forbidden_imports.py b/tools/pre_commit/check_forbidden_imports.py index f65b9ec921b7..126d20094a2a 100644 --- a/tools/pre_commit/check_forbidden_imports.py +++ b/tools/pre_commit/check_forbidden_imports.py @@ -13,6 +13,16 @@ r"|list_repo_refs|repo_exists" ) +# Transformers v4 names kept as aliases in v5. +_TRANSFORMERS_LEGACY_NAMES = ( + r"PretrainedConfig|PreTrainedTokenizer|PreTrainedTokenizerFast" + r"|BaseImageProcessorFast|\w+ImageProcessorFast" +) +_TRANSFORMERS_LEGACY_MODULES = ( + r"tokenization_utils|tokenization_utils_fast|image_processing_utils_fast" + r"|models\.\w+\.\w+_fast" +) + @dataclass class ForbiddenImport: @@ -117,6 +127,26 @@ class ForbiddenImport: allowed_files={"vllm/transformers_utils/repo_utils.py"}, allowed_dirs={"examples/"}, ), + "transformers legacy names": ForbiddenImport( + pattern=( + r"^\s*from\s+transformers(?:\.[\w.]+)?\s+import\s*\([^)]*\b(?:" + + _TRANSFORMERS_LEGACY_NAMES + + r")\b" + r"|" + r"^\s*from\s+transformers(?:\.[\w.]+)?\s+import\b[^\n]*\b(?:" + + _TRANSFORMERS_LEGACY_NAMES + + r")\b" + r"|" + r"^\s*(?:from|import)\s+transformers\.(?:" + + _TRANSFORMERS_LEGACY_MODULES + + r")\b" + ), + tip=( + "Use the Transformers v5 names, e.g. PreTrainedConfig, PythonBackend, " + "TokenizersBackend, TorchvisionBackend, tokenization_utils_tokenizers, " + "tokenization_utils_sentencepiece and image_processing_backends." + ), + ), } @@ -247,6 +277,46 @@ def matches(rule: str, content: str) -> bool: f"(expected {should_match}, got {result})" ) + transformers_cases = [ + # Should match + ("from transformers import PretrainedConfig", True), + ("from transformers import AutoConfig, PretrainedConfig", True), + ("from transformers import PreTrainedTokenizer", True), + ("from transformers import PreTrainedTokenizerFast", True), + ("from transformers.models.siglip import SiglipImageProcessorFast", True), + ("from transformers import (\n PreTrainedTokenizerFast,\n)", True), + ("from transformers.configuration_utils import PretrainedConfig", True), + (" from transformers import PretrainedConfig", True), + ("from transformers.tokenization_utils import AddedToken", True), + ("from transformers.tokenization_utils_fast import X", True), + ("from transformers.image_processing_utils_fast import X", True), + ( + "from transformers.models.qwen2_vl.image_processing_qwen2_vl_fast import X", + True, + ), + ("import transformers.tokenization_utils_fast", True), + # Should not match + ("from transformers import PreTrainedConfig", False), + ("from transformers import PreTrainedTokenizerBase", False), + ("from transformers import PythonBackend, TokenizersBackend", False), + ("from transformers.tokenization_utils_base import BatchEncoding", False), + ("from transformers.tokenization_utils_tokenizers import X", False), + ( + "from transformers.image_processing_backends import TorchvisionBackend", + False, + ), + ("from transformers.models.qwen2_vl import Qwen2VLImageProcessor", False), + ("from vllm.foo import GLM4VImageProcessorFast", False), + ("from transformers import (\n PreTrainedConfig,\n)", False), + ("# from transformers import PretrainedConfig", False), + ] + for i, (content, should_match) in enumerate(transformers_cases): + result = matches("transformers legacy names", content) + assert result == should_match, ( + f"transformers case {i} failed: {content!r} " + f"(expected {should_match}, got {result})" + ) + print("All regex tests passed.") diff --git a/vllm/config/model.py b/vllm/config/model.py index 7b938bc8e55d..749916752e35 100644 --- a/vllm/config/model.py +++ b/vllm/config/model.py @@ -55,7 +55,7 @@ from vllm.v1.attention.backends.registry import AttentionBackendEnum if TYPE_CHECKING: - from transformers import PretrainedConfig + from transformers import PreTrainedConfig import vllm.model_executor.layers.quantization as me_quant import vllm.model_executor.models as me_models @@ -64,7 +64,7 @@ from vllm.model_executor.layers.quantization import QuantizationMethods from vllm.v1.sample.logits_processor import LogitsProcessor else: - PretrainedConfig = Any + PreTrainedConfig = Any me_quant = LazyLoader( "model_executor", globals(), "vllm.model_executor.layers.quantization" @@ -105,7 +105,7 @@ "processed_logits", "processed_logprobs", ) -HfOverrides = dict[str, Any] | Callable[[PretrainedConfig], PretrainedConfig] +HfOverrides = dict[str, Any] | Callable[[PreTrainedConfig], PreTrainedConfig] ModelImpl = Literal["auto", "vllm", "transformers", "terratorch"] LayerBlockType = Literal["attention", "linear_attention", "mamba"] @@ -183,9 +183,9 @@ class ModelConfig: We must set the global seed because otherwise, different tensor parallel workers would sample different tokens, leading to inconsistent results.""" - hf_config: PretrainedConfig = field(init=False) + hf_config: PreTrainedConfig = field(init=False) """The Hugging Face config of the model.""" - hf_text_config: PretrainedConfig = field(init=False) + hf_text_config: PreTrainedConfig = field(init=False) """The Hugging Face config of the text model (same as hf_config for text models).""" is_submodel_config: bool = field(default=False, init=False) """Whether this is a submodule view derived by `VllmConfig.with_hf_config` @@ -483,7 +483,7 @@ def compute_hash(self) -> str: def _update_nested( self, - target: PretrainedConfig | dict[str, Any], + target: PreTrainedConfig | dict[str, Any], updates: dict[str, Any], ) -> None: """Recursively updates a config or dict with nested updates.""" @@ -511,15 +511,15 @@ def _update_nested( def _apply_dict_overrides( self, - config: PretrainedConfig, + config: PreTrainedConfig, overrides: dict[str, Any], ) -> None: """Apply dict overrides, handling both nested configs and dict values.""" - from transformers import PretrainedConfig + from transformers import PreTrainedConfig for key, value in overrides.items(): attr = getattr(config, key, None) - if attr is not None and isinstance(attr, PretrainedConfig): + if attr is not None and isinstance(attr, PreTrainedConfig): # It's a nested config - recursively update it self._update_nested(attr, value) else: @@ -2393,7 +2393,7 @@ def _resolve_auto_dtype( def _get_and_verify_dtype( model_id: str, - config: PretrainedConfig, + config: PreTrainedConfig, dtype: str | torch.dtype, *, is_pooling_model: bool, @@ -2440,7 +2440,7 @@ def _get_and_verify_dtype( def _get_head_dtype( - config: PretrainedConfig, dtype: torch.dtype, runner_type: str + config: PreTrainedConfig, dtype: torch.dtype, runner_type: str ) -> torch.dtype: head_dtype: str | torch.dtype | None = getattr(config, "head_dtype", None) @@ -2464,7 +2464,7 @@ def _get_head_dtype( def _get_and_verify_max_len( - hf_config: PretrainedConfig, + hf_config: PreTrainedConfig, model_arch_config: ModelArchitectureConfig, tokenizer_config: dict | None, max_model_len: int | None, diff --git a/vllm/config/speculative.py b/vllm/config/speculative.py index e13ceed153fe..7fb2a09dd3ab 100644 --- a/vllm/config/speculative.py +++ b/vllm/config/speculative.py @@ -22,12 +22,12 @@ from vllm.v1.attention.backends.registry import AttentionBackendEnum if TYPE_CHECKING: - from transformers import PretrainedConfig + from transformers import PreTrainedConfig import vllm.model_executor.layers.quantization as me_quant from vllm.config.vllm import VllmConfig else: - PretrainedConfig = Any + PreTrainedConfig = Any VllmConfig = Any me_quant = LazyLoader( @@ -657,7 +657,7 @@ def compute_hash(self) -> str: return hash_str @staticmethod - def hf_config_override(hf_config: PretrainedConfig) -> PretrainedConfig: + def hf_config_override(hf_config: PreTrainedConfig) -> PreTrainedConfig: initial_architecture = hf_config.architectures[0] use_v32_mtp = hf_config.model_type in ("deepseek_v32", "glm_moe_dsa") if hf_config.model_type == "dots3_note": @@ -1066,16 +1066,16 @@ def hf_config_override(hf_config: PretrainedConfig) -> PretrainedConfig: @staticmethod def _apply_composed_hf_override( - target_hf_overrides: Callable[[PretrainedConfig], PretrainedConfig], - hf_config: PretrainedConfig, - ) -> PretrainedConfig: + target_hf_overrides: Callable[[PreTrainedConfig], PreTrainedConfig], + hf_config: PreTrainedConfig, + ) -> PreTrainedConfig: hf_config = SpeculativeConfig.hf_config_override(hf_config) return target_hf_overrides(hf_config) @staticmethod def compose_draft_hf_overrides( target_hf_overrides: HfOverrides | None, - ) -> Callable[[PretrainedConfig], PretrainedConfig]: + ) -> Callable[[PreTrainedConfig], PreTrainedConfig]: """Build the ``hf_overrides`` for the draft ``ModelConfig``. Callable overrides on the target are config-to-config transforms @@ -1667,7 +1667,7 @@ def _maybe_override_draft_max_model_len( @staticmethod def _maybe_override_draft_max_position_embeddings( - draft_hf_config: PretrainedConfig, + draft_hf_config: PreTrainedConfig, target_max_model_len: int, ) -> None: """Raise an EAGLE draft's max_position_embeddings up to the target's. @@ -1704,7 +1704,7 @@ def _maybe_override_draft_max_position_embeddings( def _verify_and_get_draft_tp( target_parallel_config: ParallelConfig, speculative_draft_tensor_parallel_size: int | None, - draft_hf_config: PretrainedConfig, + draft_hf_config: PreTrainedConfig, ) -> int: """Verifies and adjusts the tensor parallel size for a draft model specified using speculative_draft_tensor_parallel_size. diff --git a/vllm/config/utils.py b/vllm/config/utils.py index ed724746196a..c3d7bb10563d 100644 --- a/vllm/config/utils.py +++ b/vllm/config/utils.py @@ -138,7 +138,7 @@ def getattr_iter( ) -> Any: """A helper function that retrieves an attribute from an object which may have multiple possible names. This is useful when fetching attributes from - arbitrary `transformers.PretrainedConfig` instances. + arbitrary `transformers.PreTrainedConfig` instances. In the case where the first name in `names` is the preferred name, and any other names are deprecated aliases, setting `warn=True` will log a @@ -314,7 +314,7 @@ def normalize_value(x): except Exception: return str(x) - # PretrainedConfig (must be before dataclass branch as these are now dataclasses) + # PreTrainedConfig (must be before dataclass branch as these are now dataclasses) if hasattr(x, "to_json_string") and callable(x.to_json_string): try: return x.to_json_string() diff --git a/vllm/config/vllm.py b/vllm/config/vllm.py index 54ff2d483b6d..0aafd2506cb6 100644 --- a/vllm/config/vllm.py +++ b/vllm/config/vllm.py @@ -56,12 +56,12 @@ from .weight_transfer import WeightTransferConfig if TYPE_CHECKING: - from transformers import PretrainedConfig + from transformers import PreTrainedConfig from vllm.model_executor.layers.quantization.base_config import QuantizationConfig from vllm.v1.kv_cache_interface import KVCacheConfig else: - PretrainedConfig = Any + PreTrainedConfig = Any QuantizationConfig = Any @@ -939,7 +939,7 @@ def get_quantization_config( def with_hf_config( self, - hf_config: PretrainedConfig, + hf_config: PreTrainedConfig, architectures: list[str] | None = None, ) -> "VllmConfig": if architectures is not None: diff --git a/vllm/lora/layers/base.py b/vllm/lora/layers/base.py index 5fba2998c85a..70821be3d163 100644 --- a/vllm/lora/layers/base.py +++ b/vllm/lora/layers/base.py @@ -6,7 +6,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config.lora import LoRAConfig @@ -73,7 +73,7 @@ def create_lora_weights( self, max_loras: int, lora_config: LoRAConfig, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> None: """Initializes lora matrices.""" ... @@ -103,7 +103,7 @@ def can_replace_layer( source_layer: nn.Module, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> bool: """Returns True if the layer can be replaced by this LoRA layer.""" raise NotImplementedError diff --git a/vllm/lora/layers/base_linear.py b/vllm/lora/layers/base_linear.py index 36767376c44e..12888cf3db3d 100644 --- a/vllm/lora/layers/base_linear.py +++ b/vllm/lora/layers/base_linear.py @@ -3,7 +3,7 @@ import torch -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm import envs from vllm.config import get_current_vllm_config @@ -105,7 +105,7 @@ def create_lora_weights( self, max_loras: int, lora_config: LoRAConfig, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> None: self.lora_config = lora_config if isinstance(self.base_layer, ReplicatedLinear): diff --git a/vllm/lora/layers/classifier.py b/vllm/lora/layers/classifier.py index aa42023763e5..58160d1931fd 100644 --- a/vllm/lora/layers/classifier.py +++ b/vllm/lora/layers/classifier.py @@ -3,7 +3,7 @@ import torch -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config.lora import LoRAConfig from vllm.platforms import current_platform @@ -16,7 +16,7 @@ def create_lora_weights( self, max_loras: int, lora_config: LoRAConfig, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> None: # Preserve ordinary LoRA A/B support for classification heads. super().create_lora_weights(max_loras, lora_config, model_config) diff --git a/vllm/lora/layers/column_parallel_linear.py b/vllm/lora/layers/column_parallel_linear.py index d015fd53ce59..06be86d388cb 100644 --- a/vllm/lora/layers/column_parallel_linear.py +++ b/vllm/lora/layers/column_parallel_linear.py @@ -4,7 +4,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config.lora import LoRAConfig from vllm.distributed import tensor_model_parallel_all_gather @@ -164,7 +164,7 @@ def can_replace_layer( source_layer: nn.Module, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> bool: if type(source_layer) is maybe_get_oot_by_class(ColumnParallelLinear): return True @@ -208,7 +208,7 @@ def create_lora_weights( self, max_loras: int, lora_config: LoRAConfig, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> None: """The main reason for overriding this function is to enhance code maintainability. @@ -366,7 +366,7 @@ def can_replace_layer( source_layer: nn.Module, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, decorate: bool = True, ) -> bool: merged_cls = maybe_get_oot_by_class(MergedColumnParallelLinear) @@ -442,7 +442,7 @@ def can_replace_layer( source_layer: nn.Module, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> bool: return ( type(source_layer) is maybe_get_oot_by_class(QKVParallelLinear) @@ -488,7 +488,7 @@ def create_lora_weights( self, max_loras: int, lora_config: LoRAConfig, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> None: """The main reason for overloading this function is to handle inconsistent weight dimensions in qkv lora. @@ -502,7 +502,7 @@ def can_replace_layer( source_layer: nn.Module, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, decorate: bool = True, ) -> bool: return ( @@ -543,7 +543,7 @@ def can_replace_layer( source_layer: nn.Module, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, decorate: bool = True, ) -> bool: # specifying kwargs so they can be easily accessed in decorator @@ -585,7 +585,7 @@ def can_replace_layer( source_layer: nn.Module, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, decorate: bool = True, ) -> bool: # specifying kwargs so they can be easily accessed in decorator @@ -621,7 +621,7 @@ def can_replace_layer( source_layer: nn.Module, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> bool: # specifying kwargs so they can be easily accessed in decorator return super().can_replace_layer( @@ -669,7 +669,7 @@ def can_replace_layer( source_layer: nn.Module, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, decorate: bool = True, ) -> bool: # specifying kwargs so they can be easily accessed in decorator @@ -698,7 +698,7 @@ def can_replace_layer( source_layer: nn.Module, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, decorate: bool = True, ) -> bool: # Support MergedColumnParallelLinear with 3 or more slices diff --git a/vllm/lora/layers/fused_moe.py b/vllm/lora/layers/fused_moe.py index ed0ccdf7aeff..c58c18e71ff7 100644 --- a/vllm/lora/layers/fused_moe.py +++ b/vllm/lora/layers/fused_moe.py @@ -3,7 +3,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm import envs from vllm.config.lora import LoRAConfig @@ -245,7 +245,7 @@ def create_lora_weights( self, max_loras: int, lora_config: LoRAConfig, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> None: """Initializes lora matrices.""" self._verify_ep_fs(lora_config) @@ -465,7 +465,7 @@ def can_replace_layer( source_layer: nn.Module, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> bool: """Returns True if the layer can be replaced by this LoRA layer.""" # source_layer is MoERunner @@ -511,7 +511,7 @@ def create_lora_weights( self, max_loras: int, lora_config: LoRAConfig, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> None: """Initializes lora matrices.""" if model_config is None: @@ -624,7 +624,7 @@ def can_replace_layer( source_layer: nn.Module, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> bool: """Returns True if the layer can be replaced by this LoRA layer.""" # source_layer is MoERunner diff --git a/vllm/lora/layers/logits_processor.py b/vllm/lora/layers/logits_processor.py index 7613e9d165b6..6259fd781759 100644 --- a/vllm/lora/layers/logits_processor.py +++ b/vllm/lora/layers/logits_processor.py @@ -3,7 +3,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config.lora import LoRAConfig from vllm.distributed import ( @@ -85,7 +85,7 @@ def create_lora_weights( self, max_loras: int, lora_config: LoRAConfig, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> None: # TODO: Verify if this condition can be further relaxed if self.base_layer.vocab_size > 258048: @@ -221,7 +221,7 @@ def can_replace_layer( source_layer: nn.Module, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> bool: # Special handling for the LogitsProcessor. return False diff --git a/vllm/lora/layers/replicated_linear.py b/vllm/lora/layers/replicated_linear.py index f62dc60b16a4..b4d61caca2c6 100644 --- a/vllm/lora/layers/replicated_linear.py +++ b/vllm/lora/layers/replicated_linear.py @@ -4,7 +4,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config.lora import LoRAConfig from vllm.model_executor.custom_op import maybe_get_oot_by_class @@ -61,7 +61,7 @@ def can_replace_layer( source_layer: nn.Module, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> bool: return isinstance(source_layer, maybe_get_oot_by_class(ReplicatedLinear)) diff --git a/vllm/lora/layers/row_parallel_linear.py b/vllm/lora/layers/row_parallel_linear.py index 8f607dfbe508..48cbd31c1b7e 100644 --- a/vllm/lora/layers/row_parallel_linear.py +++ b/vllm/lora/layers/row_parallel_linear.py @@ -4,7 +4,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config.lora import LoRAConfig from vllm.distributed import ( @@ -89,7 +89,7 @@ def can_replace_layer( source_layer: nn.Module, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> bool: return type(source_layer) is maybe_get_oot_by_class(RowParallelLinear) @@ -165,7 +165,7 @@ def can_replace_layer( source_layer: nn.Module, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> bool: # specifying kwargs so they can be easily accessed in decorator return super().can_replace_layer( diff --git a/vllm/lora/layers/vocab_parallel_embedding.py b/vllm/lora/layers/vocab_parallel_embedding.py index c6f294efcde3..b55f33e149b8 100644 --- a/vllm/lora/layers/vocab_parallel_embedding.py +++ b/vllm/lora/layers/vocab_parallel_embedding.py @@ -4,7 +4,7 @@ import torch import torch.nn as nn import torch.nn.functional as F -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config.lora import LoRAConfig from vllm.model_executor.custom_op import maybe_get_oot_by_class @@ -26,7 +26,7 @@ def create_lora_weights( self, max_loras: int, lora_config: LoRAConfig, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> None: self.lora_a_stacked = torch.zeros( ( @@ -113,7 +113,7 @@ def can_replace_layer( source_layer: nn.Module, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> bool: # Accept both the in-tree and any OOT class, because layers built on top of # `VocabParallelEmbedding` (e.g. by the Transformers modelling backend) use the diff --git a/vllm/lora/utils.py b/vllm/lora/utils.py index b1321e9913c2..71a2e60dc7b6 100644 --- a/vllm/lora/utils.py +++ b/vllm/lora/utils.py @@ -6,7 +6,7 @@ from huggingface_hub.utils import HfHubHTTPError, HFValidationError from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm import envs from vllm.config.lora import LoRAConfig @@ -109,7 +109,7 @@ def from_layer( max_loras: int, lora_config: LoRAConfig, packed_modules_list: list, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> nn.Module: for lora_cls in _all_lora_classes: # specifying kwargs so they can be easily accessed in decorator @@ -130,7 +130,7 @@ def from_layer_logits_processor( lm_head: "ParallelLMHead", max_loras: int, lora_config: LoRAConfig, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> LogitsProcessorWithLoRA: ret = LogitsProcessorWithLoRA( layer, @@ -147,7 +147,7 @@ def from_layer_classification( layer: nn.Module, max_loras: int, lora_config: LoRAConfig, - model_config: PretrainedConfig | None = None, + model_config: PreTrainedConfig | None = None, ) -> ClassificationHeadWithLoRA: instance_layer = ClassificationHeadWithLoRA(layer) instance_layer.create_lora_weights(max_loras, lora_config, model_config) diff --git a/vllm/model_executor/layers/mamba/gdn/base.py b/vllm/model_executor/layers/mamba/gdn/base.py index 95ced2e0a4d3..249d56685ee7 100644 --- a/vllm/model_executor/layers/mamba/gdn/base.py +++ b/vllm/model_executor/layers/mamba/gdn/base.py @@ -1,7 +1,7 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project import torch -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import ( VllmConfig, @@ -24,7 +24,7 @@ class GatedDeltaNetAttention(PluggableLayer, MambaBase): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, vllm_config: VllmConfig, prefix: str = "", ) -> None: diff --git a/vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py b/vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py index 75a7d097a8b1..a4283e24821a 100644 --- a/vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py +++ b/vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py @@ -4,7 +4,7 @@ import torch import torch.nn.functional as F -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from vllm.config import ( VllmConfig, @@ -37,7 +37,7 @@ from vllm.v1.attention.backends.linear_attn import LinearAttentionMetadata -def _build_rope_parameters(config: PretrainedConfig) -> dict | None: +def _build_rope_parameters(config: PreTrainedConfig) -> dict | None: rope_parameters = copy.deepcopy(getattr(config, "rope_parameters", None)) or {} if "rope_theta" not in rope_parameters and hasattr(config, "rope_theta"): rope_parameters["rope_theta"] = config.rope_theta @@ -385,7 +385,7 @@ class BailingMoELinearAttention(LinearAttention): # --8<-- [end:bailing_moe_linear_attention] def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, vllm_config: VllmConfig, prefix: str = "linear_attn", ): diff --git a/vllm/model_executor/layers/mamba/linear/base.py b/vllm/model_executor/layers/mamba/linear/base.py index 73df07187303..da6808984b91 100644 --- a/vllm/model_executor/layers/mamba/linear/base.py +++ b/vllm/model_executor/layers/mamba/linear/base.py @@ -1,7 +1,7 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project import torch -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import ( VllmConfig, @@ -24,7 +24,7 @@ class LinearAttention(PluggableLayer, MambaBase): """Base class for Linear attention layer.""" def __init__( - self, config: PretrainedConfig, vllm_config: VllmConfig, prefix: str = "" + self, config: PreTrainedConfig, vllm_config: VllmConfig, prefix: str = "" ): super().__init__() self.layer_idx = extract_layer_index(prefix) diff --git a/vllm/model_executor/layers/pooler/activations.py b/vllm/model_executor/layers/pooler/activations.py index f0c64d2720b7..fc47684a128d 100644 --- a/vllm/model_executor/layers/pooler/activations.py +++ b/vllm/model_executor/layers/pooler/activations.py @@ -7,7 +7,7 @@ import torch import torch.nn as nn import torch.nn.functional as F -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import ModelConfig from vllm.logger import init_logger @@ -17,7 +17,7 @@ def get_act_fn( - config: PretrainedConfig, + config: PreTrainedConfig, static_num_labels: bool = True, ) -> "PoolerActivation": # get classification act_fn diff --git a/vllm/model_executor/layers/quantization/auto_awq.py b/vllm/model_executor/layers/quantization/auto_awq.py index b17a17d0836d..0c3e9805517a 100644 --- a/vllm/model_executor/layers/quantization/auto_awq.py +++ b/vllm/model_executor/layers/quantization/auto_awq.py @@ -6,7 +6,7 @@ import torch from safetensors.torch import _TYPES as _SAFETENSORS_TO_TORCH_DTYPE from torch.nn import Parameter -from transformers import PretrainedConfig +from transformers import PreTrainedConfig import vllm.model_executor.layers.fused_moe # noqa from vllm import _custom_ops as ops @@ -370,7 +370,7 @@ def apply_vllm_mapper(self, hf_to_vllm_mapper: "WeightsMapper"): def maybe_update_config( self, model_name: str, - hf_config: PretrainedConfig | None = None, + hf_config: PreTrainedConfig | None = None, revision: str | None = None, ): if self.modules_to_not_convert: diff --git a/vllm/model_executor/layers/quantization/auto_gptq.py b/vllm/model_executor/layers/quantization/auto_gptq.py index 960ee95d60e4..ff57f3b8c508 100644 --- a/vllm/model_executor/layers/quantization/auto_gptq.py +++ b/vllm/model_executor/layers/quantization/auto_gptq.py @@ -6,7 +6,7 @@ import torch from safetensors.torch import _TYPES as _SAFETENSORS_TO_TORCH_DTYPE -from transformers import PretrainedConfig +from transformers import PreTrainedConfig import vllm.model_executor.layers.fused_moe # noqa from vllm.logger import init_logger @@ -273,7 +273,7 @@ def apply_vllm_mapper(self, hf_to_vllm_mapper): def maybe_update_config( self, model_name: str, - hf_config: PretrainedConfig | None = None, + hf_config: PreTrainedConfig | None = None, revision: str | None = None, ): if self.modules_in_block_to_quantize: diff --git a/vllm/model_executor/layers/quantization/base_config.py b/vllm/model_executor/layers/quantization/base_config.py index a2c6eb2a458f..1b0457854eb1 100644 --- a/vllm/model_executor/layers/quantization/base_config.py +++ b/vllm/model_executor/layers/quantization/base_config.py @@ -8,7 +8,7 @@ import regex as re import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig if TYPE_CHECKING: from vllm.model_executor.layers.quantization import QuantizationMethods @@ -265,7 +265,7 @@ def apply_vllm_mapper( # noqa: B027 def maybe_update_config( # noqa: B027 self, model_name: str, - hf_config: PretrainedConfig | None = None, + hf_config: PreTrainedConfig | None = None, revision: str | None = None, ): """Interface to update values after config initialization. diff --git a/vllm/model_executor/model_loader/tensorizer.py b/vllm/model_executor/model_loader/tensorizer.py index 3f865c3f3980..bb48c5dc08af 100644 --- a/vllm/model_executor/model_loader/tensorizer.py +++ b/vllm/model_executor/model_loader/tensorizer.py @@ -18,7 +18,7 @@ import torch from torch import nn from torch.utils._python_dispatch import TorchDispatchMode -from transformers import PretrainedConfig +from transformers import PreTrainedConfig import vllm.envs as envs from vllm.config import ModelConfig, ParallelConfig, VllmConfig, set_current_vllm_config @@ -173,7 +173,7 @@ class TensorizerConfig(MutableMapping): deserialization_kwargs: dict[str, Any] | None = None _extra_serialization_attrs: dict[str, Any] | None = field(init=False, default=None) model_class: type[torch.nn.Module] | None = field(init=False, default=None) - hf_config: PretrainedConfig | None = field(init=False, default=None) + hf_config: PreTrainedConfig | None = field(init=False, default=None) dtype: str | torch.dtype | None = field(init=False, default=None) _is_sharded: bool = field(init=False, default=False) _fields: ClassVar[tuple[str, ...]] diff --git a/vllm/model_executor/models/adapters.py b/vllm/model_executor/models/adapters.py index 41394607621b..cdbf628e610b 100644 --- a/vllm/model_executor/models/adapters.py +++ b/vllm/model_executor/models/adapters.py @@ -284,7 +284,7 @@ def _init_pooler( def _resolve_num_labels(hf_config: Any, text_config: Any) -> int: """Resolve the label count for a sequence classification head. - ``PretrainedConfig.num_labels`` is derived from ``id2label``, which always + ``PreTrainedConfig.num_labels`` is derived from ``id2label``, which always carries a default of two entries. Composite configs (such as multimodal checkpoints) declare their label space on the top-level config, so reading ``num_labels`` from ``get_text_config()`` silently returns that default and @@ -297,9 +297,9 @@ def _resolve_num_labels(hf_config: Any, text_config: Any) -> int: if text_config is hf_config: return hf_config.num_labels - from transformers import PretrainedConfig + from transformers import PreTrainedConfig - if hf_config.num_labels != PretrainedConfig().num_labels: + if hf_config.num_labels != PreTrainedConfig().num_labels: return hf_config.num_labels return text_config.num_labels diff --git a/vllm/model_executor/models/audioflamingo3.py b/vllm/model_executor/models/audioflamingo3.py index edbe92101dfa..6308813ee29f 100644 --- a/vllm/model_executor/models/audioflamingo3.py +++ b/vllm/model_executor/models/audioflamingo3.py @@ -22,7 +22,7 @@ import torch import torch.nn as nn -from transformers import BatchFeature, PretrainedConfig +from transformers import BatchFeature, PreTrainedConfig from transformers.models.audioflamingo3 import ( AudioFlamingo3Config, AudioFlamingo3Processor, @@ -118,7 +118,7 @@ class AudioFlamingo3EmbeddingInputs(TensorSchema): class AudioFlamingo3Encoder(Qwen2AudioEncoder): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, ): super().__init__(config) self.avg_pooler = nn.AvgPool1d(kernel_size=2, stride=2) @@ -161,7 +161,7 @@ def _get_feat_extract_output_lengths(self, input_lengths: torch.Tensor): class AudioFlamingo3MultiModalProjector(nn.Module): - def __init__(self, config: PretrainedConfig): + def __init__(self, config: PreTrainedConfig): super().__init__() self.linear_1 = nn.Linear( config.audio_config.hidden_size, diff --git a/vllm/model_executor/models/bailing_moe.py b/vllm/model_executor/models/bailing_moe.py index 73ff5593711d..0a3b9c8e474b 100644 --- a/vllm/model_executor/models/bailing_moe.py +++ b/vllm/model_executor/models/bailing_moe.py @@ -30,7 +30,7 @@ import torch import torch.nn.functional as F from torch import nn -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig @@ -74,7 +74,7 @@ class BailingAttention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, reduce_results: bool = True, @@ -183,7 +183,7 @@ class BailingMLP(nn.Module): def __init__( self, intermediate_size: int, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, reduce_results: bool = True, prefix: str = "", @@ -217,7 +217,7 @@ class BailingMoE(nn.Module): def __init__( self, intermediate_size: int, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, reduce_results: bool | None = True, prefix: str = "", @@ -328,7 +328,7 @@ def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: class BailingMoeBlock(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, prefix: str = "", diff --git a/vllm/model_executor/models/bailing_moe_linear.py b/vllm/model_executor/models/bailing_moe_linear.py index 4b7bc29638d4..aea9559e6cfa 100644 --- a/vllm/model_executor/models/bailing_moe_linear.py +++ b/vllm/model_executor/models/bailing_moe_linear.py @@ -5,7 +5,7 @@ import torch import torch.nn as nn -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig @@ -79,7 +79,7 @@ class BailingMoeV25MLAAttention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, layer_id: int = 0, prefix: str = "attention", @@ -234,7 +234,7 @@ class BailingMoeV25(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, layer_id: int = 0, prefix: str = "", @@ -349,7 +349,7 @@ class BailingMoeV25DecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, vllm_config: VllmConfig, prefix: str = "layer", layer_id: int = 0, diff --git a/vllm/model_executor/models/bailing_moe_mtp.py b/vllm/model_executor/models/bailing_moe_mtp.py index a403244a177e..32cc168102e7 100644 --- a/vllm/model_executor/models/bailing_moe_mtp.py +++ b/vllm/model_executor/models/bailing_moe_mtp.py @@ -6,7 +6,7 @@ import torch import torch.nn as nn -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import VllmConfig @@ -36,7 +36,7 @@ from .utils import PPMissingLayer, is_pp_missing_parameter, maybe_prefix -def _get_draft_hf_config(vllm_config: VllmConfig) -> PretrainedConfig: +def _get_draft_hf_config(vllm_config: VllmConfig) -> PreTrainedConfig: speculative_config = vllm_config.speculative_config if speculative_config is not None: draft_model_config = speculative_config.draft_model_config @@ -48,7 +48,7 @@ def _get_draft_hf_config(vllm_config: VllmConfig) -> PretrainedConfig: class BailingMTPSharedHead(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, prefix: str, vllm_config: VllmConfig, ) -> None: diff --git a/vllm/model_executor/models/bailing_moe_v3.py b/vllm/model_executor/models/bailing_moe_v3.py index e1c72ed4b771..9f5c078fac9c 100644 --- a/vllm/model_executor/models/bailing_moe_v3.py +++ b/vllm/model_executor/models/bailing_moe_v3.py @@ -17,7 +17,7 @@ import torch import torch.nn as nn from einops import rearrange -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, ModelConfig, VllmConfig, get_current_vllm_config @@ -151,7 +151,7 @@ def _get_kda_state_shape_for_config( return shapes -def _build_rope_parameters(config: PretrainedConfig) -> dict | None: +def _build_rope_parameters(config: PreTrainedConfig) -> dict | None: rope_parameters = copy.deepcopy(getattr(config, "rope_parameters", None)) or {} if "rope_theta" not in rope_parameters and hasattr(config, "rope_theta"): rope_parameters["rope_theta"] = config.rope_theta @@ -172,7 +172,7 @@ def _build_rope_parameters(config: PretrainedConfig) -> dict | None: def _build_mla_rotary_embedding( - config: PretrainedConfig, + config: PreTrainedConfig, head_size: int, ) -> nn.Module: rope_parameters = _build_rope_parameters(config) @@ -223,7 +223,7 @@ def _is_block_fp8_config( def _configure_ling_fp8_quant_config( quant_config: QuantizationConfig | None, - config: PretrainedConfig, + config: PreTrainedConfig, ) -> None: if not _is_block_fp8_config(quant_config): return @@ -372,7 +372,7 @@ def _pad_block_fp8_mlp_checkpoint_tensor( def _maybe_pad_block_fp8_shared_expert_checkpoint_tensor( quant_config: QuantizationConfig | None, - config: PretrainedConfig, + config: PreTrainedConfig, name: str, loaded_weight: torch.Tensor, ) -> torch.Tensor: @@ -410,7 +410,7 @@ class BailingMoeV3MLP(nn.Module): def __init__( self, intermediate_size: int, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, reduce_results: bool = True, prefix: str = "", @@ -446,7 +446,7 @@ def forward(self, x): class BailingMoeV3MLAAttention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, layer_id: int = 0, prefix: str = "attention", @@ -625,7 +625,7 @@ def get_state_shape( def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, layer_id: int = 0, prefix: str = "attention", @@ -1121,7 +1121,7 @@ def _forward( class BailingMoeV3MoE(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, layer_id: int = 0, prefix: str = "", @@ -1193,7 +1193,7 @@ def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: class BailingMoeV3DecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, layer_id: int = 0, prefix: str = "layer", diff --git a/vllm/model_executor/models/bailing_moe_v3_mtp.py b/vllm/model_executor/models/bailing_moe_v3_mtp.py index 2b4c3c8d7827..3d5b3556c237 100644 --- a/vllm/model_executor/models/bailing_moe_v3_mtp.py +++ b/vllm/model_executor/models/bailing_moe_v3_mtp.py @@ -6,7 +6,7 @@ import torch import torch.nn as nn -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import VllmConfig @@ -47,7 +47,7 @@ from vllm.sequence import IntermediateTensors -def _get_draft_hf_config(vllm_config: VllmConfig) -> PretrainedConfig: +def _get_draft_hf_config(vllm_config: VllmConfig) -> PreTrainedConfig: speculative_config = vllm_config.speculative_config if speculative_config is not None: draft_model_config = speculative_config.draft_model_config @@ -59,7 +59,7 @@ def _get_draft_hf_config(vllm_config: VllmConfig) -> PretrainedConfig: class BailingMoeV3MTPSharedHead(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, prefix: str, vllm_config: VllmConfig, ) -> None: diff --git a/vllm/model_executor/models/bert_with_rope.py b/vllm/model_executor/models/bert_with_rope.py index 60f04342e380..cd35792b284b 100644 --- a/vllm/model_executor/models/bert_with_rope.py +++ b/vllm/model_executor/models/bert_with_rope.py @@ -4,7 +4,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig @@ -50,7 +50,7 @@ class BertWithRopeEmbedding(nn.Module): - def __init__(self, config: PretrainedConfig): + def __init__(self, config: PreTrainedConfig): super().__init__() if config.position_embedding_type not in ["rope", "rotary"]: raise ValueError( @@ -347,7 +347,7 @@ def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: class BertWithRopeBlock(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, moe: bool = False, diff --git a/vllm/model_executor/models/cohere2_vision.py b/vllm/model_executor/models/cohere2_vision.py index 4fdaff44442e..bc4f78ed2cac 100644 --- a/vllm/model_executor/models/cohere2_vision.py +++ b/vllm/model_executor/models/cohere2_vision.py @@ -8,10 +8,10 @@ import torch from torch import nn -from transformers import BatchFeature, PretrainedConfig +from transformers import BatchFeature, PreTrainedConfig from transformers.models.cohere2_vision import Cohere2VisionConfig -from transformers.models.cohere2_vision.image_processing_cohere2_vision_fast import ( # noqa: E501 - Cohere2VisionImageProcessorFast, +from transformers.models.cohere2_vision.image_processing_cohere2_vision import ( # noqa: E501 + Cohere2VisionImageProcessor, ) from transformers.models.cohere2_vision.processing_cohere2_vision import ( Cohere2VisionProcessor, @@ -178,7 +178,7 @@ def get_num_patches( """Calculate the number of image patches for a given image. Uses the HF processor to determine the actual number of patches. """ - image_processor: Cohere2VisionImageProcessorFast = processor.image_processor + image_processor: Cohere2VisionImageProcessor = processor.image_processor return image_processor.get_number_of_image_patches( image_height, @@ -415,7 +415,7 @@ def _parse_and_validate_image_input( ) def _patch_quant_config( - self, config: PretrainedConfig, quant_config: QuantizationConfig | None + self, config: PreTrainedConfig, quant_config: QuantizationConfig | None ): # the awq models from OpenGVLab missing `modules_to_not_convert` # patch the quant_config to add `modules_to_not_convert` back diff --git a/vllm/model_executor/models/cohere_asr.py b/vllm/model_executor/models/cohere_asr.py index c8a196ffdc58..298ccda9522b 100644 --- a/vllm/model_executor/models/cohere_asr.py +++ b/vllm/model_executor/models/cohere_asr.py @@ -8,7 +8,7 @@ import torch import torch.nn.functional as F from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, ModelConfig, SpeechToTextConfig, VllmConfig @@ -1861,7 +1861,7 @@ def load_weights(self, weights: Iterable[tuple[str, torch.Tensor]]) -> set[str]: class CohereASRProcessingInfo(BaseProcessingInfo): - def get_hf_config(self) -> PretrainedConfig: + def get_hf_config(self) -> PreTrainedConfig: return self.ctx.get_hf_config() def get_default_tok_params(self) -> TokenizeParams: diff --git a/vllm/model_executor/models/cohere_compass.py b/vllm/model_executor/models/cohere_compass.py index 9e8adabb808a..8593bedfc0d1 100644 --- a/vllm/model_executor/models/cohere_compass.py +++ b/vllm/model_executor/models/cohere_compass.py @@ -1161,7 +1161,6 @@ def get_hf_config(self) -> CohereCompassConfig: def get_hf_processor(self, **kwargs: object) -> CohereCompassProcessor: return self.ctx.get_hf_processor( CohereCompassProcessor, - use_fast=kwargs.pop("use_fast", True), **kwargs, ) diff --git a/vllm/model_executor/models/colqwen3.py b/vllm/model_executor/models/colqwen3.py index 3f04c86b9649..0e9236300119 100644 --- a/vllm/model_executor/models/colqwen3.py +++ b/vllm/model_executor/models/colqwen3.py @@ -61,7 +61,6 @@ def get_hf_processor(self, **kwargs: object) -> Qwen3VLProcessor: # correctly for the Qwen3-VL backbone. return self.ctx.get_hf_processor( Qwen3VLProcessor, - use_fast=kwargs.pop("use_fast", True), **kwargs, ) diff --git a/vllm/model_executor/models/colqwen3_5.py b/vllm/model_executor/models/colqwen3_5.py index aa8a5d0c81a2..7eddbe983eaa 100644 --- a/vllm/model_executor/models/colqwen3_5.py +++ b/vllm/model_executor/models/colqwen3_5.py @@ -58,7 +58,6 @@ def get_hf_config(self): def get_hf_processor(self, **kwargs: object) -> Qwen3VLProcessor: return self.ctx.get_hf_processor( Qwen3VLProcessor, - use_fast=kwargs.pop("use_fast", True), **kwargs, ) diff --git a/vllm/model_executor/models/config.py b/vllm/model_executor/models/config.py index 4073512d96b8..d426424eeb1b 100644 --- a/vllm/model_executor/models/config.py +++ b/vllm/model_executor/models/config.py @@ -6,7 +6,7 @@ from vllm.utils.math_utils import round_up if TYPE_CHECKING: - from transformers import PretrainedConfig + from transformers import PreTrainedConfig from vllm.config import CacheConfig, ModelConfig, VllmConfig from vllm.config.cache import MambaDType @@ -680,7 +680,7 @@ class NemotronHForCausalLMConfig(VerifyAndUpdateConfig): @classmethod def update_mamba_ssm_cache_dtype( - cls, *, cache_config: "CacheConfig", hf_config: "PretrainedConfig" + cls, *, cache_config: "CacheConfig", hf_config: "PreTrainedConfig" ) -> None: """Update mamba_ssm_cache_dtype for NemotronH models when set to 'auto' (or not explicitly set), to the value specified in the HF config, or to diff --git a/vllm/model_executor/models/deepseek_mtp.py b/vllm/model_executor/models/deepseek_mtp.py index 581329a4ac25..5adc732f42cc 100644 --- a/vllm/model_executor/models/deepseek_mtp.py +++ b/vllm/model_executor/models/deepseek_mtp.py @@ -5,7 +5,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import VllmConfig @@ -51,7 +51,7 @@ class SharedHead(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, prefix: str, quant_config: QuantizationConfig | None = None, *, diff --git a/vllm/model_executor/models/diffusion_gemma.py b/vllm/model_executor/models/diffusion_gemma.py index a1b4eb3a0d73..84d52fb5ba3b 100644 --- a/vllm/model_executor/models/diffusion_gemma.py +++ b/vllm/model_executor/models/diffusion_gemma.py @@ -112,13 +112,13 @@ class DiffusionGemmaProcessingInfo(Gemma4ProcessingInfo): """Processing info for DiffusionGemma. Overrides ``get_hf_config`` to accept ``DiffusionGemmaConfig`` - (which inherits from ``PretrainedConfig``, not ``Gemma4Config``). + (which inherits from ``PreTrainedConfig``, not ``Gemma4Config``). Supports image and video modalities. """ def get_hf_config(self): # DiffusionGemmaConfig doesn't inherit from Gemma4Config, so we - # accept any PretrainedConfig here. + # accept any PreTrainedConfig here. return self.ctx.get_hf_config() def get_supported_mm_limits(self) -> Mapping[str, int | None]: diff --git a/vllm/model_executor/models/eagle2_5_vl.py b/vllm/model_executor/models/eagle2_5_vl.py index d4ee31aaf72a..257907e659e3 100644 --- a/vllm/model_executor/models/eagle2_5_vl.py +++ b/vllm/model_executor/models/eagle2_5_vl.py @@ -8,7 +8,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import VllmConfig from vllm.model_executor.layers.quantization import QuantizationConfig @@ -193,7 +193,7 @@ def __init__(self, *, vllm_config: VllmConfig, prefix: str = "") -> None: def _init_vision_model( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, prefix: str, ): @@ -220,7 +220,7 @@ def _init_vision_model( prefix=prefix, ) - def _init_mlp1(self, config: PretrainedConfig) -> nn.Module: + def _init_mlp1(self, config: PreTrainedConfig) -> nn.Module: """Initialize MLP projection layer.""" vit_hidden_size = config.vision_config.hidden_size llm_hidden_size = config.text_config.hidden_size diff --git a/vllm/model_executor/models/ernie45_moe.py b/vllm/model_executor/models/ernie45_moe.py index efe088739eed..53d1ba682744 100644 --- a/vllm/model_executor/models/ernie45_moe.py +++ b/vllm/model_executor/models/ernie45_moe.py @@ -29,7 +29,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig, get_current_vllm_config @@ -119,7 +119,7 @@ def forward(self, x): class Ernie4_5_MoeMoE(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", enable_eplb: bool = False, @@ -305,7 +305,7 @@ def forward( class Ernie4_5_MoeDecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, prefix: str = "", diff --git a/vllm/model_executor/models/ernie45_vl.py b/vllm/model_executor/models/ernie45_vl.py index a800458bbf81..0a632b66e659 100644 --- a/vllm/model_executor/models/ernie45_vl.py +++ b/vllm/model_executor/models/ernie45_vl.py @@ -881,7 +881,7 @@ def get_hf_config(self): return self.ctx.model_config.hf_config def get_hf_processor(self, **kwargs: object): - return self.ctx.get_hf_processor(use_fast=True, **kwargs) + return self.ctx.get_hf_processor(**kwargs) def get_image_processor(self, **kwargs: object): return self.get_hf_processor(**kwargs).image_processor diff --git a/vllm/model_executor/models/ernie45_vl_moe.py b/vllm/model_executor/models/ernie45_vl_moe.py index ccc4b9b868b6..4965bcdcb3b4 100644 --- a/vllm/model_executor/models/ernie45_vl_moe.py +++ b/vllm/model_executor/models/ernie45_vl_moe.py @@ -29,7 +29,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig # from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig @@ -192,7 +192,7 @@ def forward( class Ernie4_5_VLMoeMoE(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ): @@ -385,7 +385,7 @@ def forward( class Ernie4_5_VLMoeDecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, prefix: str = "", diff --git a/vllm/model_executor/models/exaone.py b/vllm/model_executor/models/exaone.py index fef05d386a9b..16f07746f392 100644 --- a/vllm/model_executor/models/exaone.py +++ b/vllm/model_executor/models/exaone.py @@ -30,7 +30,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig @@ -104,7 +104,7 @@ def forward(self, x): class ExaoneAttention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, hidden_size: int, num_heads: int, num_kv_heads: int, @@ -191,7 +191,7 @@ def forward( class ExaoneBlockAttention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, hidden_size: int, num_heads: int, num_kv_heads: int, @@ -228,7 +228,7 @@ def forward( class ExaoneDecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, prefix: str = "", diff --git a/vllm/model_executor/models/exaone4_5.py b/vllm/model_executor/models/exaone4_5.py index b325c6a3043e..5a53e60b7d5e 100644 --- a/vllm/model_executor/models/exaone4_5.py +++ b/vllm/model_executor/models/exaone4_5.py @@ -311,7 +311,6 @@ def get_hf_config(self): def get_hf_processor(self, **kwargs: object) -> Exaone4_5_Processor: return self.ctx.get_hf_processor( Exaone4_5_Processor, - use_fast=kwargs.pop("use_fast", True), **kwargs, ) diff --git a/vllm/model_executor/models/exaone_moe.py b/vllm/model_executor/models/exaone_moe.py index 368ff06eb638..d5b8b4066239 100644 --- a/vllm/model_executor/models/exaone_moe.py +++ b/vllm/model_executor/models/exaone_moe.py @@ -20,7 +20,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig, get_current_vllm_config @@ -65,7 +65,7 @@ class ExaoneMoe(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, swiglu_limit: float | None = None, quant_config: QuantizationConfig | None = None, prefix: str = "", @@ -289,7 +289,7 @@ def forward( class ExaoneMoeDecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, is_mtp: bool = False, diff --git a/vllm/model_executor/models/gemma3n_mm.py b/vllm/model_executor/models/gemma3n_mm.py index be2e8edeb2a7..f2cb959e4714 100644 --- a/vllm/model_executor/models/gemma3n_mm.py +++ b/vllm/model_executor/models/gemma3n_mm.py @@ -15,7 +15,7 @@ Gemma3nTextConfig, Gemma3nVisionConfig, ) -from transformers.models.siglip import SiglipImageProcessorFast +from transformers.models.siglip import SiglipImageProcessor from vllm.config import ModelConfig, SpeechToTextConfig, VllmConfig from vllm.config.multimodal import MultiModalDummyOptions @@ -239,7 +239,7 @@ def get_dummy_mm_data( processor.feature_extractor ) audio_len = audio_feature_extractor.fft_length - image_processor: SiglipImageProcessorFast = processor.image_processor + image_processor: SiglipImageProcessor = processor.image_processor img_width = image_processor.size.get("width", 224) img_height = image_processor.size.get("height", 224) diff --git a/vllm/model_executor/models/glm4_moe_lite_mtp.py b/vllm/model_executor/models/glm4_moe_lite_mtp.py index af5a1e113fd8..f5a82b72314b 100644 --- a/vllm/model_executor/models/glm4_moe_lite_mtp.py +++ b/vllm/model_executor/models/glm4_moe_lite_mtp.py @@ -28,7 +28,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import VllmConfig from vllm.model_executor.layers.fused_moe import ( @@ -68,7 +68,7 @@ class SharedHead(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, prefix: str, quant_config: QuantizationConfig | None = None, ) -> None: diff --git a/vllm/model_executor/models/glm4_moe_mtp.py b/vllm/model_executor/models/glm4_moe_mtp.py index 6d951e04ac7e..330f891d1cf3 100644 --- a/vllm/model_executor/models/glm4_moe_mtp.py +++ b/vllm/model_executor/models/glm4_moe_mtp.py @@ -29,7 +29,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import CacheConfig, ParallelConfig, VllmConfig from vllm.model_executor.layers.fused_moe import ( @@ -60,7 +60,7 @@ class SharedHead(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, prefix: str, quant_config: QuantizationConfig | None = None, ) -> None: @@ -80,7 +80,7 @@ def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: class Glm4MoeMultiTokenPredictorLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, prefix: str, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, diff --git a/vllm/model_executor/models/granite.py b/vllm/model_executor/models/granite.py index 73d9184f1264..81ab62937e1a 100644 --- a/vllm/model_executor/models/granite.py +++ b/vllm/model_executor/models/granite.py @@ -36,7 +36,7 @@ import torch from torch import nn from transformers import GraniteConfig -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig @@ -72,7 +72,7 @@ def granite_layer_attn_params( - config: PretrainedConfig, layer_idx: int + config: PreTrainedConfig, layer_idx: int ) -> tuple[int | None, float, bool]: """Resolve one layer's sliding window, RoPE base and sink usage. diff --git a/vllm/model_executor/models/granite_speech.py b/vllm/model_executor/models/granite_speech.py index 53cbe7df43dd..3ae85cfaac69 100644 --- a/vllm/model_executor/models/granite_speech.py +++ b/vllm/model_executor/models/granite_speech.py @@ -31,7 +31,7 @@ import torch import torch.nn.functional as F from torch import nn -from transformers import BatchFeature, PretrainedConfig +from transformers import BatchFeature, PreTrainedConfig from vllm.config import CacheConfig, ModelConfig, SpeechToTextConfig, VllmConfig from vllm.config.multimodal import MultiModalDummyOptions @@ -229,7 +229,7 @@ def get_dummy_text(self, mm_counts: Mapping[str, int]) -> str: class GraniteSpeechEncoderProjector(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", @@ -287,7 +287,7 @@ class GraniteSpeechConformerFeedForward(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ): @@ -323,7 +323,7 @@ class GraniteSpeechConformerAttention(nn.Module): for more details. """ - def __init__(self, config: PretrainedConfig, prefix: str = ""): + def __init__(self, config: PreTrainedConfig, prefix: str = ""): super().__init__() inner_dim = config.dim_head * config.num_heads @@ -429,7 +429,7 @@ class GraniteSpeechConformerConvModule(nn.Module): convolutional layers. """ - def __init__(self, config: PretrainedConfig, prefix: str = ""): + def __init__(self, config: PreTrainedConfig, prefix: str = ""): super().__init__() inner_dim = config.hidden_dim * config.conv_expansion_factor @@ -460,7 +460,7 @@ class GraniteSpeechConformerBlock(nn.Module): """Conformer block, consisting largely of linear layers, attention, and convolutional layers.""" - def __init__(self, config: PretrainedConfig, prefix: str = ""): + def __init__(self, config: PreTrainedConfig, prefix: str = ""): super().__init__() self.ff1 = GraniteSpeechConformerFeedForward(config, prefix=f"{prefix}.ff1") self.attn = GraniteSpeechConformerAttention(config, prefix=f"{prefix}.attn") @@ -486,7 +486,7 @@ class GraniteSpeechCTCEncoder(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, prefix: str, quant_config: QuantizationConfig | None = None, ): @@ -622,7 +622,7 @@ def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""): def _build_encoder( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, prefix: str, ) -> "GraniteSpeechCTCEncoder": diff --git a/vllm/model_executor/models/granite_speech_plus.py b/vllm/model_executor/models/granite_speech_plus.py index 7e695b7ed53c..946f3edbcc3e 100644 --- a/vllm/model_executor/models/granite_speech_plus.py +++ b/vllm/model_executor/models/granite_speech_plus.py @@ -3,7 +3,7 @@ """Inference-only IBM Granite Speech Plus model.""" import torch -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.model_executor.layers.quantization import QuantizationConfig from vllm.multimodal import MULTIMODAL_REGISTRY @@ -68,7 +68,7 @@ class GraniteSpeechPlusForConditionalGeneration(GraniteSpeechForConditionalGener def _build_encoder( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, prefix: str, ) -> GraniteSpeechCTCEncoder: diff --git a/vllm/model_executor/models/granitemoe.py b/vllm/model_executor/models/granitemoe.py index b8ec377ad1d9..5b9aa886f52b 100644 --- a/vllm/model_executor/models/granitemoe.py +++ b/vllm/model_executor/models/granitemoe.py @@ -29,7 +29,7 @@ import torch from torch import nn -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig @@ -141,7 +141,7 @@ def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: class GraniteMoeAttention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, hidden_size: int, num_heads: int, num_kv_heads: int, diff --git a/vllm/model_executor/models/h2ovl.py b/vllm/model_executor/models/h2ovl.py index 596f24a3eba3..e1c59d4ea08e 100644 --- a/vllm/model_executor/models/h2ovl.py +++ b/vllm/model_executor/models/h2ovl.py @@ -10,7 +10,7 @@ # -------------------------------------------------------- import torch -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.model_executor.layers.quantization import QuantizationConfig from vllm.multimodal import MULTIMODAL_REGISTRY @@ -158,7 +158,7 @@ def _cached_apply_hf_processor( class H2OVLChatModel(InternVLChatModel): def _init_vision_model( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, *, prefix: str, diff --git a/vllm/model_executor/models/hrm_text.py b/vllm/model_executor/models/hrm_text.py index e5140bc03594..2f11a2c45472 100644 --- a/vllm/model_executor/models/hrm_text.py +++ b/vllm/model_executor/models/hrm_text.py @@ -25,7 +25,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig @@ -122,7 +122,7 @@ class HrmTextAttention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, layer_idx_in_stack: int, stack_kind: Literal["L", "H"], cache_config: CacheConfig | None = None, @@ -245,7 +245,7 @@ def forward( class HrmTextDecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, layer_idx_in_stack: int, stack_kind: Literal["L", "H"], cache_config: CacheConfig | None = None, @@ -310,7 +310,7 @@ class HrmTextStack(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, stack_kind: Literal["L", "H"], cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, diff --git a/vllm/model_executor/models/hy_v3.py b/vllm/model_executor/models/hy_v3.py index 248ae04747ae..2e24cf65e8f3 100644 --- a/vllm/model_executor/models/hy_v3.py +++ b/vllm/model_executor/models/hy_v3.py @@ -31,7 +31,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig, get_current_vllm_config @@ -220,7 +220,7 @@ def forward( class HYV3Attention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, hidden_size: int, num_heads: int, num_kv_heads: int, @@ -365,7 +365,7 @@ def forward( class HYV3DecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, prefix: str = "", diff --git a/vllm/model_executor/models/hy_v3_mtp.py b/vllm/model_executor/models/hy_v3_mtp.py index aa9c2f35b5e2..06f6f270890c 100644 --- a/vllm/model_executor/models/hy_v3_mtp.py +++ b/vllm/model_executor/models/hy_v3_mtp.py @@ -29,7 +29,7 @@ import regex as re import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import CacheConfig, ModelConfig, VllmConfig from vllm.model_executor.layers.fused_moe import ( @@ -59,7 +59,7 @@ ) -def _is_moe(config: PretrainedConfig) -> bool: +def _is_moe(config: PreTrainedConfig) -> bool: return bool( getattr(config, "num_experts", None) and ( @@ -69,7 +69,7 @@ def _is_moe(config: PretrainedConfig) -> bool: ) -def _get_cla_factor(config: PretrainedConfig) -> int: +def _get_cla_factor(config: PreTrainedConfig) -> int: if not getattr(config, "use_cla", False): return 1 return getattr(config, "cla_share_factor", 1) @@ -78,7 +78,7 @@ def _get_cla_factor(config: PretrainedConfig) -> int: class HYV3SharedHead(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, ) -> None: super().__init__() @@ -93,7 +93,7 @@ def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: class HYV3MultiTokenPredictorLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, prefix: str, model_config: ModelConfig, cache_config: CacheConfig | None = None, diff --git a/vllm/model_executor/models/intern_vit.py b/vllm/model_executor/models/intern_vit.py index 2b1c247d8f8a..873160f9687c 100644 --- a/vllm/model_executor/models/intern_vit.py +++ b/vllm/model_executor/models/intern_vit.py @@ -13,7 +13,7 @@ import torch import torch.nn as nn import torch.nn.functional as F -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import ( should_torch_compile_mm_encoder, @@ -47,7 +47,7 @@ class InternVisionEmbeddings(nn.Module): - def __init__(self, config: PretrainedConfig): + def __init__(self, config: PreTrainedConfig): super().__init__() self.config = config self.embed_dim = config.hidden_size @@ -119,7 +119,7 @@ class InternParallelAttention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, *, num_dummy_heads: int = 0, @@ -222,7 +222,7 @@ def forward(self, x: torch.Tensor) -> torch.Tensor: class InternMLP(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ) -> None: @@ -264,7 +264,7 @@ def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: class InternVisionEncoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, *, num_dummy_heads: int = 0, @@ -297,7 +297,7 @@ def __init__( def _init_attn( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, *, num_dummy_heads: int, @@ -324,7 +324,7 @@ def forward( class InternVisionEncoder(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, *, num_hidden_layers_override: int | None = None, @@ -369,7 +369,7 @@ class InternVisionModel(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, *, num_hidden_layers_override: int | None = None, diff --git a/vllm/model_executor/models/internlm2.py b/vllm/model_executor/models/internlm2.py index 29dd124b8663..e1490071c2f1 100644 --- a/vllm/model_executor/models/internlm2.py +++ b/vllm/model_executor/models/internlm2.py @@ -8,7 +8,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig @@ -195,7 +195,7 @@ def forward( class InternLMDecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, prefix: str = "", diff --git a/vllm/model_executor/models/interns1.py b/vllm/model_executor/models/interns1.py index 8d818e9a78fb..b1ac9596febb 100644 --- a/vllm/model_executor/models/interns1.py +++ b/vllm/model_executor/models/interns1.py @@ -12,10 +12,10 @@ import regex as re import torch import torch.nn as nn -from transformers import BatchFeature, InternVLProcessor, PretrainedConfig +from transformers import BatchFeature, InternVLProcessor, PreTrainedConfig from transformers.activations import ACT2FN -from transformers.models.got_ocr2.image_processing_got_ocr2_fast import ( - GotOcr2ImageProcessorFast, +from transformers.models.got_ocr2.image_processing_got_ocr2 import ( + GotOcr2ImageProcessor, ) from transformers.models.internvl.video_processing_internvl import ( InternVLVideoProcessor, @@ -202,7 +202,7 @@ def get_num_image_tokens( processor: InternVLProcessor, mm_kwargs: Mapping[str, object], ) -> int: - image_processor: GotOcr2ImageProcessorFast = processor.image_processor + image_processor: GotOcr2ImageProcessor = processor.image_processor num_image_patches = image_processor.get_number_of_image_patches( image_height, @@ -612,7 +612,7 @@ def __init__(self, *, vllm_config: VllmConfig, prefix: str = "") -> None: def _init_vision_model( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, *, prefix: str, @@ -625,7 +625,7 @@ def _init_vision_model( prefix=prefix, ) - def _init_mlp1(self, config: PretrainedConfig) -> nn.Module: + def _init_mlp1(self, config: PreTrainedConfig) -> nn.Module: return InternS1MultiModalProjector(config) def pixel_shuffle(self, x, scale_factor=0.5): diff --git a/vllm/model_executor/models/interns1_pro.py b/vllm/model_executor/models/interns1_pro.py index 50cc73ec7d44..e757241e9458 100644 --- a/vllm/model_executor/models/interns1_pro.py +++ b/vllm/model_executor/models/interns1_pro.py @@ -30,7 +30,7 @@ import torch from torch import nn -from transformers import AutoProcessor, PretrainedConfig +from transformers import AutoProcessor, PreTrainedConfig from vllm.config import CacheConfig, VllmConfig from vllm.distributed import ( @@ -563,7 +563,7 @@ class InternS1ProForConditionalGeneration( def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""): super(Qwen3VLForConditionalGeneration, self).__init__() - config: PretrainedConfig = vllm_config.model_config.hf_config + config: PreTrainedConfig = vllm_config.model_config.hf_config multimodal_config = vllm_config.model_config.get_multimodal_config() self.config = config diff --git a/vllm/model_executor/models/interns1_vit.py b/vllm/model_executor/models/interns1_vit.py index e0958a63e3c4..f6337339379f 100644 --- a/vllm/model_executor/models/interns1_vit.py +++ b/vllm/model_executor/models/interns1_vit.py @@ -11,7 +11,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from transformers.utils import torch_int from vllm.model_executor.layers.activation import get_act_fn @@ -65,7 +65,7 @@ def forward(self, pixel_values: torch.Tensor) -> torch.Tensor: class InternS1VisionEmbeddings(nn.Module): - def __init__(self, config: PretrainedConfig): + def __init__(self, config: PreTrainedConfig): super().__init__() self.config = config self.cls_token = nn.Parameter(torch.zeros(1, 1, config.hidden_size)) @@ -166,7 +166,7 @@ class InternSdpaAttention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, *, num_dummy_heads: int = 0, prefix: str = "", @@ -242,7 +242,7 @@ def forward(self, x: torch.Tensor) -> torch.Tensor: class InternS1VisionMLP(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ) -> None: @@ -276,7 +276,7 @@ def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: class InternS1VisionLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, *, num_dummy_heads: int = 0, @@ -311,7 +311,7 @@ def __init__( def _init_attn( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, *, num_dummy_heads: int, @@ -343,7 +343,7 @@ def forward( class InternS1VisionEncoder(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, *, num_hidden_layers_override: int | None = None, @@ -382,7 +382,7 @@ def forward(self, inputs_embeds: torch.Tensor): class InternS1VisionModel(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, *, num_hidden_layers_override: int | None = None, diff --git a/vllm/model_executor/models/internvl.py b/vllm/model_executor/models/internvl.py index 3640f8d6a31b..ec3b39b6ad84 100644 --- a/vllm/model_executor/models/internvl.py +++ b/vllm/model_executor/models/internvl.py @@ -14,7 +14,7 @@ import torch import torch.nn as nn -from transformers import BatchFeature, PretrainedConfig +from transformers import BatchFeature, PreTrainedConfig from vllm.config import VllmConfig from vllm.config.multimodal import MultiModalDummyOptions @@ -629,7 +629,7 @@ def __init__(self, *, vllm_config: VllmConfig, prefix: str = "") -> None: ) def _patch_quant_config( - self, config: PretrainedConfig, quant_config: QuantizationConfig | None + self, config: PreTrainedConfig, quant_config: QuantizationConfig | None ): # the awq models from OpenGVLab missing `modules_to_not_convert` # patch the quant_config to add `modules_to_not_convert` back @@ -643,7 +643,7 @@ def _patch_quant_config( def _init_vision_model( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, *, prefix: str, @@ -663,7 +663,7 @@ def _init_vision_model( prefix=prefix, ) - def _init_mlp1(self, config: PretrainedConfig) -> nn.Module: + def _init_mlp1(self, config: PreTrainedConfig) -> nn.Module: vit_hidden_size = config.vision_config.hidden_size llm_hidden_size = config.text_config.hidden_size diff --git a/vllm/model_executor/models/iquest_loopcoder.py b/vllm/model_executor/models/iquest_loopcoder.py index 87783ae9c856..5d39e87564bb 100644 --- a/vllm/model_executor/models/iquest_loopcoder.py +++ b/vllm/model_executor/models/iquest_loopcoder.py @@ -22,7 +22,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig @@ -60,7 +60,7 @@ class LoopCoderAttention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, hidden_size: int, num_heads: int, num_kv_heads: int, @@ -210,7 +210,7 @@ def forward( class LoopCoderDecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, prefix: str = "", diff --git a/vllm/model_executor/models/keye.py b/vllm/model_executor/models/keye.py index bfd2af714b82..7bf5d797096e 100644 --- a/vllm/model_executor/models/keye.py +++ b/vllm/model_executor/models/keye.py @@ -10,7 +10,7 @@ import torch import torch.nn as nn from einops import rearrange -from transformers import BaseImageProcessor, PretrainedConfig +from transformers import BaseImageProcessor, PreTrainedConfig from transformers.activations import GELUActivation from transformers.feature_extraction_utils import BatchFeature from transformers.modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling @@ -191,7 +191,7 @@ class KeyeVideoEmbeddingInputs(TensorSchema): class KeyeVisionEmbeddings(nn.Module): - def __init__(self, config: PretrainedConfig): + def __init__(self, config: PreTrainedConfig): super().__init__() self.config = config self.embed_dim = config.hidden_size @@ -349,7 +349,7 @@ class KeyeSiglipAttention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ): @@ -487,7 +487,7 @@ def forward(self, seqlen: int) -> torch.Tensor: class KeyeSiglipEncoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ): @@ -539,7 +539,7 @@ def forward( class KeyeSiglipEncoder(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ): @@ -634,7 +634,7 @@ def forward( class KeyeSiglipVisionTransformer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ): @@ -710,7 +710,7 @@ def forward( class KeyeSiglipVisionModel(nn.Module): - config_class = PretrainedConfig + config_class = PreTrainedConfig main_input_name = "pixel_values" hf_to_vllm_mapper = WeightsMapper( @@ -724,7 +724,7 @@ class KeyeSiglipVisionModel(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ): @@ -787,8 +787,8 @@ def load_weights(self, weights: Iterable[tuple[str, torch.Tensor]]) -> set[str]: class Projector(nn.Module): def __init__( self, - text_config: PretrainedConfig, - vision_config: PretrainedConfig, + text_config: PreTrainedConfig, + vision_config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ): @@ -1232,7 +1232,7 @@ def get_placeholder_str(cls, modality: str, i: int) -> str | None: def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""): super().__init__() - config: PretrainedConfig = vllm_config.model_config.hf_config + config: PreTrainedConfig = vllm_config.model_config.hf_config quant_config = vllm_config.quant_config self.config = config @@ -1264,8 +1264,8 @@ def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""): @abstractmethod def _build_projector( self, - text_config: PretrainedConfig, - vision_config: PretrainedConfig, + text_config: PreTrainedConfig, + vision_config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ) -> nn.Module: @@ -1511,8 +1511,8 @@ class KeyeForConditionalGeneration( ): def _build_projector( self, - text_config: PretrainedConfig, - vision_config: PretrainedConfig, + text_config: PreTrainedConfig, + vision_config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ) -> nn.Module: diff --git a/vllm/model_executor/models/keye_vl1_5.py b/vllm/model_executor/models/keye_vl1_5.py index b52d50296abc..3bc7f364205d 100644 --- a/vllm/model_executor/models/keye_vl1_5.py +++ b/vllm/model_executor/models/keye_vl1_5.py @@ -9,7 +9,7 @@ import torch import torch.nn as nn from einops import rearrange -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from transformers.activations import GELUActivation from transformers.feature_extraction_utils import BatchFeature @@ -197,8 +197,8 @@ class KeyeVL1_5VideoEmbeddingInputs(TensorSchema): class KeyeVL1_5Projector(nn.Module): def __init__( self, - text_config: PretrainedConfig, - vision_config: PretrainedConfig, + text_config: PreTrainedConfig, + vision_config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ): @@ -509,15 +509,15 @@ class KeyeVL1_5ForConditionalGeneration( ): def _build_projector( self, - text_config: PretrainedConfig, - vision_config: PretrainedConfig, + text_config: PreTrainedConfig, + vision_config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ) -> nn.Module: return KeyeVL1_5Projector(text_config, vision_config, quant_config, prefix) def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""): - config: PretrainedConfig = vllm_config.model_config.hf_config + config: PreTrainedConfig = vllm_config.model_config.hf_config self.merge_size = config.vision_config.spatial_merge_size super().__init__(vllm_config=vllm_config, prefix=prefix) diff --git a/vllm/model_executor/models/lfm2_siglip2.py b/vllm/model_executor/models/lfm2_siglip2.py index b3c7ee28ae7a..42c8f6264198 100644 --- a/vllm/model_executor/models/lfm2_siglip2.py +++ b/vllm/model_executor/models/lfm2_siglip2.py @@ -334,7 +334,7 @@ class Siglip2Encoder(nn.Module): self attention layers. Each layer is a [`Siglip2EncoderLayer`]. Args: - config: PretrainedConfig + config: PreTrainedConfig """ diff --git a/vllm/model_executor/models/lfm2_vl.py b/vllm/model_executor/models/lfm2_vl.py index 644da00c81c2..dd58707b855f 100644 --- a/vllm/model_executor/models/lfm2_vl.py +++ b/vllm/model_executor/models/lfm2_vl.py @@ -13,8 +13,8 @@ from transformers.activations import ACT2FN from transformers.models.lfm2_vl import Lfm2VlProcessor from transformers.models.lfm2_vl.configuration_lfm2_vl import Lfm2VlConfig -from transformers.models.lfm2_vl.image_processing_lfm2_vl_fast import ( - Lfm2VlImageProcessorFast, +from transformers.models.lfm2_vl.image_processing_lfm2_vl import ( + Lfm2VlImageProcessor, find_closest_aspect_ratio, round_by_factor, ) @@ -104,7 +104,7 @@ def get_hf_config(self): def get_hf_processor(self, **kwargs): return self.ctx.get_hf_processor(Lfm2VlProcessor, **kwargs) - def get_image_processor(self, **kwargs: object) -> Lfm2VlImageProcessorFast: + def get_image_processor(self, **kwargs: object) -> Lfm2VlImageProcessor: return self.get_hf_processor(**kwargs).image_processor def get_default_tok_params(self) -> TokenizeParams: @@ -213,7 +213,7 @@ def _get_image_feature_grid_size( processor: Lfm2VlProcessor, mm_kwargs: Mapping[str, object], ) -> tuple[int, int, int]: - image_processor: Lfm2VlImageProcessorFast = processor.image_processor + image_processor: Lfm2VlImageProcessor = processor.image_processor mm_kwargs = self.ctx.get_merged_mm_kwargs(mm_kwargs) downsample_factor = mm_kwargs.get( @@ -336,7 +336,7 @@ def get_num_image_tokens( processor: Lfm2VlProcessor, mm_kwargs: Mapping[str, object], ) -> tuple[int, int]: - image_processor: Lfm2VlImageProcessorFast = processor.image_processor + image_processor: Lfm2VlImageProcessor = processor.image_processor mm_kwargs = self.ctx.get_merged_mm_kwargs(mm_kwargs) downsample_factor = mm_kwargs.get( diff --git a/vllm/model_executor/models/llava.py b/vllm/model_executor/models/llava.py index 22cd34fc8557..ead9bbb1e72f 100644 --- a/vllm/model_executor/models/llava.py +++ b/vllm/model_executor/models/llava.py @@ -12,7 +12,7 @@ CLIPVisionConfig, LlavaConfig, PixtralVisionConfig, - PretrainedConfig, + PreTrainedConfig, SiglipVisionConfig, ) from transformers.models.llava import LlavaProcessor @@ -156,7 +156,7 @@ def forward(self, image_features: torch.Tensor) -> torch.Tensor: class LlavaLikeConfig(Protocol): - vision_config: PretrainedConfig + vision_config: PreTrainedConfig image_token_index: int vision_feature_select_strategy: str vision_feature_layer: int | list[int] diff --git a/vllm/model_executor/models/llava_onevision2.py b/vllm/model_executor/models/llava_onevision2.py index d8d514be2381..a1b12b38346e 100644 --- a/vllm/model_executor/models/llava_onevision2.py +++ b/vllm/model_executor/models/llava_onevision2.py @@ -1307,7 +1307,6 @@ def get_hf_processor(self, **kwargs: object): # ``_merge_mm_kwargs`` restricts caller ``mm_processor_kwargs`` to known # processor args and wraps values as hashable for the lru_cache. merged = _merge_mm_kwargs(model_config, AutoProcessor, **kwargs) - merged.setdefault("use_fast", True) return _load_ov2_processor( model_config.model, model_config.revision, diff --git a/vllm/model_executor/models/longcat_flash.py b/vllm/model_executor/models/longcat_flash.py index d1724be0af7e..0c9802a8b3dc 100644 --- a/vllm/model_executor/models/longcat_flash.py +++ b/vllm/model_executor/models/longcat_flash.py @@ -39,7 +39,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig @@ -80,7 +80,7 @@ logger = init_logger(__name__) -class FlashConfig(PretrainedConfig): +class FlashConfig(PreTrainedConfig): """Flash model configuration.""" moe_intermediate_size: int diff --git a/vllm/model_executor/models/longcat_flash_mtp.py b/vllm/model_executor/models/longcat_flash_mtp.py index 851c694f3714..770f931e81b8 100644 --- a/vllm/model_executor/models/longcat_flash_mtp.py +++ b/vllm/model_executor/models/longcat_flash_mtp.py @@ -7,7 +7,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import VllmConfig from vllm.model_executor.layers.layernorm import RMSNorm @@ -30,7 +30,7 @@ class LongCatMultiTokenPredictorLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, prefix: str, vllm_config: VllmConfig, quant_config: QuantizationConfig | None = None, @@ -353,7 +353,7 @@ def _rewrite_spec_layer_name( return name def get_spec_layer_idx_from_weight_name( - self, config: PretrainedConfig, weight_name: str + self, config: PreTrainedConfig, weight_name: str ) -> int | None: if "model.mtp" in weight_name: return config.num_hidden_layers * 2 diff --git a/vllm/model_executor/models/mimo_audio.py b/vllm/model_executor/models/mimo_audio.py index d0d2513f0424..48c526bd92df 100644 --- a/vllm/model_executor/models/mimo_audio.py +++ b/vllm/model_executor/models/mimo_audio.py @@ -21,7 +21,7 @@ import torch.nn.functional as F from einops import rearrange, repeat from transformers.activations import ACT2FN -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from transformers.modeling_utils import PreTrainedModel from transformers.models.qwen2.configuration_qwen2 import Qwen2Config from transformers.models.qwen2.modeling_qwen2 import Qwen2Model @@ -518,7 +518,7 @@ def decode(self, codes: torch.Tensor, st: int = 0) -> torch.Tensor: # --------------------------------------------------------------------------- -class MiMoAudioTokenizerConfig(PretrainedConfig): +class MiMoAudioTokenizerConfig(PreTrainedConfig): model_type = "mimo_audio_tokenizer" def __init__( diff --git a/vllm/model_executor/models/mimo_mtp.py b/vllm/model_executor/models/mimo_mtp.py index 32d3b1f662a7..65566230a562 100644 --- a/vllm/model_executor/models/mimo_mtp.py +++ b/vllm/model_executor/models/mimo_mtp.py @@ -24,7 +24,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import CacheConfig, ModelConfig, VllmConfig from vllm.model_executor.layers.layernorm import RMSNorm @@ -43,7 +43,7 @@ class MiMoMultiTokenPredictorLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, prefix: str, model_config: ModelConfig, cache_config: CacheConfig | None = None, diff --git a/vllm/model_executor/models/mimo_v2_mtp.py b/vllm/model_executor/models/mimo_v2_mtp.py index 6fd8309350aa..a4e46977ec03 100644 --- a/vllm/model_executor/models/mimo_v2_mtp.py +++ b/vllm/model_executor/models/mimo_v2_mtp.py @@ -22,7 +22,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import VllmConfig from vllm.distributed import ( @@ -62,7 +62,7 @@ class MiMoV2MTPLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, prefix: str, quant_config: QuantizationConfig | None = None, ) -> None: @@ -145,7 +145,7 @@ class _MiMoV2MTPLayers(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, num_mtp_layers: int, quant_config: QuantizationConfig | None, prefix: str, diff --git a/vllm/model_executor/models/mimo_v2_omni.py b/vllm/model_executor/models/mimo_v2_omni.py index f55cf44f3787..8c838c7cfb7f 100644 --- a/vllm/model_executor/models/mimo_v2_omni.py +++ b/vllm/model_executor/models/mimo_v2_omni.py @@ -10,7 +10,7 @@ import torch import torch.nn as nn import torch.nn.functional as F -from transformers import BatchFeature, PretrainedConfig +from transformers import BatchFeature, PreTrainedConfig from transformers.models.qwen2_vl.image_processing_qwen2_vl import smart_resize from typing_extensions import TypedDict @@ -418,7 +418,7 @@ class MiMoVisionTransformer(nn.Module): def __init__( self, - vision_cfg: PretrainedConfig, + vision_cfg: PreTrainedConfig, *, norm_eps: float = 1e-6, quant_config: QuantizationConfig | None = None, diff --git a/vllm/model_executor/models/minicpm.py b/vllm/model_executor/models/minicpm.py index 8ac6711e1216..0c934386a7f1 100644 --- a/vllm/model_executor/models/minicpm.py +++ b/vllm/model_executor/models/minicpm.py @@ -31,7 +31,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig @@ -316,7 +316,7 @@ def forward( class MiniCPMDecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, prefix: str = "", @@ -427,7 +427,7 @@ def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""): def _init_layers( self, prefix: str, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None, quant_config: QuantizationConfig | None, ): diff --git a/vllm/model_executor/models/minicpm3.py b/vllm/model_executor/models/minicpm3.py index 30a9cd34ed0a..08b8ec47f33f 100644 --- a/vllm/model_executor/models/minicpm3.py +++ b/vllm/model_executor/models/minicpm3.py @@ -27,7 +27,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import CacheConfig, VllmConfig from vllm.distributed import get_tensor_model_parallel_world_size @@ -52,7 +52,7 @@ class MiniCPM3Attention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, hidden_size: int, num_heads: int, qk_nope_head_dim: int, @@ -208,7 +208,7 @@ class MiniCPM3Model(MiniCPMModel): def _init_layers( self, prefix: str, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None, quant_config: QuantizationConfig | None, ): diff --git a/vllm/model_executor/models/minicpm_eagle.py b/vllm/model_executor/models/minicpm_eagle.py index a495fed22ce5..ebbbefd26b87 100644 --- a/vllm/model_executor/models/minicpm_eagle.py +++ b/vllm/model_executor/models/minicpm_eagle.py @@ -30,7 +30,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig @@ -68,7 +68,7 @@ class _EagleMiniCPMSupportsPP: class EagleMiniCPMDecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, prefix: str = "", @@ -189,7 +189,7 @@ def __init__( def _init_layers( self, prefix: str, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None, quant_config: QuantizationConfig | None, start_layer: int, diff --git a/vllm/model_executor/models/minicpmv.py b/vllm/model_executor/models/minicpmv.py index 8027dc1027d4..6555e2f132b6 100644 --- a/vllm/model_executor/models/minicpmv.py +++ b/vllm/model_executor/models/minicpmv.py @@ -36,7 +36,7 @@ import torch.types from torch import nn from torch.nn.init import trunc_normal_ -from transformers import BatchFeature, PretrainedConfig +from transformers import BatchFeature, PreTrainedConfig from transformers.dynamic_module_utils import ( get_class_from_dynamic_module, resolve_trust_remote_code, @@ -468,7 +468,7 @@ def forward( return x -def get_version_by_config(config: PretrainedConfig) -> tuple[int, ...]: +def get_version_by_config(config: PreTrainedConfig) -> tuple[int, ...]: version_float = getattr(config, "version", None) # The old configs do not include version number @@ -1235,7 +1235,7 @@ def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""): self.use_data_parallel = multimodal_config.mm_encoder_tp_mode == "data" super().__init__() # All MiniCPM-V models disable `tie_word_embeddings` but - # `PretrainedConfig.tie_word_embeddings` defaults to True; we cannot + # `PreTrainedConfig.tie_word_embeddings` defaults to True; we cannot # check `tie_word_embeddings` until vLLM integrate MiniCPM-V model # and config class self.config = config @@ -1425,7 +1425,7 @@ def init_llm( def init_vision_module( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, prefix: str = "", ) -> nn.Module: @@ -1957,7 +1957,7 @@ def init_llm( def init_vision_module( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, prefix: str = "", ) -> nn.Module: @@ -2058,7 +2058,7 @@ def init_llm( def init_vision_module( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, prefix: str = "", ) -> nn.Module: @@ -2154,7 +2154,7 @@ def init_llm( def init_vision_module( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ) -> nn.Module: @@ -2255,7 +2255,7 @@ def init_llm( def init_vision_module( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ) -> nn.Module: @@ -2354,7 +2354,7 @@ def init_llm( def init_vision_module( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ) -> nn.Module: diff --git a/vllm/model_executor/models/minimax_m2.py b/vllm/model_executor/models/minimax_m2.py index 139529e55931..77f899315908 100644 --- a/vllm/model_executor/models/minimax_m2.py +++ b/vllm/model_executor/models/minimax_m2.py @@ -29,7 +29,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, ModelConfig, VllmConfig @@ -70,7 +70,7 @@ class MiniMaxM2MoE(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ): @@ -249,7 +249,7 @@ def forward( class MiniMaxM2DecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, prefix: str, model_config: ModelConfig, cache_config: CacheConfig | None = None, diff --git a/vllm/model_executor/models/mllama4.py b/vllm/model_executor/models/mllama4.py index 4984a4d17d96..fbf393b554b6 100644 --- a/vllm/model_executor/models/mllama4.py +++ b/vllm/model_executor/models/mllama4.py @@ -25,7 +25,7 @@ from transformers import BatchFeature, Llama4Config, Llama4VisionConfig from transformers.image_utils import SizeDict from transformers.models.llama4 import Llama4Processor -from transformers.models.llama4.image_processing_llama4_fast import ( +from transformers.models.llama4.image_processing_llama4 import ( find_supported_resolutions, get_best_fit, ) @@ -554,9 +554,7 @@ def get_hf_config(self) -> Llama4Config: return self.ctx.get_hf_config(Llama4Config) def get_hf_processor(self, **kwargs: object) -> Llama4Processor: - return self.ctx.get_hf_processor( - Llama4Processor, use_fast=kwargs.pop("use_fast", True), **kwargs - ) + return self.ctx.get_hf_processor(Llama4Processor, **kwargs) def get_supported_mm_limits(self) -> Mapping[str, int | None]: # Although vLLM can support more images from an infra capability diff --git a/vllm/model_executor/models/molmo.py b/vllm/model_executor/models/molmo.py index 17ad7f0be1b0..ad6b1c4a8b4b 100644 --- a/vllm/model_executor/models/molmo.py +++ b/vllm/model_executor/models/molmo.py @@ -16,7 +16,7 @@ from transformers import ( BaseImageProcessor, BatchFeature, - PretrainedConfig, + PreTrainedConfig, ) from vllm.compilation.decorators import support_torch_compile @@ -405,7 +405,7 @@ class MolmoAttention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, prefix: str = "", @@ -515,7 +515,7 @@ class LanguageModelMLP(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, input_dim: int | None = None, quant_config: QuantizationConfig | None = None, prefix: str = "", @@ -557,7 +557,7 @@ class ImageProjectorMLP(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, input_dim: int | None = None, quant_config: QuantizationConfig | None = None, prefix: str = "", @@ -598,7 +598,7 @@ def forward( class MolmoDecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, prefix: str = "", @@ -681,7 +681,7 @@ class MolmoVisionBackbone(nn.Module, SupportsQuant): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, vision_config: VisionBackboneConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", diff --git a/vllm/model_executor/models/molmo2.py b/vllm/model_executor/models/molmo2.py index b44419a42ab6..4598d9da2af2 100644 --- a/vllm/model_executor/models/molmo2.py +++ b/vllm/model_executor/models/molmo2.py @@ -16,7 +16,7 @@ BaseImageProcessor, BaseVideoProcessor, BatchFeature, - PretrainedConfig, + PreTrainedConfig, ProcessorMixin, ) from transformers.image_utils import ImageInput @@ -1305,7 +1305,7 @@ def exif_transpose( def build_flat_image_bool_length( image_grids: torch.LongTensor, - hf_config: PretrainedConfig, + hf_config: PreTrainedConfig, image_use_col_tokens: bool = True, use_single_crop_col_tokens: bool | None = None, use_single_crop_start_token: bool = True, @@ -1393,7 +1393,7 @@ def build_flat_image_bool_length( def build_flat_video_bool_length( video_grids: torch.LongTensor, - hf_config: PretrainedConfig, + hf_config: PreTrainedConfig, ) -> tuple[torch.LongTensor, torch.LongTensor]: image_patch_id = hf_config.image_patch_id frame_start_id = hf_config.frame_start_token_id diff --git a/vllm/model_executor/models/moss_audio.py b/vllm/model_executor/models/moss_audio.py index 02551d5663bc..6e7f50415082 100644 --- a/vllm/model_executor/models/moss_audio.py +++ b/vllm/model_executor/models/moss_audio.py @@ -13,7 +13,7 @@ import torch import torch.nn.functional as F from torch import nn -from transformers import BatchFeature, PretrainedConfig, Qwen3Config +from transformers import BatchFeature, PreTrainedConfig, Qwen3Config from transformers.models.whisper import WhisperFeatureExtractor from typing_extensions import TypedDict @@ -263,7 +263,7 @@ def from_config(cls, config: object) -> "MossAudioEncoderConfig": return cls(**values) -class MossAudioConfig(PretrainedConfig): +class MossAudioConfig(PreTrainedConfig): model_type = "moss_audio" is_composition = True diff --git a/vllm/model_executor/models/nano_nemotron_vl.py b/vllm/model_executor/models/nano_nemotron_vl.py index de61880b5f65..0f4dc8b11052 100644 --- a/vllm/model_executor/models/nano_nemotron_vl.py +++ b/vllm/model_executor/models/nano_nemotron_vl.py @@ -16,7 +16,7 @@ import torch import torch.nn as nn -from transformers import BatchFeature, PretrainedConfig +from transformers import BatchFeature, PreTrainedConfig from vllm import envs from vllm.config import VllmConfig @@ -238,7 +238,7 @@ def get_video_pruning_rate(self) -> float | None: return self.ctx.get_mm_config().video_pruning_rate @property - def sound_config(self) -> PretrainedConfig | None: + def sound_config(self) -> PreTrainedConfig | None: return getattr(self.get_hf_config(), "sound_config", None) def get_default_tok_params(self) -> TokenizeParams: diff --git a/vllm/model_executor/models/nemotron_parse.py b/vllm/model_executor/models/nemotron_parse.py index 5c4375b60058..9ac38c0021db 100644 --- a/vllm/model_executor/models/nemotron_parse.py +++ b/vllm/model_executor/models/nemotron_parse.py @@ -17,7 +17,7 @@ from transformers import ( BartConfig, BatchFeature, - PretrainedConfig, + PreTrainedConfig, ) from vllm.config import CacheConfig, VllmConfig @@ -440,7 +440,7 @@ class RadioWithNeck(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ): @@ -480,7 +480,7 @@ def __init__( def get_vit_model_from_radio_config( self, - hf_config: PretrainedConfig, + hf_config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, ) -> RadioModel: hf_config_vision = hf_config.encoder diff --git a/vllm/model_executor/models/nemotron_vl.py b/vllm/model_executor/models/nemotron_vl.py index 7b2777a71087..0ec4589e5110 100644 --- a/vllm/model_executor/models/nemotron_vl.py +++ b/vllm/model_executor/models/nemotron_vl.py @@ -5,7 +5,7 @@ import torch import torch.nn as nn -from transformers import AutoModel, PretrainedConfig +from transformers import AutoModel, PreTrainedConfig from vllm.config import VllmConfig from vllm.model_executor.layers.linear import ReplicatedLinear @@ -146,7 +146,7 @@ def __init__(self, *, vllm_config: VllmConfig, prefix: str = "") -> None: ) def _patch_quant_config( - self, config: PretrainedConfig, quant_config: QuantizationConfig | None + self, config: PreTrainedConfig, quant_config: QuantizationConfig | None ): # the awq models from OpenGVLab missing `modules_to_not_convert` # patch the quant_config to add `modules_to_not_convert` back @@ -160,7 +160,7 @@ def _patch_quant_config( def _init_vision_model( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, *, prefix: str, @@ -172,7 +172,7 @@ def _init_vision_model( def _init_mlp1( self, - config: PretrainedConfig, + config: PreTrainedConfig, vit_hidden_size: int | None = None, vision_projection_hidden_size: int | None = None, ) -> nn.Module: @@ -505,7 +505,7 @@ def __init__(self, *, vllm_config: VllmConfig, prefix: str = "") -> None: def _init_vision_model( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config, *, prefix: str, @@ -520,7 +520,7 @@ def _init_vision_model( def _init_mlp1( self, - config: PretrainedConfig, + config: PreTrainedConfig, vit_hidden_size: int | None = None, vision_projection_hidden_size: int | None = None, ) -> nn.Module: diff --git a/vllm/model_executor/models/nvlm_d.py b/vllm/model_executor/models/nvlm_d.py index 5efcdb6f5360..1039fea95ea0 100644 --- a/vllm/model_executor/models/nvlm_d.py +++ b/vllm/model_executor/models/nvlm_d.py @@ -11,7 +11,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config.multimodal import MultiModalDummyOptions from vllm.inputs import MultiModalDataDict @@ -161,7 +161,7 @@ def get_replacement_nvlm(item_idx: int): dummy_inputs=NVLMDummyInputsBuilder, ) class NVLM_D_Model(InternVLChatModel): - def _init_mlp1(self, config: PretrainedConfig) -> nn.Module: + def _init_mlp1(self, config: PreTrainedConfig) -> nn.Module: vit_hidden_size = config.vision_config.hidden_size llm_intermediate_size = config.text_config.intermediate_size llm_hidden_size = config.text_config.hidden_size @@ -179,7 +179,7 @@ def _init_mlp1(self, config: PretrainedConfig) -> nn.Module: def _init_vision_model( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, *, prefix: str, diff --git a/vllm/model_executor/models/openpangu.py b/vllm/model_executor/models/openpangu.py index 660ac6ebd615..b6f001dbb980 100644 --- a/vllm/model_executor/models/openpangu.py +++ b/vllm/model_executor/models/openpangu.py @@ -26,7 +26,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, ParallelConfig, VllmConfig @@ -134,7 +134,7 @@ def forward(self, x: torch.Tensor) -> torch.Tensor: class OpenPanguMoE(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, parallel_config: ParallelConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", @@ -240,7 +240,7 @@ def forward( class OpenPanguMLAAttention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, hidden_size: int, num_heads: int, qk_nope_head_dim: int, @@ -389,7 +389,7 @@ def forward( class OpenPanguEmbeddedAttention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, hidden_size: int, num_heads: int, num_kv_heads: int, @@ -501,7 +501,7 @@ def forward( def _init_rotary_emb( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, ) -> None: is_neox_style = True @@ -522,7 +522,7 @@ def _init_rotary_emb( class OpenPanguSinkAttention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, hidden_size: int, num_heads: int, num_kv_heads: int, @@ -743,7 +743,7 @@ def forward( def _init_rotary_emb( self, - config: PretrainedConfig, + config: PreTrainedConfig, rope_parameters: dict[str, Any] | None, quant_config: QuantizationConfig | None, ) -> None: @@ -769,7 +769,7 @@ def post_weight_load(self) -> None: class OpenPanguDecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, prefix: str, vllm_config: VllmConfig, ) -> None: diff --git a/vllm/model_executor/models/openpangu_vl.py b/vllm/model_executor/models/openpangu_vl.py index 741ec2155fe7..b7d5c8103282 100644 --- a/vllm/model_executor/models/openpangu_vl.py +++ b/vllm/model_executor/models/openpangu_vl.py @@ -686,7 +686,6 @@ def get_hf_processor(self, **kwargs: object): kwargs["fps"] = fps return self.ctx.get_hf_processor( - use_fast=kwargs.pop("use_fast", True), **kwargs, ) diff --git a/vllm/model_executor/models/orion.py b/vllm/model_executor/models/orion.py index 2b58ee1e015c..4d50705c78f8 100644 --- a/vllm/model_executor/models/orion.py +++ b/vllm/model_executor/models/orion.py @@ -13,7 +13,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig @@ -163,7 +163,7 @@ def forward( class OrionDecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, prefix: str = "", diff --git a/vllm/model_executor/models/ovis.py b/vllm/model_executor/models/ovis.py index ed0ea7ab7baa..7c1668ddabcd 100644 --- a/vllm/model_executor/models/ovis.py +++ b/vllm/model_executor/models/ovis.py @@ -26,7 +26,7 @@ import torch.nn as nn from torch import Tensor from torch.nn.functional import gumbel_softmax, pad, softmax -from transformers import BatchFeature, PretrainedConfig +from transformers import BatchFeature, PreTrainedConfig from vllm.config import VllmConfig from vllm.config.multimodal import MultiModalDummyOptions @@ -93,7 +93,7 @@ def st_argmax(y_soft: torch.Tensor, dim: int): # straight-through softmax class VisualTokenizer(torch.nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ): @@ -120,7 +120,7 @@ def __init__( def _init_backbone( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ) -> nn.Module: @@ -419,7 +419,7 @@ def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""): config = vllm_config.model_config.hf_config quant_config = vllm_config.quant_config - self.config: PretrainedConfig = config + self.config: PreTrainedConfig = config with self._mark_language_model(vllm_config): self.llm = init_vllm_registered_model( diff --git a/vllm/model_executor/models/ovis2_5.py b/vllm/model_executor/models/ovis2_5.py index 2520b38ae396..456ae0b7fe5e 100644 --- a/vllm/model_executor/models/ovis2_5.py +++ b/vllm/model_executor/models/ovis2_5.py @@ -8,7 +8,7 @@ import torch import torch.nn as nn -from transformers import BaseImageProcessor, BatchFeature, PretrainedConfig +from transformers import BaseImageProcessor, BatchFeature, PreTrainedConfig from vllm.config import VllmConfig from vllm.config.multimodal import MultiModalDummyOptions @@ -95,7 +95,7 @@ class VisualTokenizer(torch.nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, visual_vocab_size: int, quant_config: QuantizationConfig | None = None, prefix: str = "", @@ -121,7 +121,7 @@ def __init__( def _init_backbone( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ): @@ -438,7 +438,7 @@ def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""): config = vllm_config.model_config.hf_config quant_config = vllm_config.quant_config - self.config: PretrainedConfig = config + self.config: PreTrainedConfig = config with self._mark_language_model(vllm_config): self.llm = init_vllm_registered_model( diff --git a/vllm/model_executor/models/paddleocr_vl.py b/vllm/model_executor/models/paddleocr_vl.py index 69dae97d8d79..1fde4cd0a11b 100644 --- a/vllm/model_executor/models/paddleocr_vl.py +++ b/vllm/model_executor/models/paddleocr_vl.py @@ -23,7 +23,7 @@ import torch import torch.nn as nn from einops import rearrange -from transformers import BaseImageProcessor, BatchFeature, PretrainedConfig +from transformers import BaseImageProcessor, BatchFeature, PreTrainedConfig from transformers.activations import GELUActivation from transformers.image_utils import ChannelDimension from transformers.modeling_outputs import ( @@ -318,8 +318,8 @@ def get_replacement(item_idx: int, image_processor): class Projector(nn.Module): def __init__( self, - text_config: PretrainedConfig, - vision_config: PretrainedConfig, + text_config: PreTrainedConfig, + vision_config: PreTrainedConfig, prefix: str = "", ): super().__init__() @@ -392,7 +392,7 @@ class PaddleOCRImagePixelInputs(TensorSchema): class SiglipVisionEmbeddings(nn.Module): - def __init__(self, config: PretrainedConfig): + def __init__(self, config: PreTrainedConfig): super().__init__() self.config = config self.embed_dim = config.hidden_size @@ -682,7 +682,7 @@ def forward(self, seqlen: int) -> torch.Tensor: class SiglipEncoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ): @@ -735,7 +735,7 @@ def forward( class SiglipEncoder(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ): @@ -837,7 +837,7 @@ def forward( class SiglipVisionTransformer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ): diff --git a/vllm/model_executor/models/parakeet.py b/vllm/model_executor/models/parakeet.py index 2dd527bb65b0..652746e5ae6c 100644 --- a/vllm/model_executor/models/parakeet.py +++ b/vllm/model_executor/models/parakeet.py @@ -10,7 +10,7 @@ import torch import torch.nn as nn from transformers import ParakeetEncoder as HFParakeetEncoder -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from transformers.audio_utils import mel_filter_bank from vllm.logger import init_logger @@ -47,7 +47,7 @@ def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: class ProjectedParakeet(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, *, dtype: torch.dtype, llm_hidden_size: int, @@ -135,7 +135,7 @@ def _can_skip_missing_named_param(self, target_name: str) -> bool: class ParakeetExtractor: - def __init__(self, config: PretrainedConfig) -> None: + def __init__(self, config: PreTrainedConfig) -> None: self.config = ExtractorConfig.from_hf_config(config) """`config` is named *exactly* for `._get_subsampling_output_length` below""" self._clip_target_samples = int( @@ -329,6 +329,6 @@ def __call__( } @staticmethod - def audio_length(raw_config: PretrainedConfig, audio_tokens: int) -> int: + def audio_length(raw_config: PreTrainedConfig, audio_tokens: int) -> int: config = ExtractorConfig.from_hf_config(raw_config) return int(audio_tokens * config.subsampling_factor * config.hop_length) diff --git a/vllm/model_executor/models/phi3v.py b/vllm/model_executor/models/phi3v.py index 2486dc3e8c79..e300ef6a4419 100644 --- a/vllm/model_executor/models/phi3v.py +++ b/vllm/model_executor/models/phi3v.py @@ -24,7 +24,7 @@ from transformers import ( BatchFeature, CLIPVisionConfig, - PretrainedConfig, + PreTrainedConfig, ProcessorMixin, ) @@ -95,7 +95,7 @@ def _init_img_processor( - hf_config: PretrainedConfig, + hf_config: PreTrainedConfig, quant_config: QuantizationConfig | None, prefix: str = "", ) -> CLIPVisionModel: @@ -165,7 +165,7 @@ class Phi3HDImageEmbedding(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, prefix: str = "", ) -> None: diff --git a/vllm/model_executor/models/phi4mm.py b/vllm/model_executor/models/phi4mm.py index 86cb4859678f..852445597582 100644 --- a/vllm/model_executor/models/phi4mm.py +++ b/vllm/model_executor/models/phi4mm.py @@ -10,7 +10,7 @@ import torch.nn as nn from transformers import ( BatchFeature, - PretrainedConfig, + PreTrainedConfig, ProcessorMixin, SequenceFeatureExtractor, SiglipVisionConfig, @@ -123,7 +123,7 @@ class Phi4MMImageEncoder(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, prefix: str = "", model_dir: str = "", diff --git a/vllm/model_executor/models/phi4mm_audio.py b/vllm/model_executor/models/phi4mm_audio.py index 8f6df6a548e1..2a16b4ca7522 100644 --- a/vllm/model_executor/models/phi4mm_audio.py +++ b/vllm/model_executor/models/phi4mm_audio.py @@ -18,7 +18,7 @@ CheckpointWrapper, ) from torch.distributed.fsdp.fully_sharded_data_parallel import FullyShardedDataParallel -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.model_executor.models.phi4mm_utils import ( AbsolutePositionalEncoding, @@ -1152,7 +1152,7 @@ def forward( class AudioEmbedding(nn.Module): """Image embedding.""" - def __init__(self, config: PretrainedConfig, **kwargs: Any) -> None: + def __init__(self, config: PreTrainedConfig, **kwargs: Any) -> None: super().__init__() self.config = config # n_embed or hidden_size for text LM diff --git a/vllm/model_executor/models/phi4siglip.py b/vllm/model_executor/models/phi4siglip.py index 078f3155c227..e9ad4a795de7 100644 --- a/vllm/model_executor/models/phi4siglip.py +++ b/vllm/model_executor/models/phi4siglip.py @@ -11,7 +11,7 @@ import torch import torch.nn as nn -from transformers import BatchFeature, PretrainedConfig, Siglip2VisionConfig +from transformers import BatchFeature, PreTrainedConfig, Siglip2VisionConfig from vllm.config import VllmConfig from vllm.config.multimodal import MultiModalDummyOptions @@ -235,7 +235,7 @@ def get_placeholder_str(cls, modality: str, i: int) -> str | None: def __init__(self, *, vllm_config: VllmConfig, prefix: str = "") -> None: super().__init__() - config: PretrainedConfig = vllm_config.model_config.hf_config + config: PreTrainedConfig = vllm_config.model_config.hf_config quant_config = vllm_config.quant_config self.config = config diff --git a/vllm/model_executor/models/phimoe.py b/vllm/model_executor/models/phimoe.py index e690bee2d235..2cf41a701f08 100644 --- a/vllm/model_executor/models/phimoe.py +++ b/vllm/model_executor/models/phimoe.py @@ -29,7 +29,7 @@ import torch from torch import nn -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig @@ -62,7 +62,7 @@ ) -class PhiMoEConfig(PretrainedConfig): +class PhiMoEConfig(PreTrainedConfig): model_type = "phimoe" keys_to_ignore_at_inference = ["past_key_values"] diff --git a/vllm/model_executor/models/plamo3.py b/vllm/model_executor/models/plamo3.py index 8d870abe2f02..d30a257574e4 100644 --- a/vllm/model_executor/models/plamo3.py +++ b/vllm/model_executor/models/plamo3.py @@ -8,7 +8,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import VllmConfig @@ -54,7 +54,7 @@ # Only used for type hinting. if TYPE_CHECKING: - class Plamo3Config(PretrainedConfig): # type: ignore + class Plamo3Config(PreTrainedConfig): # type: ignore model_type: str = "plamo3" hidden_size: int diff --git a/vllm/model_executor/models/qianfan_ocr.py b/vllm/model_executor/models/qianfan_ocr.py index ef2bec1e2900..8367737c9597 100644 --- a/vllm/model_executor/models/qianfan_ocr.py +++ b/vllm/model_executor/models/qianfan_ocr.py @@ -5,7 +5,7 @@ # The model architecture and weights are fully compatible with InternVLChatModel, # only the config model_type / architectures strings differ. -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.model_executor.layers.quantization import QuantizationConfig from vllm.model_executor.layers.quantization.fp8 import Fp8Config @@ -67,7 +67,7 @@ class QianfanOCRForConditionalGeneration(InternVLChatModel): """ def _patch_quant_config( - self, config: PretrainedConfig, quant_config: QuantizationConfig + self, config: PreTrainedConfig, quant_config: QuantizationConfig ) -> None: super()._patch_quant_config(config, quant_config) # ignore vit layers to preserve model performance diff --git a/vllm/model_executor/models/qwen2_5_omni_thinker.py b/vllm/model_executor/models/qwen2_5_omni_thinker.py index 0613d9f8c541..0ce2c37313ed 100644 --- a/vllm/model_executor/models/qwen2_5_omni_thinker.py +++ b/vllm/model_executor/models/qwen2_5_omni_thinker.py @@ -29,7 +29,7 @@ import numpy as np import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from transformers.feature_extraction_utils import BatchFeature from transformers.models.qwen2_5_omni.configuration_qwen2_5_omni import ( Qwen2_5OmniConfig, @@ -375,7 +375,6 @@ def get_hf_config(self): def get_hf_processor(self, **kwargs: object) -> Qwen2_5OmniProcessor: return self.ctx.get_hf_processor( Qwen2_5OmniProcessor, - use_fast=kwargs.pop("use_fast", True), **kwargs, ) @@ -693,7 +692,7 @@ def _maybe_apply_prompt_updates( @classmethod def omni_get_updates_use_audio_in_video( cls, - thinker_config: PretrainedConfig, + thinker_config: PreTrainedConfig, audio_len: int, video_grid_thw: list[int] | torch.Tensor, video_second_per_grid_t: float, diff --git a/vllm/model_executor/models/qwen2_5_vl.py b/vllm/model_executor/models/qwen2_5_vl.py index 381ffb03c3d3..28ab566a4b6a 100644 --- a/vllm/model_executor/models/qwen2_5_vl.py +++ b/vllm/model_executor/models/qwen2_5_vl.py @@ -1183,7 +1183,6 @@ def get_hf_config(self): def get_hf_processor(self, **kwargs: object) -> Qwen2_5_VLProcessor: return self.ctx.get_hf_processor( Qwen2_5_VLProcessor, - use_fast=kwargs.pop("use_fast", True), **kwargs, ) diff --git a/vllm/model_executor/models/qwen2_vl.py b/vllm/model_executor/models/qwen2_vl.py index 4bbddb0167c7..355c61dd4caa 100644 --- a/vllm/model_executor/models/qwen2_vl.py +++ b/vllm/model_executor/models/qwen2_vl.py @@ -848,7 +848,6 @@ def get_hf_config(self): def get_hf_processor(self, **kwargs: object) -> Qwen2VLProcessor: return self.ctx.get_hf_processor( Qwen2VLProcessor, - use_fast=kwargs.pop("use_fast", True), **kwargs, ) diff --git a/vllm/model_executor/models/qwen3_asr.py b/vllm/model_executor/models/qwen3_asr.py index 241e26fa4e72..cf8f37cebc06 100644 --- a/vllm/model_executor/models/qwen3_asr.py +++ b/vllm/model_executor/models/qwen3_asr.py @@ -189,7 +189,6 @@ def get_hf_config(self): def get_hf_processor(self, **kwargs: object) -> Qwen3ASRProcessor: processor = self.ctx.get_hf_processor( Qwen3ASRProcessor, - use_fast=kwargs.pop("use_fast", True), **kwargs, ) if not hasattr(processor, "audio_token"): diff --git a/vllm/model_executor/models/qwen3_omni_moe_thinker.py b/vllm/model_executor/models/qwen3_omni_moe_thinker.py index db3e8936ecc4..bd48b554cd04 100755 --- a/vllm/model_executor/models/qwen3_omni_moe_thinker.py +++ b/vllm/model_executor/models/qwen3_omni_moe_thinker.py @@ -30,7 +30,7 @@ import torch import torch.nn as nn import torch.nn.functional as F -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from transformers.feature_extraction_utils import BatchFeature from transformers.models.qwen3_omni_moe.configuration_qwen3_omni_moe import ( Qwen3OmniMoeAudioEncoderConfig, @@ -1169,7 +1169,6 @@ def get_hf_config(self): def get_hf_processor(self, **kwargs: object) -> Qwen3OmniMoeProcessor: processor = self.ctx.get_hf_processor( Qwen3OmniMoeProcessor, - use_fast=kwargs.pop("use_fast", True), **kwargs, ) if not hasattr(processor, "audio_token"): @@ -1368,7 +1367,7 @@ def _maybe_apply_prompt_updates( def get_updates_use_audio_in_video( self, - thinker_config: PretrainedConfig, + thinker_config: PreTrainedConfig, audio_len: int, video_grid_thw: list[int] | torch.Tensor, video_second_per_grid_t: float, diff --git a/vllm/model_executor/models/qwen3_vl.py b/vllm/model_executor/models/qwen3_vl.py index f7b553926cc8..619f2aaad43e 100644 --- a/vllm/model_executor/models/qwen3_vl.py +++ b/vllm/model_executor/models/qwen3_vl.py @@ -915,7 +915,6 @@ def get_hf_config(self): def get_hf_processor(self, **kwargs: object) -> Qwen3VLProcessor: return self.ctx.get_hf_processor( Qwen3VLProcessor, - use_fast=kwargs.pop("use_fast", True), **kwargs, ) diff --git a/vllm/model_executor/models/radio.py b/vllm/model_executor/models/radio.py index bc895913240d..355bfb056a9f 100644 --- a/vllm/model_executor/models/radio.py +++ b/vllm/model_executor/models/radio.py @@ -18,7 +18,7 @@ import torch.nn as nn import torch.nn.functional as F from einops import rearrange -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.model_executor.layers.quantization import QuantizationConfig from vllm.model_executor.model_loader.weight_utils import default_weight_loader @@ -109,7 +109,7 @@ def forward(self, x: torch.Tensor): class ViTPatchGenerator(nn.Module): def __init__( self, - # config: PretrainedConfig, + # config: PreTrainedConfig, patch_size: int, embed_dim: int, input_dims: input_dim_t, @@ -535,7 +535,7 @@ class RadioInternVisionModel(nn.Module): def __init__( self, - config: PretrainedConfig = None, + config: PreTrainedConfig = None, quant_config: QuantizationConfig | None = None, *, num_hidden_layers_override: int | None = None, @@ -670,7 +670,7 @@ class RadioModel(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, *, num_hidden_layers_override: int | None = None, diff --git a/vllm/model_executor/models/seed_oss.py b/vllm/model_executor/models/seed_oss.py index df0ed7e72e5a..976a35a78ae6 100644 --- a/vllm/model_executor/models/seed_oss.py +++ b/vllm/model_executor/models/seed_oss.py @@ -28,7 +28,7 @@ import torch from torch import nn -from transformers import PretrainedConfig as SeedOssConfig +from transformers import PreTrainedConfig as SeedOssConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig diff --git a/vllm/model_executor/models/siglip2navit.py b/vllm/model_executor/models/siglip2navit.py index 1d0c3c8d96f9..ef0181002b1f 100644 --- a/vllm/model_executor/models/siglip2navit.py +++ b/vllm/model_executor/models/siglip2navit.py @@ -9,7 +9,7 @@ from torch import nn from torch.nn import functional as F from transformers import Siglip2VisionConfig -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from vllm.distributed import divide, get_tensor_model_parallel_world_size from vllm.model_executor.layers.activation import get_act_fn @@ -47,7 +47,7 @@ def forward(self, seqlen: int) -> torch.Tensor: class Siglip2VisionEmbeddings(nn.Module): - def __init__(self, config: PretrainedConfig): + def __init__(self, config: PreTrainedConfig): super().__init__() self.config = config self.embed_dim = config.hidden_size @@ -364,7 +364,7 @@ class Siglip2Encoder(nn.Module): self attention layers. Each layer is a [`Siglip2EncoderLayer`]. Args: - config: PretrainedConfig + config: PreTrainedConfig """ diff --git a/vllm/model_executor/models/skyworkr1v.py b/vllm/model_executor/models/skyworkr1v.py index 961ee7acb86f..edf7fbeb4795 100644 --- a/vllm/model_executor/models/skyworkr1v.py +++ b/vllm/model_executor/models/skyworkr1v.py @@ -12,7 +12,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import VllmConfig from vllm.model_executor.layers.linear import ReplicatedLinear @@ -200,7 +200,7 @@ def __init__(self, *, vllm_config: VllmConfig, prefix: str = "") -> None: ) def _patch_quant_config( - self, config: PretrainedConfig, quant_config: QuantizationConfig | None + self, config: PreTrainedConfig, quant_config: QuantizationConfig | None ): # the awq models from OpenGVLab missing `modules_to_not_convert` # patch the quant_config to add `modules_to_not_convert` back @@ -214,7 +214,7 @@ def _patch_quant_config( def _init_vision_model( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, *, prefix: str, @@ -236,7 +236,7 @@ def _init_vision_model( def _init_mlp1( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None, prefix: str = "", ) -> nn.Module: diff --git a/vllm/model_executor/models/solar.py b/vllm/model_executor/models/solar.py index cb175f7c7a3e..194d7b8ffe40 100644 --- a/vllm/model_executor/models/solar.py +++ b/vllm/model_executor/models/solar.py @@ -28,7 +28,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig @@ -102,7 +102,7 @@ def forward(self, x): class SolarAttention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, hidden_size: int, num_heads: int, num_kv_heads: int, @@ -185,7 +185,7 @@ def forward( class SolarDecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, prefix: str = "", diff --git a/vllm/model_executor/models/step3p5.py b/vllm/model_executor/models/step3p5.py index 3c1f6c556322..b56d4d3ed8d8 100644 --- a/vllm/model_executor/models/step3p5.py +++ b/vllm/model_executor/models/step3p5.py @@ -49,7 +49,7 @@ if typing.TYPE_CHECKING: from vllm.transformers_utils.configs.step3p5 import Step3p5Config else: - from transformers import PretrainedConfig as Step3p5Config + from transformers import PreTrainedConfig as Step3p5Config from .interfaces import MixtureOfExperts, SupportsPP from .utils import ( diff --git a/vllm/model_executor/models/step3p5_mtp.py b/vllm/model_executor/models/step3p5_mtp.py index ac78384b601e..d17b579c1a71 100644 --- a/vllm/model_executor/models/step3p5_mtp.py +++ b/vllm/model_executor/models/step3p5_mtp.py @@ -4,7 +4,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import VllmConfig from vllm.logger import init_logger @@ -30,7 +30,7 @@ class SharedHead(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ) -> None: diff --git a/vllm/model_executor/models/transformers/base.py b/vllm/model_executor/models/transformers/base.py index ff8fc98dbc53..ec0f474ee3e7 100644 --- a/vllm/model_executor/models/transformers/base.py +++ b/vllm/model_executor/models/transformers/base.py @@ -29,7 +29,7 @@ import transformers from packaging.version import Version from torch import nn -from transformers import AutoModel, PretrainedConfig +from transformers import AutoModel, PreTrainedConfig from transformers.conversion_mapping import ( WeightRenaming, get_model_conversion_mapping, @@ -433,9 +433,9 @@ def pipeline_parallel(self): def _vocab_embeddings(self) -> set[nn.Embedding]: """The `nn.Embedding`s in `self.model` which hold a vocab table.""" - def vocab_sizes(config: PretrainedConfig): + def vocab_sizes(config: PreTrainedConfig): for key, value in vars(config).items(): - if isinstance(value, PretrainedConfig): + if isinstance(value, PreTrainedConfig): yield from vocab_sizes(value) elif "vocab_size" in key and isinstance(value, int): yield value diff --git a/vllm/model_executor/models/utils.py b/vllm/model_executor/models/utils.py index 0df12c81e5ab..6375e0572ea1 100644 --- a/vllm/model_executor/models/utils.py +++ b/vllm/model_executor/models/utils.py @@ -32,7 +32,7 @@ ) if TYPE_CHECKING: - from transformers import PretrainedConfig + from transformers import PreTrainedConfig from transformers.conversion_mapping import WeightRenaming from vllm.config.model import ModelConfig @@ -610,7 +610,7 @@ def init_vllm_registered_model( vllm_config: VllmConfig, *, prefix: str = "", - hf_config: "PretrainedConfig | None" = None, + hf_config: "PreTrainedConfig | None" = None, architectures: list[str] | None = None, ) -> nn.Module: """Helper function to initialize an inner model registered to vLLM, diff --git a/vllm/model_executor/models/vision.py b/vllm/model_executor/models/vision.py index f74a66cdfa3b..b65171421bc7 100644 --- a/vllm/model_executor/models/vision.py +++ b/vllm/model_executor/models/vision.py @@ -9,7 +9,7 @@ import torch import torch.nn as nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import ModelConfig, MultiModalConfig, get_current_vllm_config_or_none from vllm.distributed import ( @@ -25,7 +25,7 @@ logger = init_logger(__name__) -_C = TypeVar("_C", bound=PretrainedConfig) +_C = TypeVar("_C", bound=PreTrainedConfig) class _RootConfig(Protocol[_C]): @@ -62,7 +62,7 @@ def get_patch_grid_length(self) -> int: class VisionLanguageConfig(Protocol): - vision_config: Final[PretrainedConfig] + vision_config: Final[PreTrainedConfig] def get_vision_encoder_info(hf_config: VisionLanguageConfig) -> VisionEncoderInfo: diff --git a/vllm/models/dots3_note/nvidia/vision.py b/vllm/models/dots3_note/nvidia/vision.py index 4aba14d3c671..774d88830125 100644 --- a/vllm/models/dots3_note/nvidia/vision.py +++ b/vllm/models/dots3_note/nvidia/vision.py @@ -9,7 +9,7 @@ import torch.nn.functional as F from torch import nn from torch.nn import LayerNorm -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from transformers.modeling_utils import PreTrainedModel from vllm.third_party.deep_gemm import per_block_cast_to_fp8 @@ -27,7 +27,7 @@ from .vision_moe import note_vision_fused_moe_fp8 -class DotsMoEVitConfig(PretrainedConfig): +class DotsMoEVitConfig(PreTrainedConfig): model_type: str = "dots_moe_vit" def __init__( diff --git a/vllm/models/hy_v4/amd/model.py b/vllm/models/hy_v4/amd/model.py index 753ac92a3878..772e4e5b74ff 100644 --- a/vllm/models/hy_v4/amd/model.py +++ b/vllm/models/hy_v4/amd/model.py @@ -30,7 +30,7 @@ import regex as re import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.compilation.decorators import support_torch_compile from vllm.config import CacheConfig, VllmConfig @@ -75,7 +75,7 @@ logger = init_logger(__name__) -def _normalize_hyv4_config(config: PretrainedConfig) -> PretrainedConfig: +def _normalize_hyv4_config(config: PreTrainedConfig) -> PreTrainedConfig: """Populate the aliases consumed by the shared MoE implementation.""" config.router_scaling_factor = config.routed_scaling_factor config.num_experts = config.n_routed_experts @@ -95,7 +95,7 @@ class HYV4DecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, vllm_config: VllmConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, diff --git a/vllm/models/hy_v4/nvidia/attention.py b/vllm/models/hy_v4/nvidia/attention.py index 7f963cc707ee..0e7fb61173d1 100644 --- a/vllm/models/hy_v4/nvidia/attention.py +++ b/vllm/models/hy_v4/nvidia/attention.py @@ -18,7 +18,7 @@ import regex as re import torch from torch import nn -from transformers import DeepseekV2Config, DeepseekV3Config, PretrainedConfig +from transformers import DeepseekV2Config, DeepseekV3Config, PreTrainedConfig from vllm.compilation.breakable_cudagraph import eager_break_during_capture from vllm.config import CacheConfig, VllmConfig, get_current_vllm_config @@ -51,7 +51,7 @@ _WEIGHT_LAYER_INDEX_RE = re.compile(r"(?:^|\.)layers\.(\d+)(?:\.|$)") -def compute_skip_topk_layers(config: PretrainedConfig) -> set[int]: +def compute_skip_topk_layers(config: PreTrainedConfig) -> set[int]: """Return the backbone layers that reuse a previous layer's top-k indices. A "shared" indexer layer performs sparse attention with the indices computed @@ -280,7 +280,7 @@ class HYV4MLAAttention(nn.Module): def __init__( self, vllm_config: VllmConfig, - config: PretrainedConfig, + config: PreTrainedConfig, hidden_size: int, num_heads: int, qk_nope_head_dim: int, diff --git a/vllm/models/hy_v4/nvidia/hc.py b/vllm/models/hy_v4/nvidia/hc.py index 5c7fcc931ef4..617b361e754f 100644 --- a/vllm/models/hy_v4/nvidia/hc.py +++ b/vllm/models/hy_v4/nvidia/hc.py @@ -17,7 +17,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.model_executor.layers.hpc import HpcIHCHead, HpcIHCPost, HpcIHCPre from vllm.model_executor.layers.linear import ReplicatedLinear @@ -40,7 +40,7 @@ class HYV4HCPreLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, hidden_dim: int, hc_mult: int = 4, magnitude: float = 2.0, @@ -163,7 +163,7 @@ class HYV4HCPostLayer(nn.Module): y[n, i, d] = post[n, i] * x[n, d] + residual[n, i, d] """ - def __init__(self, config: PretrainedConfig): + def __init__(self, config: PreTrainedConfig): super().__init__() self.config = config @@ -213,7 +213,7 @@ class HYV4HCHeadLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, hidden_size: int, hc_mult: int = 4, hc_eps: float = 1e-6, @@ -301,7 +301,7 @@ class HYV4HCLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, layer_idx: int, init_std: float = 6e-3, base_noise_std: float = 0.0, diff --git a/vllm/models/hy_v4/nvidia/model.py b/vllm/models/hy_v4/nvidia/model.py index b9988da377ef..e9313989fa57 100644 --- a/vllm/models/hy_v4/nvidia/model.py +++ b/vllm/models/hy_v4/nvidia/model.py @@ -30,7 +30,7 @@ import regex as re import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import CacheConfig, VllmConfig from vllm.distributed import ( @@ -74,7 +74,7 @@ logger = init_logger(__name__) -def _normalize_hyv4_config(config: PretrainedConfig) -> PretrainedConfig: +def _normalize_hyv4_config(config: PreTrainedConfig) -> PreTrainedConfig: """Populate the aliases consumed by the shared MoE implementation.""" config.router_scaling_factor = config.routed_scaling_factor config.num_experts = config.n_routed_experts @@ -94,7 +94,7 @@ class HYV4DecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, vllm_config: VllmConfig, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, diff --git a/vllm/models/hy_v4/nvidia/moe.py b/vllm/models/hy_v4/nvidia/moe.py index be8e49f21eaf..4c5907f76501 100644 --- a/vllm/models/hy_v4/nvidia/moe.py +++ b/vllm/models/hy_v4/nvidia/moe.py @@ -4,7 +4,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import get_current_vllm_config from vllm.distributed import get_ep_group, get_tensor_model_parallel_world_size @@ -87,7 +87,7 @@ class HYV4MoEFused(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", enable_eplb: bool = False, diff --git a/vllm/models/hy_v4/nvidia/mtp.py b/vllm/models/hy_v4/nvidia/mtp.py index 6c9ea11e81d4..8683777cf41f 100644 --- a/vllm/models/hy_v4/nvidia/mtp.py +++ b/vllm/models/hy_v4/nvidia/mtp.py @@ -8,7 +8,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.config import CacheConfig, ModelConfig, VllmConfig from vllm.distributed import ( @@ -59,7 +59,7 @@ def _get_spec_layer_idx_from_weight_name( - config: PretrainedConfig, weight_name: str + config: PreTrainedConfig, weight_name: str ) -> int | None: """Return the MTP layer index a checkpoint weight belongs to, or None. @@ -147,7 +147,7 @@ def _prepare_mtp_fp8_expert_scale( def _create_mtp_quant_config( - hf_config: PretrainedConfig, + hf_config: PreTrainedConfig, backbone_quant_config: QuantizationConfig | None = None, ) -> QuantizationConfig | None: """Create the quantization config for the MTP layers. @@ -303,7 +303,7 @@ class HYV4SharedHead(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, ) -> None: super().__init__() @@ -329,7 +329,7 @@ class HYV4MultiTokenPredictorLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, prefix: str, vllm_config: VllmConfig, model_config: ModelConfig, diff --git a/vllm/models/inkling/configs.py b/vllm/models/inkling/configs.py index 2f8a247aec6b..58ed5ea00a82 100644 --- a/vllm/models/inkling/configs.py +++ b/vllm/models/inkling/configs.py @@ -8,10 +8,10 @@ from typing import Any, ClassVar, Literal, cast import torch -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig -class InklingModelConfig(PretrainedConfig): +class InklingModelConfig(PreTrainedConfig): model_type = "inkling_model" keys_to_ignore_at_inference = ["past_key_values"] @@ -215,7 +215,7 @@ def tp_local_kv_conv_dim(num_kv_heads: int, head_dim: int) -> int: return TMLConvCacheParams(shape=shape, layers=self.conv_layer_ids, dtype=dtype) -class InklingAudioConfig(PretrainedConfig): +class InklingAudioConfig(PreTrainedConfig): model_type = "inkling_audio_model" def __init__( @@ -255,7 +255,7 @@ def __init__( super().__init__(**kwargs) -class InklingVisionConfig(PretrainedConfig): +class InklingVisionConfig(PreTrainedConfig): model_type = "inkling_vision_model" def __init__( @@ -295,10 +295,10 @@ def __init__( super().__init__(**kwargs) -class InklingMMConfig(PretrainedConfig): +class InklingMMConfig(PreTrainedConfig): model_type = "inkling_mm_model" keys_to_ignore_at_inference = ["past_key_values"] - sub_configs: ClassVar[dict[str, type[PretrainedConfig]]] = { + sub_configs: ClassVar[dict[str, type[PreTrainedConfig]]] = { "text_config": InklingModelConfig, "audio_config": InklingAudioConfig, "vision_config": InklingVisionConfig, diff --git a/vllm/models/minimax_m3/amd/model.py b/vllm/models/minimax_m3/amd/model.py index 88651e944a82..4871e66a9ab3 100644 --- a/vllm/models/minimax_m3/amd/model.py +++ b/vllm/models/minimax_m3/amd/model.py @@ -21,7 +21,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm import _custom_ops as ops from vllm import envs @@ -134,7 +134,7 @@ logger = init_logger(__name__) -def _sparse_attention_layer_ids(config: PretrainedConfig) -> set[int]: +def _sparse_attention_layer_ids(config: PreTrainedConfig) -> set[int]: """Layer ids whose attention runs the extra sparse "index" branch.""" cfg = getattr(config, "sparse_attention_config", None) if not cfg: @@ -145,7 +145,7 @@ def _sparse_attention_layer_ids(config: PretrainedConfig) -> set[int]: return {i for i, f in enumerate(freq) if f != 0} -def _sparse_attention_layer_ordinals(config: PretrainedConfig) -> dict[int, int]: +def _sparse_attention_layer_ordinals(config: PreTrainedConfig) -> dict[int, int]: """Map each sparse-attention layer id to its ordinal among sparse layers.""" return { lid: ordinal @@ -153,7 +153,7 @@ def _sparse_attention_layer_ordinals(config: PretrainedConfig) -> dict[int, int] } -def _should_skip_index_topk(config: PretrainedConfig, layer_id: int) -> bool: +def _should_skip_index_topk(config: PreTrainedConfig, layer_id: int) -> bool: """ATOM ``index_topk_freq`` (cross-layer index sharing). Only 1 of every ``index_topk_freq`` sparse-attention layers recomputes the @@ -176,7 +176,7 @@ def _should_skip_index_topk(config: PretrainedConfig, layer_id: int) -> bool: return max(ordinal - offset, 0) % freq != 0 -def _is_moe_layer(config: PretrainedConfig, layer_id: int) -> bool: +def _is_moe_layer(config: PreTrainedConfig, layer_id: int) -> bool: """Whether this layer's MLP is a sparse MoE block (vs a dense MLP).""" moe_layer_freq = getattr(config, "moe_layer_freq", None) if moe_layer_freq is None: @@ -184,7 +184,7 @@ def _is_moe_layer(config: PretrainedConfig, layer_id: int) -> bool: return moe_layer_freq[layer_id] != 0 -def _build_rotary_emb(config: PretrainedConfig, head_dim: int): +def _build_rotary_emb(config: PreTrainedConfig, head_dim: int): """Build the (partial NeoX) RoPE, honoring an optional ``rope_scaling`` config. Without scaling the cos/sin cache is sized to ``max_position_embeddings`` @@ -262,7 +262,7 @@ class MiniMaxM3MLP(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, intermediate_size: int, quant_config: QuantizationConfig | None = None, reduce_results: bool = True, @@ -338,7 +338,7 @@ class MiniMaxM3MoE(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, layer_id: int, quant_config: QuantizationConfig | None = None, prefix: str = "", @@ -488,7 +488,7 @@ class MiniMaxM3Attention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, layer_id: int, quant_config: QuantizationConfig | None = None, prefix: str = "", @@ -623,7 +623,7 @@ class MiniMaxM3SparseAttention(nn.Module, AttentionLayerBase): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, layer_id: int, quant_config: QuantizationConfig | None = None, prefix: str = "", @@ -1264,7 +1264,7 @@ def _run_attention( class MiniMaxM3DecoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, prefix: str, cache_config: CacheConfig | None = None, quant_config: QuantizationConfig | None = None, @@ -1738,7 +1738,7 @@ def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""): with self._mark_tower_model(vllm_config, {"image", "video"}): vision_config = config.vision_config self.vision_tower = MiniMaxVLVisionModel( - config=PretrainedConfig.from_dict(vision_config), + config=PreTrainedConfig.from_dict(vision_config), text_hidden_size=text_hidden_size, projector_hidden_size=projector_hidden_size, quant_config=self.quant_config, diff --git a/vllm/models/minimax_m3/common/vision_tower.py b/vllm/models/minimax_m3/common/vision_tower.py index 44a0964f7b41..468fee42371d 100644 --- a/vllm/models/minimax_m3/common/vision_tower.py +++ b/vllm/models/minimax_m3/common/vision_tower.py @@ -6,7 +6,7 @@ import torch import torch.nn as nn from einops import rearrange -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.distributed import parallel_state from vllm.distributed import utils as dist_utils @@ -44,7 +44,7 @@ class MiniMaxVLPatchEmbed(nn.Module): and projects each to a hidden-size embedding. """ - def __init__(self, config: PretrainedConfig) -> None: + def __init__(self, config: PreTrainedConfig) -> None: super().__init__() compression = config.img_token_compression_config temporal_patch_size = compression.get("temporal_patch_size", 2) @@ -232,7 +232,7 @@ class MiniMaxVLEncoderLayer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, quant_config: QuantizationConfig | None = None, prefix: str = "", ) -> None: @@ -295,7 +295,7 @@ def forward( class MiniMaxVLEncoder(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, num_hidden_layers_override: int | None = None, quant_config: QuantizationConfig | None = None, prefix: str = "", @@ -349,7 +349,7 @@ class MiniMaxVLVisionTransformer(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, num_hidden_layers_override: int | None = None, require_post_norm: bool | None = None, quant_config: QuantizationConfig | None = None, @@ -679,7 +679,7 @@ class MiniMaxVLVisionModel(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, text_hidden_size: int, projector_hidden_size: int | None = None, quant_config: QuantizationConfig | None = None, diff --git a/vllm/models/minimax_m3/nvidia/model.py b/vllm/models/minimax_m3/nvidia/model.py index 970b06d407ea..4fb260330f14 100644 --- a/vllm/models/minimax_m3/nvidia/model.py +++ b/vllm/models/minimax_m3/nvidia/model.py @@ -16,7 +16,7 @@ import torch from torch import nn -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm import _custom_ops as ops from vllm.compilation.breakable_cudagraph import eager_break_during_capture @@ -92,7 +92,7 @@ ) -def _sparse_attention_layer_ids(config: PretrainedConfig) -> set[int]: +def _sparse_attention_layer_ids(config: PreTrainedConfig) -> set[int]: """Layer ids whose attention runs the extra sparse "index" branch.""" cfg = getattr(config, "sparse_attention_config", None) if not cfg: @@ -103,7 +103,7 @@ def _sparse_attention_layer_ids(config: PretrainedConfig) -> set[int]: return {i for i, f in enumerate(freq) if f != 0} -def _is_moe_layer(config: PretrainedConfig, layer_id: int) -> bool: +def _is_moe_layer(config: PreTrainedConfig, layer_id: int) -> bool: """Whether this layer's MLP is a sparse MoE block (vs a dense MLP).""" moe_layer_freq = getattr(config, "moe_layer_freq", None) if moe_layer_freq is None: @@ -147,7 +147,7 @@ class MiniMaxM3MLP(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, intermediate_size: int, quant_config: QuantizationConfig | None = None, reduce_results: bool = True, @@ -194,7 +194,7 @@ class MiniMaxM3MoE(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, layer_id: int, quant_config: QuantizationConfig | None = None, reduce_results: bool = True, @@ -290,7 +290,7 @@ class MiniMaxM3Attention(nn.Module): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, layer_id: int, quant_config: QuantizationConfig | None = None, prefix: str = "", @@ -403,7 +403,7 @@ class MiniMaxM3SparseAttention(nn.Module, AttentionLayerBase): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, layer_id: int, quant_config: QuantizationConfig | None = None, prefix: str = "", @@ -1130,7 +1130,7 @@ def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""): with self._mark_tower_model(vllm_config, {"image", "video"}): vision_config = config.vision_config self.vision_tower = MiniMaxVLVisionModel( - config=PretrainedConfig.from_dict(vision_config), + config=PreTrainedConfig.from_dict(vision_config), text_hidden_size=text_hidden_size, projector_hidden_size=projector_hidden_size, quant_config=self.quant_config, diff --git a/vllm/models/qwen4_exp/config.py b/vllm/models/qwen4_exp/config.py index 341ddb4d3c8f..dfac816d5e2c 100644 --- a/vllm/models/qwen4_exp/config.py +++ b/vllm/models/qwen4_exp/config.py @@ -4,7 +4,7 @@ from typing import Any, ClassVar, cast -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from transformers.models.qwen3_vl.configuration_qwen3_vl import ( Qwen3VLVisionConfig, ) @@ -201,9 +201,9 @@ def ngram_context_len(self) -> int: return max(int(self.ngram_size) - 1, 0) -class Qwen4ExpConfig(PretrainedConfig): +class Qwen4ExpConfig(PreTrainedConfig): model_type = "qwen4_exp" - sub_configs: ClassVar[dict[str, type[PretrainedConfig]]] = { + sub_configs: ClassVar[dict[str, type[PreTrainedConfig]]] = { "vision_config": Qwen4ExpVisionConfig, "text_config": Qwen4ExpTextConfig, } diff --git a/vllm/multimodal/processing/context.py b/vllm/multimodal/processing/context.py index 359c43700d14..db1cffefd6ea 100644 --- a/vllm/multimodal/processing/context.py +++ b/vllm/multimodal/processing/context.py @@ -26,14 +26,14 @@ from vllm.utils.mistral import is_mistral_tokenizer if TYPE_CHECKING: - from transformers.configuration_utils import PretrainedConfig + from transformers.configuration_utils import PreTrainedConfig from transformers.feature_extraction_utils import BatchFeature from transformers.processing_utils import ProcessorMixin from vllm.config import ModelConfig from vllm.renderers import TokenizeParams else: - PretrainedConfig = object + PreTrainedConfig = object BatchFeature = object ProcessorMixin = object @@ -123,7 +123,7 @@ def get_stats_dict(self): _T = TypeVar("_T") -_C = TypeVar("_C", bound=PretrainedConfig, default=PretrainedConfig) +_C = TypeVar("_C", bound=PreTrainedConfig, default=PreTrainedConfig) _P = TypeVar("_P", bound=ProcessorMixin, default=ProcessorMixin) @@ -148,7 +148,7 @@ def get_tokenizer(self) -> TokenizerLike: return self.tokenizer @overload - def get_hf_config(self, /) -> PretrainedConfig: ... + def get_hf_config(self, /) -> PreTrainedConfig: ... @overload def get_hf_config( @@ -163,7 +163,7 @@ def get_hf_config( /, ) -> Any: """Get the HuggingFace configuration - (`transformers.PretrainedConfig`) of the model, + (`transformers.PreTrainedConfig`) of the model, additionally checking its type. Raises: @@ -171,9 +171,9 @@ def get_hf_config( """ if typ is None: - from transformers.configuration_utils import PretrainedConfig + from transformers.configuration_utils import PreTrainedConfig - typ = PretrainedConfig + typ = PreTrainedConfig hf_config = self.model_config.hf_config if not isinstance(hf_config, typ): @@ -371,7 +371,7 @@ def model_id(self) -> str: def get_tokenizer(self) -> TokenizerLike: return self.ctx.get_tokenizer() - def get_hf_config(self) -> PretrainedConfig: + def get_hf_config(self) -> PreTrainedConfig: return self.ctx.get_hf_config() def get_hf_processor(self, **kwargs: object) -> ProcessorMixin: diff --git a/vllm/transformers_utils/config.py b/vllm/transformers_utils/config.py index e78a718e2844..b7f4f54d938b 100644 --- a/vllm/transformers_utils/config.py +++ b/vllm/transformers_utils/config.py @@ -17,7 +17,7 @@ from huggingface_hub import constants from packaging.version import Version from safetensors.torch import _TYPES as _SAFETENSORS_TO_TORCH_DTYPE -from transformers import GenerationConfig, PretrainedConfig +from transformers import GenerationConfig, PreTrainedConfig from transformers.configuration_utils import ALLOWED_LAYER_TYPES from transformers.models.auto.image_processing_auto import get_image_processor_config from transformers.models.auto.modeling_auto import ( @@ -86,7 +86,7 @@ def __getitem__(self, key): return getattr(configs, value) -_CONFIG_REGISTRY: dict[str, type[PretrainedConfig]] = LazyConfigDict( +_CONFIG_REGISTRY: dict[str, type[PreTrainedConfig]] = LazyConfigDict( afmoe="AfmoeConfig", axk1="AXK1Config", bagel="BagelConfig", @@ -189,13 +189,13 @@ def __getitem__(self, key): def _register_config_class( - model_type: str, config_class: type[PretrainedConfig] + model_type: str, config_class: type[PreTrainedConfig] ) -> None: config_class.model_type = model_type AutoConfig.register(model_type, config_class, exist_ok=True) -def _maybe_register_hf_config(config: PretrainedConfig | None) -> None: +def _maybe_register_hf_config(config: PreTrainedConfig | None) -> None: if config is None: return @@ -228,7 +228,7 @@ def _mistral_patch_hf_hub_constants() -> Iterator[None]: def _install_hf_config_validator( name: str, validator: Callable, supersedes: Callable ) -> None: - """Replace a ``PretrainedConfig`` validator on every ``@strict`` snapshot. + """Replace a ``PreTrainedConfig`` validator on every ``@strict`` snapshot. ``@strict`` snapshots each ``validate_*`` method into ``__class_validators__`` at class creation and automatic post-``__init__`` validation dispatches off @@ -237,10 +237,10 @@ def _install_hf_config_validator( class owns a snapshot, so rewrite them all, matching ``supersedes`` by identity to leave a genuine per-model override in place. """ - setattr(PretrainedConfig, name, validator) + setattr(PreTrainedConfig, name, validator) seen: set[int] = set() - stack = [PretrainedConfig] + stack = [PreTrainedConfig] while stack: cls = stack.pop() if id(cls) in seen: @@ -261,10 +261,10 @@ def _patch_hf_transformers_validate_rope(): validate_rope() with the ignore_keys parameter work with newer versions of hf transformers (from v5 onwards) """ - if hasattr(PretrainedConfig.validate_rope, "__vllm_patched__"): + if hasattr(PreTrainedConfig.validate_rope, "__vllm_patched__"): return - _original_validate_rope = PretrainedConfig.validate_rope + _original_validate_rope = PreTrainedConfig.validate_rope @wraps(_original_validate_rope) def patched_validate_rope(self, *args, **kwargs): @@ -293,10 +293,10 @@ def _patch_hf_transformers_nested_rope_validation() -> None: ``AttributeError``. The per-layer dicts already carry their own defaults by the time validation runs, so the shared entries can be dropped. """ - if hasattr(PretrainedConfig.validate_rope, "__vllm_nested_rope_patched__"): + if hasattr(PreTrainedConfig.validate_rope, "__vllm_nested_rope_patched__"): return - _original_validate_rope = PretrainedConfig.validate_rope + _original_validate_rope = PreTrainedConfig.validate_rope @wraps(_original_validate_rope) def patched_validate_rope(self, *args, **kwargs): @@ -347,11 +347,11 @@ def parse( revision: str | None = None, code_revision: str | None = None, **kwargs, - ) -> tuple[dict, PretrainedConfig]: + ) -> tuple[dict, PreTrainedConfig]: kwargs["local_files_only"] = huggingface_hub.constants.HF_HUB_OFFLINE trust_remote_code |= kwargs.get("trust_remote_code", False) kwargs = without_trust_remote_code(kwargs) - config_dict, _ = PretrainedConfig.get_config_dict( + config_dict, _ = PreTrainedConfig.get_config_dict( model, revision=revision, code_revision=code_revision, @@ -374,7 +374,7 @@ def parse( # through and remain unchanged by this elif block dummy_model_type = f"dummy_{model_type}" dummy_kwargs = dict(architectures=[""], model_type=dummy_model_type) - dummy_config = PretrainedConfig(**dummy_kwargs) + dummy_config = PreTrainedConfig(**dummy_kwargs) dummy_model_type = hf_overrides(dummy_config).model_type model_type = dummy_model_type.removeprefix("dummy_") @@ -450,7 +450,7 @@ def parse( revision: str | None = None, code_revision: str | None = None, **kwargs, - ) -> tuple[dict, PretrainedConfig]: + ) -> tuple[dict, PreTrainedConfig]: # This function loads a params.json config which # should be used when loading models in mistral format config_dict = _download_mistral_config_file(model, revision) @@ -466,7 +466,7 @@ def parse( # Get missing fields from HF config if available try: - hf_config_dict, _ = PretrainedConfig.get_config_dict( + hf_config_dict, _ = PreTrainedConfig.get_config_dict( model, revision=revision, code_revision=code_revision, @@ -540,7 +540,7 @@ def register_config_parser(config_format: str): ... revision: str | None = None, ... code_revision: str | None = None, ... **kwargs, - ... ) -> tuple[dict, PretrainedConfig]: + ... ) -> tuple[dict, PreTrainedConfig]: ... raise NotImplementedError >>> >>> type(get_config_parser("custom_config_parser")) @@ -571,7 +571,7 @@ def _wrapper(config_parser_cls): return _wrapper -def set_default_rope_theta(config: PretrainedConfig, default_theta: float) -> None: +def set_default_rope_theta(config: PreTrainedConfig, default_theta: float) -> None: """Some models may have no rope_theta in their config but still use RoPE. This function sets a default rope_theta if it's missing.""" if getattr(config, "rope_parameters", None) is None: @@ -639,7 +639,7 @@ def _patch_legacy_rope_type(rope_parameters: dict[str, Any]) -> None: _patch_legacy_rope_type(rope_parameters) -def patch_rope_parameters(config: PretrainedConfig) -> None: +def patch_rope_parameters(config: PreTrainedConfig) -> None: """Provide backwards compatibility for RoPE.""" from vllm.config.utils import getattr_iter @@ -661,7 +661,7 @@ def patch_rope_parameters(config: PretrainedConfig) -> None: config.validate_rope() -def _iter_rope_parameters(config: PretrainedConfig) -> Iterator[dict[str, Any]]: +def _iter_rope_parameters(config: PreTrainedConfig) -> Iterator[dict[str, Any]]: """Yield a config's rope parameters, one dict per layer type if nested.""" rope_parameters = getattr(config, "rope_parameters", None) if not isinstance(rope_parameters, dict): @@ -673,7 +673,7 @@ def _iter_rope_parameters(config: PretrainedConfig) -> Iterator[dict[str, Any]]: yield rope_parameters -def _mrope_section(config: PretrainedConfig) -> Sequence[int] | None: +def _mrope_section(config: PreTrainedConfig) -> Sequence[int] | None: """Return the M-RoPE section this config declares, if any. `xdrope_section` is the legacy name HunYuan-VL checkpoints use for the same @@ -700,11 +700,11 @@ def _mrope_section(config: PretrainedConfig) -> Sequence[int] | None: return section if isinstance(section, (list, tuple)) else None -def _uses_mrope(config: PretrainedConfig) -> bool: +def _uses_mrope(config: PreTrainedConfig) -> bool: return _mrope_section(config) is not None -def uses_mrope(config: PretrainedConfig) -> bool: +def uses_mrope(config: PreTrainedConfig) -> bool: """Detect if the model with this config uses M-ROPE.""" return ( _uses_mrope(config) @@ -713,7 +713,7 @@ def uses_mrope(config: PretrainedConfig) -> bool: ) -def thinker_uses_mrope(config: PretrainedConfig) -> bool: +def thinker_uses_mrope(config: PreTrainedConfig) -> bool: """Detect if the model contains a thinker config and it uses M-ROPE.""" thinker_config = getattr(config, "thinker_config", None) if thinker_config is None: @@ -726,7 +726,7 @@ def thinker_uses_mrope(config: PretrainedConfig) -> bool: return uses_mrope(thinker_text_config) -def mrope_num_dims(config: PretrainedConfig) -> int: +def mrope_num_dims(config: PreTrainedConfig) -> int: """Number of M-RoPE position channels the model consumes. Each section entry sizes one channel, so the section length is the channel @@ -745,10 +745,10 @@ def mrope_num_dims(config: PretrainedConfig) -> int: return 3 -def is_encoder_decoder(config: PretrainedConfig) -> bool: +def is_encoder_decoder(config: PreTrainedConfig) -> bool: """Detect if the model with this config is used as an encoder/decoder.""" - def _is_encoder_decoder(config: PretrainedConfig) -> bool: + def _is_encoder_decoder(config: PreTrainedConfig) -> bool: return getattr(config, "is_encoder_decoder", False) return _is_encoder_decoder(config) or _is_encoder_decoder(config.get_text_config()) @@ -761,7 +761,7 @@ def _maybe_update_auto_config_kwargs(kwargs: dict[str, Any], model_type: str): return kwargs -def _maybe_remap_hf_config_attrs(config: PretrainedConfig) -> PretrainedConfig: +def _maybe_remap_hf_config_attrs(config: PreTrainedConfig) -> PreTrainedConfig: """Remap config attributes to match the expected names.""" for old_attr, new_attr in _CONFIG_ATTRS_MAPPING.items(): if hasattr(config, old_attr): @@ -798,7 +798,7 @@ def maybe_override_with_speculators( """ kwargs["local_files_only"] = huggingface_hub.constants.HF_HUB_OFFLINE - config_dict, _ = PretrainedConfig.get_config_dict( + config_dict, _ = PreTrainedConfig.get_config_dict( model, revision=revision, token=hf_token, @@ -840,9 +840,9 @@ def get_config( code_revision: str | None = None, config_format: str | ConfigFormat = "auto", hf_overrides_kw: dict[str, Any] | None = None, - hf_overrides_fn: Callable[[PretrainedConfig], PretrainedConfig] | None = None, + hf_overrides_fn: Callable[[PreTrainedConfig], PreTrainedConfig] | None = None, **kwargs, -) -> PretrainedConfig: +) -> PreTrainedConfig: if config_format == "auto": try: # First check for Mistral to avoid defaulting to @@ -953,7 +953,7 @@ def get_config( # Exhaustively patch RoPE parameters everywhere they might be patch_rope_parameters(config) patch_rope_parameters(config.get_text_config()) - SubConfigs: TypeAlias = dict[str, PretrainedConfig] + SubConfigs: TypeAlias = dict[str, PreTrainedConfig] sub_configs: SubConfigs | None = getattr(config, "sub_configs", None) if sub_configs: for sub_config in sub_configs: @@ -1212,7 +1212,7 @@ def get_hf_image_processor_config( ) -def get_hf_text_config(config: PretrainedConfig): +def get_hf_text_config(config: PreTrainedConfig): """Get the "sub" config relevant to llm for multi modal models. No op for pure text models. """ diff --git a/vllm/transformers_utils/config_parser_base.py b/vllm/transformers_utils/config_parser_base.py index 79d47ff56042..46cbab5be9ee 100644 --- a/vllm/transformers_utils/config_parser_base.py +++ b/vllm/transformers_utils/config_parser_base.py @@ -4,7 +4,7 @@ from abc import ABC, abstractmethod from pathlib import Path -from transformers import PretrainedConfig +from transformers import PreTrainedConfig class ConfigParserBase(ABC): @@ -16,5 +16,5 @@ def parse( revision: str | None = None, code_revision: str | None = None, **kwargs, - ) -> tuple[dict, PretrainedConfig]: + ) -> tuple[dict, PreTrainedConfig]: raise NotImplementedError diff --git a/vllm/transformers_utils/configs/AXK1.py b/vllm/transformers_utils/configs/AXK1.py index 52af5bec48de..50bc891573c8 100644 --- a/vllm/transformers_utils/configs/AXK1.py +++ b/vllm/transformers_utils/configs/AXK1.py @@ -2,16 +2,16 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project from typing import Any -from transformers import PretrainedConfig +from transformers import PreTrainedConfig -class AXK1Config(PretrainedConfig): +class AXK1Config(PreTrainedConfig): r"""This is the configuration class to store the configuration of a [`AXK1Model`]. It is used to instantiate an A.X model according to the specified arguments, defining the model architecture. Instantiating a configuration with the defaults will yield a similar configuration to that of the A.X K1. - Configuration objects inherit from [`PretrainedConfig`] and can be used to control - the model outputs. Read the documentation from [`PretrainedConfig`] for more + Configuration objects inherit from [`PreTrainedConfig`] and can be used to control + the model outputs. Read the documentation from [`PreTrainedConfig`] for more information. Args: diff --git a/vllm/transformers_utils/configs/afmoe.py b/vllm/transformers_utils/configs/afmoe.py index 47fee9882f9f..b3d10dc5f274 100644 --- a/vllm/transformers_utils/configs/afmoe.py +++ b/vllm/transformers_utils/configs/afmoe.py @@ -1,10 +1,10 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig -class AfmoeConfig(PretrainedConfig): +class AfmoeConfig(PreTrainedConfig): model_type = "afmoe" def __init__( diff --git a/vllm/transformers_utils/configs/bagel.py b/vllm/transformers_utils/configs/bagel.py index 53347ef45213..a972000db4a5 100644 --- a/vllm/transformers_utils/configs/bagel.py +++ b/vllm/transformers_utils/configs/bagel.py @@ -1,10 +1,10 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project -from transformers import PretrainedConfig, SiglipVisionConfig +from transformers import PreTrainedConfig, SiglipVisionConfig from transformers.models.qwen2 import Qwen2Config -class BagelConfig(PretrainedConfig): +class BagelConfig(PreTrainedConfig): """Configuration class for BAGEL model.""" model_type = "bagel" diff --git a/vllm/transformers_utils/configs/bailing_moe_v3_vl.py b/vllm/transformers_utils/configs/bailing_moe_v3_vl.py index 484e27991ef9..e009a4db14d8 100644 --- a/vllm/transformers_utils/configs/bailing_moe_v3_vl.py +++ b/vllm/transformers_utils/configs/bailing_moe_v3_vl.py @@ -9,11 +9,11 @@ from typing import Any -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig def _normalize_mrope_parameters( - config: PretrainedConfig, + config: PreTrainedConfig, mrope_section: list[int], ) -> None: """Add the top-level Bailing M-RoPE split to a text config.""" @@ -50,7 +50,7 @@ def _build_layer_types( ] -class BailingMoeV3TextConfig(PretrainedConfig): +class BailingMoeV3TextConfig(PreTrainedConfig): model_type = "bailing_hybrid" base_config_key = "text_config" keys_to_ignore_at_inference = ["past_key_values"] @@ -230,7 +230,7 @@ def __init__( self.validate_layer_type() -class BailingMoeV3VisionConfig(PretrainedConfig): +class BailingMoeV3VisionConfig(PreTrainedConfig): model_type = "qwen3_moe_vit" base_config_key = "vision_config" @@ -273,7 +273,7 @@ def __init__( self.initializer_range = initializer_range -class BailingMoeV3VLConfig(PretrainedConfig): +class BailingMoeV3VLConfig(PreTrainedConfig): model_type = "bailing_moe_v3_vl" keys_to_ignore_at_inference = ["past_key_values"] sub_configs = { diff --git a/vllm/transformers_utils/configs/chatglm.py b/vllm/transformers_utils/configs/chatglm.py index 1d795b55c8bc..3908df740a47 100644 --- a/vllm/transformers_utils/configs/chatglm.py +++ b/vllm/transformers_utils/configs/chatglm.py @@ -3,10 +3,10 @@ # Adapted from # https://github.com/zai-org/ChatGLM2-6B -from transformers import PretrainedConfig +from transformers import PreTrainedConfig -class ChatGLMConfig(PretrainedConfig): +class ChatGLMConfig(PreTrainedConfig): model_type = "chatglm" attribute_map = { "num_hidden_layers": "num_layers", diff --git a/vllm/transformers_utils/configs/colmodernvbert.py b/vllm/transformers_utils/configs/colmodernvbert.py index 17558aafcec7..a8305417571c 100644 --- a/vllm/transformers_utils/configs/colmodernvbert.py +++ b/vllm/transformers_utils/configs/colmodernvbert.py @@ -8,10 +8,10 @@ Reference: https://huggingface.co/ModernVBERT/colmodernvbert-merged """ -from transformers import ModernBertConfig, PretrainedConfig, SiglipVisionConfig +from transformers import ModernBertConfig, PreTrainedConfig, SiglipVisionConfig -class ColModernVBertConfig(PretrainedConfig): +class ColModernVBertConfig(PreTrainedConfig): model_type = "colmodernvbert" def __init__( diff --git a/vllm/transformers_utils/configs/cosmos3_edge.py b/vllm/transformers_utils/configs/cosmos3_edge.py index 743e7d5debe7..447b64cc99ed 100644 --- a/vllm/transformers_utils/configs/cosmos3_edge.py +++ b/vllm/transformers_utils/configs/cosmos3_edge.py @@ -1,7 +1,7 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from transformers.models.siglip2.configuration_siglip2 import Siglip2VisionConfig from .nemotron_h import NemotronHConfig @@ -50,7 +50,7 @@ def to_dict(self) -> dict: return config_dict -class Cosmos3EdgeProjectorConfig(PretrainedConfig): +class Cosmos3EdgeProjectorConfig(PreTrainedConfig): model_type = "cosmos3_edge_projector" def __init__( @@ -74,7 +74,7 @@ class Cosmos3EdgeVisionConfig(Siglip2VisionConfig): model_type = "cosmos3_edge_vision" -class Cosmos3EdgeConfig(PretrainedConfig): +class Cosmos3EdgeConfig(PreTrainedConfig): model_type = "cosmos3_edge" keys_to_ignore_at_inference = ["past_key_values"] has_no_defaults_at_init = True diff --git a/vllm/transformers_utils/configs/deepseek_v4.py b/vllm/transformers_utils/configs/deepseek_v4.py index 15346e35e589..278f47786466 100755 --- a/vllm/transformers_utils/configs/deepseek_v4.py +++ b/vllm/transformers_utils/configs/deepseek_v4.py @@ -2,10 +2,10 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project from typing import Any -from transformers import PretrainedConfig +from transformers import PreTrainedConfig -class DeepseekV4Config(PretrainedConfig): +class DeepseekV4Config(PreTrainedConfig): model_type = "deepseek_v4" def __init__( diff --git a/vllm/transformers_utils/configs/deepseek_v41.py b/vllm/transformers_utils/configs/deepseek_v41.py index d8b4335438c6..f1ed6f9aa895 100644 --- a/vllm/transformers_utils/configs/deepseek_v41.py +++ b/vllm/transformers_utils/configs/deepseek_v41.py @@ -2,10 +2,10 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project from typing import Any -from transformers import PretrainedConfig +from transformers import PreTrainedConfig -class DeepseekV41Config(PretrainedConfig): +class DeepseekV41Config(PreTrainedConfig): """DeepSeek V4.1 config. The HF config nests the text model under ``text_config`` and the vision @@ -34,7 +34,7 @@ def __init__( for key, value in text_config.items(): if key == "model_type": continue - # Don't clobber PretrainedConfig properties (e.g. is_encoder_decoder). + # Don't clobber PreTrainedConfig properties (e.g. is_encoder_decoder). if isinstance(getattr(type(self), key, None), property): continue setattr(self, key, value) diff --git a/vllm/transformers_utils/configs/deepseek_vl2.py b/vllm/transformers_utils/configs/deepseek_vl2.py index 3b980a824d01..3543db833a4d 100644 --- a/vllm/transformers_utils/configs/deepseek_vl2.py +++ b/vllm/transformers_utils/configs/deepseek_vl2.py @@ -4,10 +4,10 @@ # adapted from https://github.com/deepseek-ai/DeepSeek-VL2/blob/faf18023f24b962b32d9f0a2d89e402a8d383a78/deepseek_vl2/models/modeling_deepseek_vl_v2.py#L115-L268 from huggingface_hub.dataclasses import strict -from transformers import DeepseekV2Config, PretrainedConfig +from transformers import DeepseekV2Config, PreTrainedConfig -class VisionEncoderConfig(PretrainedConfig): +class VisionEncoderConfig(PreTrainedConfig): model_type: str = "vision" model_name: str = "vit_so400m_patch14_siglip_384.webli" @@ -58,7 +58,7 @@ def __init__( super().__init__(**kwargs) -class MlpProjectorConfig(PretrainedConfig): +class MlpProjectorConfig(PreTrainedConfig): model_type = "mlp_projector" projector_type: str = "downsample_mlp_gelu" input_dim: int = 1152 @@ -98,7 +98,7 @@ class DeepseekVLV2TextConfig(DeepseekV2Config): kv_lora_rank: int | None = DeepseekV2Config.kv_lora_rank -class DeepseekVLV2Config(PretrainedConfig): +class DeepseekVLV2Config(PreTrainedConfig): model_type = "deepseek_vl_v2" tile_tag: str = "2D" diff --git a/vllm/transformers_utils/configs/diffusion_gemma.py b/vllm/transformers_utils/configs/diffusion_gemma.py index 246a25b32c6d..884d176cd0b4 100644 --- a/vllm/transformers_utils/configs/diffusion_gemma.py +++ b/vllm/transformers_utils/configs/diffusion_gemma.py @@ -2,12 +2,12 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project from typing import Any -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from transformers.models.gemma4.configuration_gemma4 import Gemma4VisionConfig -def _init_text_config(self: PretrainedConfig, **kwargs: Any) -> None: - PretrainedConfig.__init__(self, **kwargs) +def _init_text_config(self: PreTrainedConfig, **kwargs: Any) -> None: + PreTrainedConfig.__init__(self, **kwargs) # DiffusionGemma always uses MoE and K=V sharing for full_attention # layers. The HF reference removed these config fields entirely. if getattr(self, "num_experts", None): @@ -15,14 +15,14 @@ def _init_text_config(self: PretrainedConfig, **kwargs: Any) -> None: self.attention_k_eq_v = True -class DiffusionGemmaTextConfig(PretrainedConfig): +class DiffusionGemmaTextConfig(PreTrainedConfig): model_type = "diffusion_gemma_text" def __init__(self, **kwargs: Any): _init_text_config(self, **kwargs) -class DiffusionGemmaConfig(PretrainedConfig): +class DiffusionGemmaConfig(PreTrainedConfig): model_type = "diffusion_gemma" def __init__( @@ -41,4 +41,4 @@ def __init__( else: self.vision_config = vision_config self.audio_config = None - PretrainedConfig.__init__(self, **kwargs) + PreTrainedConfig.__init__(self, **kwargs) diff --git a/vllm/transformers_utils/configs/dotsocr.py b/vllm/transformers_utils/configs/dotsocr.py index 1e42cb2fd859..918179dcb8c6 100644 --- a/vllm/transformers_utils/configs/dotsocr.py +++ b/vllm/transformers_utils/configs/dotsocr.py @@ -2,11 +2,11 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project from typing import Any -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from transformers.models.qwen2 import Qwen2Config -class DotsVisionConfig(PretrainedConfig): +class DotsVisionConfig(PreTrainedConfig): model_type: str = "dots_vit" def __init__( diff --git a/vllm/transformers_utils/configs/eagle.py b/vllm/transformers_utils/configs/eagle.py index 682828c0a594..6b218cd0f3f8 100644 --- a/vllm/transformers_utils/configs/eagle.py +++ b/vllm/transformers_utils/configs/eagle.py @@ -3,22 +3,22 @@ import os -from transformers import AutoConfig, DeepseekV2Config, PretrainedConfig +from transformers import AutoConfig, DeepseekV2Config, PreTrainedConfig from vllm.transformers_utils.utils import without_trust_remote_code -class EAGLEConfig(PretrainedConfig): +class EAGLEConfig(PreTrainedConfig): model_type = "eagle" def __init__( self, - model: PretrainedConfig | dict | None = None, + model: PreTrainedConfig | dict | None = None, truncated_vocab_size: int | None = None, method: str | None = "eagle", **kwargs, ): - model_config: PretrainedConfig | DeepseekV2Config | None + model_config: PreTrainedConfig | DeepseekV2Config | None if isinstance(model, dict): model_config = AutoConfig.for_model(**model) else: diff --git a/vllm/transformers_utils/configs/extract_hidden_states.py b/vllm/transformers_utils/configs/extract_hidden_states.py index 2beec0e3081b..0b984c772208 100644 --- a/vllm/transformers_utils/configs/extract_hidden_states.py +++ b/vllm/transformers_utils/configs/extract_hidden_states.py @@ -5,17 +5,17 @@ import os -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.transformers_utils.utils import without_trust_remote_code -class ExtractHiddenStatesConfig(PretrainedConfig): +class ExtractHiddenStatesConfig(PreTrainedConfig): model_type = "extract_hidden_states" def __init__( self, - model: PretrainedConfig | dict | None = None, + model: PreTrainedConfig | dict | None = None, method: str | None = "extract_hidden_states", **kwargs, ): @@ -24,7 +24,7 @@ def __init__( if isinstance(model, dict): model_dict = model source_text_config = None - elif isinstance(model, PretrainedConfig): + elif isinstance(model, PreTrainedConfig): model_dict = model.to_dict() text_config = model.get_text_config() source_text_config = text_config if text_config is not model else None @@ -40,7 +40,7 @@ def __init__( combined["architectures"] = ["ExtractHiddenStatesModel"] # to_dict() and kwargs both flatten text_config to a plain dict; - # downstream get_hf_text_config() needs it as a PretrainedConfig + # downstream get_hf_text_config() needs it as a PreTrainedConfig # for attribute access. Re-insert the original object. if source_text_config is not None: combined["text_config"] = source_text_config diff --git a/vllm/transformers_utils/configs/falcon.py b/vllm/transformers_utils/configs/falcon.py index f8665a139559..7dfe21d0b8bc 100644 --- a/vllm/transformers_utils/configs/falcon.py +++ b/vllm/transformers_utils/configs/falcon.py @@ -20,10 +20,10 @@ # limitations under the License. """Falcon configuration.""" -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig -class RWConfig(PretrainedConfig): +class RWConfig(PreTrainedConfig): model_type = "falcon" keys_to_ignore_at_inference = ["past_key_values"] attribute_map = { diff --git a/vllm/transformers_utils/configs/funaudiochat.py b/vllm/transformers_utils/configs/funaudiochat.py index 36a446860c56..dd2573aac426 100644 --- a/vllm/transformers_utils/configs/funaudiochat.py +++ b/vllm/transformers_utils/configs/funaudiochat.py @@ -3,7 +3,7 @@ from __future__ import annotations -from transformers import CONFIG_MAPPING, PretrainedConfig +from transformers import CONFIG_MAPPING, PreTrainedConfig # NOTE: Temporary shim for FunAudioChat checkpoints. # These checkpoints use `model_type="funaudiochat"`, which is not currently @@ -13,7 +13,7 @@ # provides an `auto_map`) and vLLM can rely on `AutoConfig.from_pretrained()`. -class FunAudioChatAudioEncoderConfig(PretrainedConfig): +class FunAudioChatAudioEncoderConfig(PreTrainedConfig): model_type = "funaudiochat_audio_encoder" def __init__( @@ -74,7 +74,7 @@ def __init__( self.pad_token_id = pad_token_id -class FunAudioChatConfig(PretrainedConfig): +class FunAudioChatConfig(PreTrainedConfig): model_type = "funaudiochat" attribute_map = { "audio_token_id": "audio_token_index", @@ -82,8 +82,8 @@ class FunAudioChatConfig(PretrainedConfig): def __init__( self, - audio_config: PretrainedConfig | dict | None = None, - text_config: PretrainedConfig | dict | None = None, + audio_config: PreTrainedConfig | dict | None = None, + text_config: PreTrainedConfig | dict | None = None, audio_token_index: int = 151646, ignore_index: int = -100, hidden_size: int | None = None, diff --git a/vllm/transformers_utils/configs/gemma4.py b/vllm/transformers_utils/configs/gemma4.py index c57ba5b7ecf2..69cbc06d0482 100644 --- a/vllm/transformers_utils/configs/gemma4.py +++ b/vllm/transformers_utils/configs/gemma4.py @@ -4,12 +4,12 @@ from copy import copy -from transformers import PretrainedConfig +from transformers import PreTrainedConfig def gemma4_layer_config( - text_config: PretrainedConfig, layer_idx: int -) -> PretrainedConfig: + text_config: PreTrainedConfig, layer_idx: int +) -> PreTrainedConfig: """The Gemma4 text config as it applies to one layer. Gemma4 uses a larger head dimension on its full attention layers than on its diff --git a/vllm/transformers_utils/configs/glm5_next.py b/vllm/transformers_utils/configs/glm5_next.py index 95a0081bdd45..4a565884a26d 100644 --- a/vllm/transformers_utils/configs/glm5_next.py +++ b/vllm/transformers_utils/configs/glm5_next.py @@ -1,14 +1,14 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from vllm.logger import init_logger logger = init_logger(__name__) -class Glm5NextTextConfig(PretrainedConfig): +class Glm5NextTextConfig(PreTrainedConfig): model_type = "glm5_next_text" base_config_key = "text_config" keys_to_ignore_at_inference = ["past_key_values"] @@ -271,7 +271,7 @@ def layers_block_type(self): ] -class Glm5NextVisionConfig(PretrainedConfig): +class Glm5NextVisionConfig(PreTrainedConfig): model_type = "glm5_next_vision" base_config_key = "vision_config" @@ -324,7 +324,7 @@ def __init__( self.swiglu_limit = swiglu_limit -class Glm5NextConfig(PretrainedConfig): +class Glm5NextConfig(PreTrainedConfig): model_type = "glm5_next" sub_configs = { "vision_config": Glm5NextVisionConfig, @@ -345,7 +345,7 @@ def __init__( **kwargs, ): # Init super() first so base-class defaults don't clobber text-config - # values set below (PretrainedConfig has many text-related defaults + # values set below (PreTrainedConfig has many text-related defaults # that differ from Glm5NextTextConfig). super().__init__(**kwargs) @@ -379,7 +379,7 @@ def __init__( # and must NOT be mirrored onto text_config: ``architectures`` / # ``torch_dtype`` differ between the top-level config and the text # sub-config, and mirroring them makes the top-level ``architectures`` - # silently read back as None (PretrainedConfig initializes both to None), + # silently read back as None (PreTrainedConfig initializes both to None), # which then fails model-class resolution ("No model architectures are # specified"). _UNMIRRORED_KEYS = [ diff --git a/vllm/transformers_utils/configs/granite4_vision.py b/vllm/transformers_utils/configs/granite4_vision.py index a67e6ffeb8ee..8522bdd47a3e 100644 --- a/vllm/transformers_utils/configs/granite4_vision.py +++ b/vllm/transformers_utils/configs/granite4_vision.py @@ -6,7 +6,7 @@ import transformers -class Granite4VisionConfig(transformers.PretrainedConfig): +class Granite4VisionConfig(transformers.PreTrainedConfig): """Configuration for Granite 4 Vision model. This config is needed because the granite4_vision model type is not yet @@ -81,7 +81,7 @@ def __init__( **vision_config ) else: - self.vision_config = transformers.PretrainedConfig(**vision_config) + self.vision_config = transformers.PreTrainedConfig(**vision_config) text_model_type = text_config.get("model_type", "granite") if text_model_type in transformers.CONFIG_MAPPING: @@ -89,6 +89,6 @@ def __init__( **text_config ) else: - self.text_config = transformers.PretrainedConfig(**text_config) + self.text_config = transformers.PreTrainedConfig(**text_config) super().__init__(**kwargs) diff --git a/vllm/transformers_utils/configs/hy_v3.py b/vllm/transformers_utils/configs/hy_v3.py index 0a67dd8af793..939dd5d78ceb 100644 --- a/vllm/transformers_utils/configs/hy_v3.py +++ b/vllm/transformers_utils/configs/hy_v3.py @@ -2,16 +2,16 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project from typing import Any -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig -class HYV3Config(PretrainedConfig): +class HYV3Config(PreTrainedConfig): r"""This is the configuration class to store the configuration of a [`HYV3Model`]. It is used to instantiate a HYV3 model (HY V3 MoE language model) according to the specified arguments. - Configuration objects inherit from [`PretrainedConfig`] and can be used to - control the model outputs. Read the documentation from [`PretrainedConfig`] + Configuration objects inherit from [`PreTrainedConfig`] and can be used to + control the model outputs. Read the documentation from [`PreTrainedConfig`] for more information. Args: diff --git a/vllm/transformers_utils/configs/hyperclovax.py b/vllm/transformers_utils/configs/hyperclovax.py index 2033d59c1158..5470408b5803 100644 --- a/vllm/transformers_utils/configs/hyperclovax.py +++ b/vllm/transformers_utils/configs/hyperclovax.py @@ -17,16 +17,16 @@ # limitations under the License. """HyperCLOVA X model configuration.""" -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig -class HyperCLOVAXConfig(PretrainedConfig): +class HyperCLOVAXConfig(PreTrainedConfig): r"""This is the configuration class to store the configuration of a [`HyperCLOVAXModel`]. It is used to instantiate a HyperCLOVAX model according to the specified arguments, defining the model architecture. - Configuration objects inherit from [`PretrainedConfig`] and can be used + Configuration objects inherit from [`PreTrainedConfig`] and can be used to control the model outputs. Read the documentation from - [`PretrainedConfig`] for more information. + [`PreTrainedConfig`] for more information. Args: vocab_size (`int`, *optional*, defaults to 32000): diff --git a/vllm/transformers_utils/configs/kimi_k25.py b/vllm/transformers_utils/configs/kimi_k25.py index 095db1d8c46e..ed3d05d7cc21 100644 --- a/vllm/transformers_utils/configs/kimi_k25.py +++ b/vllm/transformers_utils/configs/kimi_k25.py @@ -7,10 +7,10 @@ """ from transformers import DeepseekV3Config -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig -class KimiK25VisionConfig(PretrainedConfig): +class KimiK25VisionConfig(PreTrainedConfig): model_type = "kimi_k25_vision" def __init__( @@ -59,7 +59,7 @@ def __init__( self.projector_ln_eps = projector_ln_eps -class KimiK25Config(PretrainedConfig): +class KimiK25Config(PreTrainedConfig): """Kimi-K2.5 model configuration. Kimi-K2.5 extends Kimi-K2 with vision support using video-chunks. diff --git a/vllm/transformers_utils/configs/kimi_k3.py b/vllm/transformers_utils/configs/kimi_k3.py index 62de6dc03b40..6154a438bbf5 100644 --- a/vllm/transformers_utils/configs/kimi_k3.py +++ b/vllm/transformers_utils/configs/kimi_k3.py @@ -2,7 +2,7 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project """Kimi-K3 multimodal configuration.""" -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from vllm.logger import init_logger from vllm.transformers_utils.configs.kimi_linear import KimiLinearConfig @@ -10,7 +10,7 @@ logger = init_logger(__name__) -class KimiK3VisionConfig(PretrainedConfig): +class KimiK3VisionConfig(PreTrainedConfig): model_type = "kimi_k3_vision" def __init__( @@ -83,7 +83,7 @@ def __init__( self.intermediate_size = vt_intermediate_size -class KimiK3Config(PretrainedConfig): +class KimiK3Config(PreTrainedConfig): model_type = "kimi_k3" def __init__( diff --git a/vllm/transformers_utils/configs/kimi_linear.py b/vllm/transformers_utils/configs/kimi_linear.py index 6c2fd335ead8..62b3963e1c77 100644 --- a/vllm/transformers_utils/configs/kimi_linear.py +++ b/vllm/transformers_utils/configs/kimi_linear.py @@ -1,10 +1,10 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig -class KimiLinearConfig(PretrainedConfig): +class KimiLinearConfig(PreTrainedConfig): model_type = "kimi_linear" keys_to_ignore_at_inference = ["past_key_values"] diff --git a/vllm/transformers_utils/configs/kimi_vl.py b/vllm/transformers_utils/configs/kimi_vl.py index 6d992464cbe8..5733afd6687d 100644 --- a/vllm/transformers_utils/configs/kimi_vl.py +++ b/vllm/transformers_utils/configs/kimi_vl.py @@ -3,12 +3,12 @@ # Adapted from https://huggingface.co/moonshotai/Kimi-VL-A3B-Instruct/blob/main/configuration_kimi_vl.py from transformers import DeepseekV2Config -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from vllm.transformers_utils.configs.moonvit import MoonViTConfig -class KimiVLConfig(PretrainedConfig): +class KimiVLConfig(PreTrainedConfig): model_type = "kimi_vl" def __init__( diff --git a/vllm/transformers_utils/configs/lfm2_moe.py b/vllm/transformers_utils/configs/lfm2_moe.py index 34682a62a1fc..903ae9d54700 100644 --- a/vllm/transformers_utils/configs/lfm2_moe.py +++ b/vllm/transformers_utils/configs/lfm2_moe.py @@ -2,17 +2,17 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project from typing import Any -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig -class Lfm2MoeConfig(PretrainedConfig): +class Lfm2MoeConfig(PreTrainedConfig): r"""This is the configuration class to store the configuration of a [`Lfm2MoeModel`]. It is used to instantiate a LFM2 Moe model according to the specified arguments, defining the model architecture. Instantiating a configuration with the defaults will yield a similar configuration to that of the LFM2-8B-A1B model. e.g. [LiquidAI/LFM2-8B-A1B](https://huggingface.co/LiquidAI/LFM2-8B-A1B) - Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the - documentation from [`PretrainedConfig`] for more information. + Configuration objects inherit from [`PreTrainedConfig`] and can be used to control the model outputs. Read the + documentation from [`PreTrainedConfig`] for more information. Args: diff --git a/vllm/transformers_utils/configs/medusa.py b/vllm/transformers_utils/configs/medusa.py index f146c4c5f5d9..e8cef7a35fca 100644 --- a/vllm/transformers_utils/configs/medusa.py +++ b/vllm/transformers_utils/configs/medusa.py @@ -3,12 +3,12 @@ import os -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.transformers_utils.utils import without_trust_remote_code -class MedusaConfig(PretrainedConfig): +class MedusaConfig(PreTrainedConfig): model_type = "medusa" def __init__( diff --git a/vllm/transformers_utils/configs/midashenglm.py b/vllm/transformers_utils/configs/midashenglm.py index f1bbd057103e..76d8393e010e 100644 --- a/vllm/transformers_utils/configs/midashenglm.py +++ b/vllm/transformers_utils/configs/midashenglm.py @@ -22,13 +22,13 @@ # See the License for the specific language governing permissions and # limitations under the License. -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from transformers.models.qwen2_5_omni.configuration_qwen2_5_omni import ( Qwen2_5OmniTextConfig, ) -class DashengConfig(PretrainedConfig): +class DashengConfig(PreTrainedConfig): model_type = "midashenglm_dasheng_encoder" def __init__( @@ -80,7 +80,7 @@ def __init__( super().__init__(**kwargs) -class MiDashengLMConfig(PretrainedConfig): +class MiDashengLMConfig(PreTrainedConfig): model_type = "midashenglm" def __init__( diff --git a/vllm/transformers_utils/configs/mimo_v2_omni.py b/vllm/transformers_utils/configs/mimo_v2_omni.py index b87ca22a9a83..c0e2f4286c28 100644 --- a/vllm/transformers_utils/configs/mimo_v2_omni.py +++ b/vllm/transformers_utils/configs/mimo_v2_omni.py @@ -2,10 +2,10 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project -from transformers import PretrainedConfig +from transformers import PreTrainedConfig -class Mimo_VLVisionConfig(PretrainedConfig): +class Mimo_VLVisionConfig(PreTrainedConfig): model_type = "mimovl" base_config_key = "vision_config" diff --git a/vllm/transformers_utils/configs/minimax_m3.py b/vllm/transformers_utils/configs/minimax_m3.py index c340dda85a6c..374b854a662e 100644 --- a/vllm/transformers_utils/configs/minimax_m3.py +++ b/vllm/transformers_utils/configs/minimax_m3.py @@ -2,10 +2,10 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project from typing import Any -from transformers import PretrainedConfig +from transformers import PreTrainedConfig -class MiniMaxM3TextConfig(PretrainedConfig): +class MiniMaxM3TextConfig(PreTrainedConfig): """Config for the MiniMax M3 text backbone (MiniMaxM3SparseForCausalLM). Defaults mirror the ``text_config`` of the MiniMax-M3-preview checkpoint. @@ -120,7 +120,7 @@ def __init__(self, num_hidden_layers: int = 1, **kwargs): super().__init__(num_hidden_layers=num_hidden_layers, **kwargs) -class MiniMaxM3Config(PretrainedConfig): +class MiniMaxM3Config(PreTrainedConfig): """Top-level MiniMax M3 (VL) config. Holds the text backbone as ``text_config`` so that diff --git a/vllm/transformers_utils/configs/mistral.py b/vllm/transformers_utils/configs/mistral.py index 3ec94eb0bec8..aaeae9cbcfaa 100644 --- a/vllm/transformers_utils/configs/mistral.py +++ b/vllm/transformers_utils/configs/mistral.py @@ -2,7 +2,7 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project from typing import Any -from transformers import PretrainedConfig, WhisperConfig +from transformers import PreTrainedConfig, WhisperConfig from vllm.logger import init_logger @@ -12,7 +12,7 @@ def adapt_config_dict( config_dict: dict[str, Any], defaults: dict[str, Any], -) -> PretrainedConfig: +) -> PreTrainedConfig: config_dict = _remap_general_mistral_args(config_dict) config_dict = _remap_mistral_sliding_window(config_dict) @@ -86,7 +86,7 @@ def adapt_config_dict( for k, v in defaults.items(): config_dict.setdefault(k, v) - config = PretrainedConfig.from_dict(config_dict) + config = PreTrainedConfig.from_dict(config_dict) logger.debug("Initialized config %s", config) @@ -103,8 +103,8 @@ def _remap_mistral_vision_args(config: dict) -> dict: config = { "model_type": "pixtral", "architectures": ["PixtralForConditionalGeneration"], - "text_config": PretrainedConfig.from_dict(config), - "vision_config": PretrainedConfig.from_dict(vision_config), + "text_config": PreTrainedConfig.from_dict(config), + "vision_config": PreTrainedConfig.from_dict(vision_config), } if quant_config: config["quantization_config"] = quant_config @@ -248,7 +248,7 @@ def _remap_mistral_audio_args(config: dict) -> dict: config = { "model_type": "voxtral", "architectures": [architecture], - "text_config": PretrainedConfig.from_dict(config), + "text_config": PreTrainedConfig.from_dict(config), "audio_config": WhisperConfig( num_mel_bins=encoder_args["audio_encoding_args"]["num_mel_bins"], window_size=encoder_args["audio_encoding_args"]["window_size"], diff --git a/vllm/transformers_utils/configs/mlp_speculator.py b/vllm/transformers_utils/configs/mlp_speculator.py index 6b5a70e3dbf4..f668e5ef5202 100644 --- a/vllm/transformers_utils/configs/mlp_speculator.py +++ b/vllm/transformers_utils/configs/mlp_speculator.py @@ -2,10 +2,10 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project -from transformers import PretrainedConfig +from transformers import PreTrainedConfig -class MLPSpeculatorConfig(PretrainedConfig): +class MLPSpeculatorConfig(PreTrainedConfig): model_type = "mlp_speculator" attribute_map = { diff --git a/vllm/transformers_utils/configs/moondream3.py b/vllm/transformers_utils/configs/moondream3.py index 8bff5cd10ee7..e8a80082c1ca 100644 --- a/vllm/transformers_utils/configs/moondream3.py +++ b/vllm/transformers_utils/configs/moondream3.py @@ -2,10 +2,10 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project """Configuration for Moondream3 model.""" -from transformers import PretrainedConfig +from transformers import PreTrainedConfig -class Moondream3VisionConfig(PretrainedConfig): +class Moondream3VisionConfig(PreTrainedConfig): """Vision encoder configuration for Moondream3.""" model_type = "moondream3_vision" @@ -43,7 +43,7 @@ def __init__( self.image_size = crop_size -class Moondream3TextConfig(PretrainedConfig): +class Moondream3TextConfig(PreTrainedConfig): """Text decoder configuration for Moondream3.""" model_type = "moondream3_text" @@ -101,7 +101,7 @@ def __init__( self.num_experts_per_tok = self.moe_experts_per_token -class Moondream3Config(PretrainedConfig): +class Moondream3Config(PreTrainedConfig): """Combined configuration for Moondream3 multimodal model.""" model_type = "moondream3" diff --git a/vllm/transformers_utils/configs/moonvit.py b/vllm/transformers_utils/configs/moonvit.py index 6e9b2897f4cc..c7cd34d41df1 100644 --- a/vllm/transformers_utils/configs/moonvit.py +++ b/vllm/transformers_utils/configs/moonvit.py @@ -1,10 +1,10 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project # Adapted from https://huggingface.co/moonshotai/Kimi-VL-A3B-Instruct/blob/main/configuration_kimi_vl.py -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig -class MoonViTConfig(PretrainedConfig): +class MoonViTConfig(PreTrainedConfig): model_type = "moonvit" def __init__( diff --git a/vllm/transformers_utils/configs/moss_transcribe_diarize.py b/vllm/transformers_utils/configs/moss_transcribe_diarize.py index 20abbd8feec9..6d57642f39e4 100644 --- a/vllm/transformers_utils/configs/moss_transcribe_diarize.py +++ b/vllm/transformers_utils/configs/moss_transcribe_diarize.py @@ -3,11 +3,11 @@ from typing import Any -from transformers import PretrainedConfig, Qwen3Config +from transformers import PreTrainedConfig, Qwen3Config from transformers.models.whisper.configuration_whisper import WhisperConfig -class MossTranscribeDiarizeConfig(PretrainedConfig): +class MossTranscribeDiarizeConfig(PreTrainedConfig): """Configuration for MOSS-Transcribe-Diarize.""" model_type = "moss_transcribe_diarize" diff --git a/vllm/transformers_utils/configs/muse_glimmer.py b/vllm/transformers_utils/configs/muse_glimmer.py index 9022c84cf0cc..80c4c4e171f2 100644 --- a/vllm/transformers_utils/configs/muse_glimmer.py +++ b/vllm/transformers_utils/configs/muse_glimmer.py @@ -15,7 +15,7 @@ from __future__ import annotations from transformers import Qwen3Config -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig def _default_no_rope_layers(num_hidden_layers: int) -> list[int]: @@ -27,7 +27,7 @@ def _default_no_rope_layers(num_hidden_layers: int) -> list[int]: ] -class MuseGlimmerTextConfig(PretrainedConfig): +class MuseGlimmerTextConfig(PreTrainedConfig): model_type = "muse_glimmer_text" keys_to_ignore_at_inference = ["past_key_values"] @@ -127,7 +127,7 @@ def __init__( ) -class MuseGlimmerVisionConfig(PretrainedConfig): +class MuseGlimmerVisionConfig(PreTrainedConfig): model_type = "muse_glimmer_vision" def __init__( @@ -177,7 +177,7 @@ def __init__( self.layer_types = layer_types -class MuseGlimmerConfig(PretrainedConfig): +class MuseGlimmerConfig(PreTrainedConfig): model_type = "muse_glimmer" sub_configs = { "text_config": MuseGlimmerTextConfig, diff --git a/vllm/transformers_utils/configs/nemotron.py b/vllm/transformers_utils/configs/nemotron.py index bb15a8b433d9..135a0e1596dc 100644 --- a/vllm/transformers_utils/configs/nemotron.py +++ b/vllm/transformers_utils/configs/nemotron.py @@ -17,22 +17,22 @@ # limitations under the License. """Nemotron model configuration.""" -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from transformers.utils import logging logger = logging.get_logger(__name__) -class NemotronConfig(PretrainedConfig): +class NemotronConfig(PreTrainedConfig): r"""This is the configuration class to store the configuration of a [`NemotronModel`]. It is used to instantiate a Nemotron model according to the specified arguments, defining the model architecture. Instantiating a configuration with the defaults will yield a similar configuration to that of the Nemotron-8B. - Configuration objects inherit from [`PretrainedConfig`] and can be + Configuration objects inherit from [`PreTrainedConfig`] and can be used to control the model outputs. Read the documentation from - [`PretrainedConfig`] for more information. + [`PreTrainedConfig`] for more information. Args: diff --git a/vllm/transformers_utils/configs/nemotron_h.py b/vllm/transformers_utils/configs/nemotron_h.py index c83313edfb48..c25a5d54e3d7 100644 --- a/vllm/transformers_utils/configs/nemotron_h.py +++ b/vllm/transformers_utils/configs/nemotron_h.py @@ -18,13 +18,13 @@ """NemotronH model configuration.""" import regex as re -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from transformers.utils import logging logger = logging.get_logger(__name__) -class NemotronHConfig(PretrainedConfig): +class NemotronHConfig(PreTrainedConfig): r"""This is the configuration class to store the configuration of a [`NemotronHModel`]. It is used to instantiate a NemotronH model according to the specified arguments, defining the model architecture. Instantiating diff --git a/vllm/transformers_utils/configs/olmo_hybrid.py b/vllm/transformers_utils/configs/olmo_hybrid.py index 6e12cdd27402..62d3c4e0d5d1 100644 --- a/vllm/transformers_utils/configs/olmo_hybrid.py +++ b/vllm/transformers_utils/configs/olmo_hybrid.py @@ -2,10 +2,10 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig -class OlmoHybridConfig(PretrainedConfig): +class OlmoHybridConfig(PreTrainedConfig): r"""Configuration class for [`OlmoHybridModel`]. It is used to instantiate an OLMo Hybrid model according to the specified arguments, defining the model architecture. Instantiating a diff --git a/vllm/transformers_utils/configs/openvla.py b/vllm/transformers_utils/configs/openvla.py index 897af8f705dd..dba2f7f5a26d 100644 --- a/vllm/transformers_utils/configs/openvla.py +++ b/vllm/transformers_utils/configs/openvla.py @@ -9,10 +9,10 @@ from typing import Any -from transformers import LlamaConfig, PretrainedConfig +from transformers import LlamaConfig, PreTrainedConfig -class OpenVLAConfig(PretrainedConfig): +class OpenVLAConfig(PreTrainedConfig): """Configuration class for OpenVLA models.""" model_type = "openvla" diff --git a/vllm/transformers_utils/configs/ovis.py b/vllm/transformers_utils/configs/ovis.py index 64629566a399..bc84bfe812fc 100644 --- a/vllm/transformers_utils/configs/ovis.py +++ b/vllm/transformers_utils/configs/ovis.py @@ -7,10 +7,10 @@ # Ovis Config with AimV2 config registration removed for Transformers compatibility from typing import Any -from transformers import AutoConfig, PretrainedConfig +from transformers import AutoConfig, PreTrainedConfig -class AIMv2Config(PretrainedConfig): +class AIMv2Config(PreTrainedConfig): """This is the configuration class to store the configuration of an [`AIMv2Model`]. Instantiating a configuration with the defaults will yield a similar configuration to that of the [apple/aimv2-large-patch14-224](https://huggingface.co/apple/aimv2-large-patch14-224). @@ -29,7 +29,7 @@ class AIMv2Config(PretrainedConfig): projection_dropout: Dropout ratio for the projection layer after the attention. qkv_bias: Whether to add a bias to the queries, keys and values. use_bias: Whether to add a bias in the feed-forward and projection layers. - kwargs: Keyword arguments for the [`PretrainedConfig`]. + kwargs: Keyword arguments for the [`PreTrainedConfig`]. """ @@ -70,7 +70,7 @@ def __init__( # ---------------------------------------------------------------------- # Visual Tokenizer Configuration # ---------------------------------------------------------------------- -class BaseVisualTokenizerConfig(PretrainedConfig): +class BaseVisualTokenizerConfig(PreTrainedConfig): def __init__( self, vocab_size=16384, @@ -78,7 +78,7 @@ def __init__( tau=1.0, depths=None, drop_cls_token=False, - backbone_config: PretrainedConfig | dict | None = None, + backbone_config: PreTrainedConfig | dict | None = None, hidden_stride: int = 1, **kwargs, ): @@ -92,10 +92,10 @@ def __init__( self.backbone_kwargs = dict[str, Any]() self.drop_cls_token = drop_cls_token if backbone_config is not None: - assert isinstance(backbone_config, (PretrainedConfig, dict)), ( - f"expect `backbone_config` to be instance of PretrainedConfig or dict, but got {type(backbone_config)} type" + assert isinstance(backbone_config, (PreTrainedConfig, dict)), ( + f"expect `backbone_config` to be instance of PreTrainedConfig or dict, but got {type(backbone_config)} type" ) - if not isinstance(backbone_config, PretrainedConfig): + if not isinstance(backbone_config, PreTrainedConfig): model_type = backbone_config["model_type"] if model_type != "aimv2": backbone_config.pop("model_type") @@ -139,13 +139,13 @@ def __init__(self, **kwargs): # ---------------------------------------------------------------------- # Ovis Configuration # ---------------------------------------------------------------------- -class OvisConfig(PretrainedConfig): +class OvisConfig(PreTrainedConfig): model_type = "ovis" def __init__( self, - llm_config: PretrainedConfig | dict | None = None, - visual_tokenizer_config: PretrainedConfig | dict | None = None, + llm_config: PreTrainedConfig | dict | None = None, + visual_tokenizer_config: PreTrainedConfig | dict | None = None, multimodal_max_length=8192, hidden_size=None, conversation_formatter_class=None, @@ -155,10 +155,10 @@ def __init__( ): super().__init__(**kwargs) if llm_config is not None: - assert isinstance(llm_config, (PretrainedConfig, dict)), ( - f"expect `llm_config` to be instance of PretrainedConfig or dict, but got {type(llm_config)} type" + assert isinstance(llm_config, (PreTrainedConfig, dict)), ( + f"expect `llm_config` to be instance of PreTrainedConfig or dict, but got {type(llm_config)} type" ) - if not isinstance(llm_config, PretrainedConfig): + if not isinstance(llm_config, PreTrainedConfig): model_type = llm_config["model_type"] llm_config.pop("model_type") llm_config = AutoConfig.for_model(model_type, **llm_config) @@ -166,10 +166,10 @@ def __init__( # map llm_config to text_config self.text_config = llm_config if visual_tokenizer_config is not None: - assert isinstance(visual_tokenizer_config, (PretrainedConfig, dict)), ( - f"expect `visual_tokenizer_config` to be instance of PretrainedConfig or dict, but got {type(visual_tokenizer_config)} type" + assert isinstance(visual_tokenizer_config, (PreTrainedConfig, dict)), ( + f"expect `visual_tokenizer_config` to be instance of PreTrainedConfig or dict, but got {type(visual_tokenizer_config)} type" ) - if not isinstance(visual_tokenizer_config, PretrainedConfig): + if not isinstance(visual_tokenizer_config, PreTrainedConfig): model_type = visual_tokenizer_config["model_type"] visual_tokenizer_config.pop("model_type") visual_tokenizer_config = AutoConfig.for_model( diff --git a/vllm/transformers_utils/configs/parakeet.py b/vllm/transformers_utils/configs/parakeet.py index febd1da446a2..c574317f81de 100644 --- a/vllm/transformers_utils/configs/parakeet.py +++ b/vllm/transformers_utils/configs/parakeet.py @@ -2,7 +2,7 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project from dataclasses import dataclass -from transformers import ParakeetEncoderConfig, PretrainedConfig +from transformers import ParakeetEncoderConfig, PreTrainedConfig class ParakeetConfig(ParakeetEncoderConfig): @@ -24,9 +24,9 @@ def __init__( @staticmethod def from_hf_config( - config: PretrainedConfig, *, llm_hidden_size: int, max_model_len: int + config: PreTrainedConfig, *, llm_hidden_size: int, max_model_len: int ) -> "ParakeetConfig": - assert isinstance(config, PretrainedConfig) + assert isinstance(config, PreTrainedConfig) return ParakeetConfig( **config.to_dict(), scale_input=False, @@ -55,8 +55,8 @@ class ExtractorConfig: padding_value: float = 0.0 @classmethod - def from_hf_config(cls, config: PretrainedConfig) -> "ExtractorConfig": - assert isinstance(config, PretrainedConfig) + def from_hf_config(cls, config: PreTrainedConfig) -> "ExtractorConfig": + assert isinstance(config, PreTrainedConfig) defaults = ("hop_length", "win_length", "preemphasis", "n_fft", "padding_value") optional_kwargs = { name: getattr(config, name) for name in defaults if hasattr(config, name) diff --git a/vllm/transformers_utils/configs/qianfan_ocr.py b/vllm/transformers_utils/configs/qianfan_ocr.py index da004bb90f4f..73df82c8fe0c 100644 --- a/vllm/transformers_utils/configs/qianfan_ocr.py +++ b/vllm/transformers_utils/configs/qianfan_ocr.py @@ -3,11 +3,11 @@ from typing import Any -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from transformers.models.auto import CONFIG_MAPPING -class QianfanOCRVisionConfig(PretrainedConfig): +class QianfanOCRVisionConfig(PreTrainedConfig): model_type = "qianfan_ocr_vision" def __init__( @@ -53,7 +53,7 @@ def __init__( self.use_mean_pooling = use_mean_pooling -class QianfanOCRConfig(PretrainedConfig): +class QianfanOCRConfig(PreTrainedConfig): model_type = "qianfan_ocr" def __init__( diff --git a/vllm/transformers_utils/configs/qwen3_5.py b/vllm/transformers_utils/configs/qwen3_5.py index e30cbe6502d4..57f64f0f7814 100644 --- a/vllm/transformers_utils/configs/qwen3_5.py +++ b/vllm/transformers_utils/configs/qwen3_5.py @@ -16,10 +16,10 @@ # limitations under the License. """Qwen3.5 model configuration.""" -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig -class Qwen3_5TextConfig(PretrainedConfig): +class Qwen3_5TextConfig(PreTrainedConfig): model_type = "qwen3_5_text" keys_to_ignore_at_inference = ["past_key_values"] @@ -108,7 +108,7 @@ def __init__( self.linear_num_value_heads = linear_num_value_heads super().__init__(**kwargs) # Set these AFTER super().__init__() because transformers v4's - # PretrainedConfig.__init__ has these as explicit params with different + # PreTrainedConfig.__init__ has these as explicit params with different # defaults (e.g. tie_word_embeddings=True) that would overwrite our values. self.pad_token_id = pad_token_id self.bos_token_id = bos_token_id @@ -116,7 +116,7 @@ def __init__( self.tie_word_embeddings = tie_word_embeddings -class Qwen3_5VisionConfig(PretrainedConfig): +class Qwen3_5VisionConfig(PreTrainedConfig): model_type = "qwen3_5" base_config_key = "vision_config" @@ -152,7 +152,7 @@ def __init__( self.initializer_range = initializer_range -class Qwen3_5Config(PretrainedConfig): +class Qwen3_5Config(PreTrainedConfig): model_type = "qwen3_5" sub_configs = { "vision_config": Qwen3_5VisionConfig, @@ -186,7 +186,7 @@ def __init__( self.vision_start_token_id = vision_start_token_id self.vision_end_token_id = vision_end_token_id super().__init__(**kwargs) - # Set after super().__init__() to avoid v4 PretrainedConfig overwrite + # Set after super().__init__() to avoid v4 PreTrainedConfig overwrite self.tie_word_embeddings = tie_word_embeddings diff --git a/vllm/transformers_utils/configs/qwen3_5_moe.py b/vllm/transformers_utils/configs/qwen3_5_moe.py index 938272d0280b..34e66c825ac5 100644 --- a/vllm/transformers_utils/configs/qwen3_5_moe.py +++ b/vllm/transformers_utils/configs/qwen3_5_moe.py @@ -16,10 +16,10 @@ # limitations under the License. """Qwen3.5-MoE model configuration.""" -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig -class Qwen3_5MoeTextConfig(PretrainedConfig): +class Qwen3_5MoeTextConfig(PreTrainedConfig): model_type = "qwen3_5_moe_text" keys_to_ignore_at_inference = ["past_key_values"] @@ -120,7 +120,7 @@ def __init__( self.router_aux_loss_coef = router_aux_loss_coef super().__init__(**kwargs) # Set these AFTER super().__init__() because transformers v4's - # PretrainedConfig.__init__ has these as explicit params with different + # PreTrainedConfig.__init__ has these as explicit params with different # defaults (e.g. tie_word_embeddings=True) that would overwrite our values. self.pad_token_id = pad_token_id self.bos_token_id = bos_token_id @@ -128,7 +128,7 @@ def __init__( self.tie_word_embeddings = tie_word_embeddings -class Qwen3_5MoeVisionConfig(PretrainedConfig): +class Qwen3_5MoeVisionConfig(PreTrainedConfig): model_type = "qwen3_5_moe" base_config_key = "vision_config" @@ -164,7 +164,7 @@ def __init__( self.initializer_range = initializer_range -class Qwen3_5MoeConfig(PretrainedConfig): +class Qwen3_5MoeConfig(PreTrainedConfig): model_type = "qwen3_5_moe" sub_configs = { "vision_config": Qwen3_5MoeVisionConfig, @@ -198,7 +198,7 @@ def __init__( self.vision_start_token_id = vision_start_token_id self.vision_end_token_id = vision_end_token_id super().__init__(**kwargs) - # Set after super().__init__() to avoid v4 PretrainedConfig overwrite + # Set after super().__init__() to avoid v4 PreTrainedConfig overwrite self.tie_word_embeddings = tie_word_embeddings diff --git a/vllm/transformers_utils/configs/qwen3_asr.py b/vllm/transformers_utils/configs/qwen3_asr.py index 652c02525fe6..77125e4b22df 100644 --- a/vllm/transformers_utils/configs/qwen3_asr.py +++ b/vllm/transformers_utils/configs/qwen3_asr.py @@ -17,14 +17,14 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from transformers.modeling_rope_utils import rope_config_validation from transformers.utils import logging logger = logging.get_logger(__name__) -class Qwen3ASRAudioEncoderConfig(PretrainedConfig): +class Qwen3ASRAudioEncoderConfig(PreTrainedConfig): r""" This is the configuration class to store the configuration of a [`Qwen3ASRAudioEncoder`]. It is used to instantiate a Qwen3-ASR audio encoder according to the specified arguments, defining the model architecture. Instantiating a @@ -33,8 +33,8 @@ class Qwen3ASRAudioEncoderConfig(PretrainedConfig): e.g. [Qwen/Qwen3-ASR-1.7B](https://huggingface.co/Qwen/Qwen3-ASR-1.7B) - Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the - documentation from [`PretrainedConfig`] for more information. + Configuration objects inherit from [`PreTrainedConfig`] and can be used to control the model outputs. Read the + documentation from [`PreTrainedConfig`] for more information. Args: num_mel_bins (`int`, *optional*, defaults to 128): @@ -130,15 +130,15 @@ def __init__( self.downsample_hidden_size = downsample_hidden_size -class Qwen3ASRTextConfig(PretrainedConfig): +class Qwen3ASRTextConfig(PreTrainedConfig): r""" This is the configuration class to store the configuration of a [`Qwen3ASRTextModel`]. It is used to instantiate a Qwen3-ASR model according to the specified arguments, defining the model architecture. Instantiating a configuration with the defaults will yield a similar configuration to that of Qwen3-ASR-1.7B [Qwen/Qwen3-ASR-1.7B](https://huggingface.co/Qwen/Qwen3-ASR-1.7B) - Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the - documentation from [`PretrainedConfig`] for more information. + Configuration objects inherit from [`PreTrainedConfig`] and can be used to control the model outputs. Read the + documentation from [`PreTrainedConfig`] for more information. Args: vocab_size (`int`, *optional*, defaults to 151936): @@ -285,7 +285,7 @@ def __init__( super().__init__(tie_word_embeddings=tie_word_embeddings, **kwargs) -class Qwen3ASRThinkerConfig(PretrainedConfig): +class Qwen3ASRThinkerConfig(PreTrainedConfig): r""" This is the configuration class to store the configuration of a [`Qwen3ASRThinker`]. It is used to instantiate a Qwen3-ASR-Thinker model according to the specified arguments, defining the model architecture. Instantiating a @@ -294,8 +294,8 @@ class Qwen3ASRThinkerConfig(PretrainedConfig): e.g. [Qwen/Qwen3-ASR-1.7B](https://huggingface.co/Qwen/Qwen3-ASR-1.7B) - Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the - documentation from [`PretrainedConfig`] for more information. + Configuration objects inherit from [`PreTrainedConfig`] and can be used to control the model outputs. Read the + documentation from [`PreTrainedConfig`] for more information. Args: audio_config (`dict`, *optional*): @@ -365,7 +365,7 @@ def __init__( self.audio_token_id = audio_token_id -class Qwen3ASRConfig(PretrainedConfig): +class Qwen3ASRConfig(PreTrainedConfig): """ This is the configuration class to store the configuration of a [`Qwen3ASRForConditionalGeneration`]. It is used to instantiate a Qwen3ASR model according to the specified sub-models configurations, defining the model architecture. @@ -373,8 +373,8 @@ class Qwen3ASRConfig(PretrainedConfig): Instantiating a configuration with the defaults will yield a similar configuration to that of the [Qwen/Qwen3-ASR-1.7B](https://huggingface.co/Qwen/Qwen3-ASR-1.7B) architecture. - Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the - documentation from [`PretrainedConfig`] for more information. + Configuration objects inherit from [`PreTrainedConfig`] and can be used to control the model outputs. Read the + documentation from [`PreTrainedConfig`] for more information. Args: thinker_config (`dict`, *optional*): Configuration of the underlying thinker sub-model. @@ -437,7 +437,7 @@ def __init__( self.timestamp_segment_time = timestamp_segment_time super().__init__(**kwargs) - def get_text_config(self, decoder=False) -> "PretrainedConfig": + def get_text_config(self, decoder=False) -> "PreTrainedConfig": """ Returns the config that is meant to be used with text IO. On most models, it is the original config instance itself. On specific composite models, it is under a set of valid names. diff --git a/vllm/transformers_utils/configs/qwen3_next.py b/vllm/transformers_utils/configs/qwen3_next.py index 8460725bfd04..8b083ff9633d 100644 --- a/vllm/transformers_utils/configs/qwen3_next.py +++ b/vllm/transformers_utils/configs/qwen3_next.py @@ -16,20 +16,20 @@ # limitations under the License. """Qwen3-Next model configuration.""" -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from transformers.utils import logging logger = logging.get_logger(__name__) -class Qwen3NextConfig(PretrainedConfig): +class Qwen3NextConfig(PreTrainedConfig): r"""This is the configuration class to store the configuration of a [`Qwen3NextModel`]. It is used to instantiate a Qwen3-Next model according to the specified arguments, defining the model architecture. Instantiating a configuration with the defaults will yield a similar configuration to that of Qwen3-Next-80B-A3B-Instruct [Qwen/Qwen3-Next-80B-A3B-Instruct](https://huggingface.co/Qwen/Qwen3-Next-80B-A3B-Instruct). - Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the - documentation from [`PretrainedConfig`] for more information. + Configuration objects inherit from [`PreTrainedConfig`] and can be used to control the model outputs. Read the + documentation from [`PreTrainedConfig`] for more information. Args: diff --git a/vllm/transformers_utils/configs/radio.py b/vllm/transformers_utils/configs/radio.py index 4a3e468f84f3..89a56a85ef9e 100644 --- a/vllm/transformers_utils/configs/radio.py +++ b/vllm/transformers_utils/configs/radio.py @@ -4,7 +4,7 @@ from typing import Any -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig from transformers.utils import logging logger = logging.get_logger(__name__) @@ -20,7 +20,7 @@ OPENAI_CLIP_STD = (0.26862954, 0.26130258, 0.27577711) -class RadioConfig(PretrainedConfig): +class RadioConfig(PreTrainedConfig): r"""This is the configuration class to store the configuration of a Radio vision model. It is used to instantiate a Radio model according to the specified arguments, defining the model architecture. diff --git a/vllm/transformers_utils/configs/speculators/base.py b/vllm/transformers_utils/configs/speculators/base.py index a867749dbaac..cb188a1ef0a2 100644 --- a/vllm/transformers_utils/configs/speculators/base.py +++ b/vllm/transformers_utils/configs/speculators/base.py @@ -4,7 +4,7 @@ from dataclasses import fields from typing import Any -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm.transformers_utils.configs.speculators.algos import ( SUPPORTED_SPECULATORS_TYPES, @@ -12,13 +12,13 @@ from vllm.transformers_utils.utils import without_trust_remote_code -class SpeculatorsConfig(PretrainedConfig): +class SpeculatorsConfig(PreTrainedConfig): model_type = "speculators" def __init__(self, **kwargs): # super().__init__ performs some validation before setting all kwargs as # attributes, so we set them first to be safe - pre_trained_config_fields = {f.name for f in fields(PretrainedConfig)} + pre_trained_config_fields = {f.name for f in fields(PreTrainedConfig)} super_kwargs = dict() for key, value in kwargs.items(): if key == "model_type": diff --git a/vllm/transformers_utils/configs/step3_vl.py b/vllm/transformers_utils/configs/step3_vl.py index 0ee650a70451..c19030e55448 100644 --- a/vllm/transformers_utils/configs/step3_vl.py +++ b/vllm/transformers_utils/configs/step3_vl.py @@ -2,10 +2,10 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project from typing import Any -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig -class Step3VisionEncoderConfig(PretrainedConfig): +class Step3VisionEncoderConfig(PreTrainedConfig): model_type = "step3_vision_encoder" def __init__( @@ -35,7 +35,7 @@ def __init__( super().__init__(**kwargs) -class Step3TextConfig(PretrainedConfig): +class Step3TextConfig(PreTrainedConfig): model_type = "step3_text" architectures = ["Step3TextForCausalLM"] @@ -146,7 +146,7 @@ def __init__( super().__init__(**kwargs) -class Step3VLConfig(PretrainedConfig): +class Step3VLConfig(PreTrainedConfig): model_type = "step3_vl" def __init__( diff --git a/vllm/transformers_utils/configs/step3p5.py b/vllm/transformers_utils/configs/step3p5.py index d67b9dfff5f6..1b8ac82a7955 100644 --- a/vllm/transformers_utils/configs/step3p5.py +++ b/vllm/transformers_utils/configs/step3p5.py @@ -2,10 +2,10 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project from typing import Any -from transformers.configuration_utils import PretrainedConfig +from transformers.configuration_utils import PreTrainedConfig -class Step3p5Config(PretrainedConfig): +class Step3p5Config(PreTrainedConfig): model_type = "step3p5" def __init__( diff --git a/vllm/transformers_utils/configs/ultravox.py b/vllm/transformers_utils/configs/ultravox.py index b8bd0031994a..669fe7be485a 100644 --- a/vllm/transformers_utils/configs/ultravox.py +++ b/vllm/transformers_utils/configs/ultravox.py @@ -7,14 +7,14 @@ import transformers -class UltravoxConfig(transformers.PretrainedConfig): +class UltravoxConfig(transformers.PreTrainedConfig): r"""This is the configuration class to store the configuration of a [`UltravoxForConditionalGeneration`]. It is used to instantiate an Ultravox model according to the specified arguments, defining the model architecture. - Configuration objects inherit from [`PretrainedConfig`] and can be used to - control the model outputs. Read the documentation from [`PretrainedConfig`] + Configuration objects inherit from [`PreTrainedConfig`] and can be used to + control the model outputs. Read the documentation from [`PreTrainedConfig`] for more information. Args: @@ -74,7 +74,7 @@ def __init__( self.num_projector_layers = num_projector_layers # N.B. May set the wrapped_model_config below. - self.wrapped_model_config: transformers.PretrainedConfig + self.wrapped_model_config: transformers.PreTrainedConfig self.text_model_id = text_model_id if text_model_id is None: text_config = text_config or {} @@ -113,7 +113,7 @@ def __setattr__(self, key, value): return super().__setattr__(key, value) @property - def text_config(self) -> transformers.PretrainedConfig: + def text_config(self) -> transformers.PreTrainedConfig: # When Ultravox wraps a multi-modal model (e.g. Gemma), we instantiate # the full model, but the text config is the text config of the inner # model. diff --git a/vllm/transformers_utils/model_arch_config_convertor.py b/vllm/transformers_utils/model_arch_config_convertor.py index f0126ca34581..9386e9a328fa 100644 --- a/vllm/transformers_utils/model_arch_config_convertor.py +++ b/vllm/transformers_utils/model_arch_config_convertor.py @@ -5,7 +5,7 @@ import torch from safetensors.torch import _TYPES as _SAFETENSORS_TO_TORCH_DTYPE -from transformers import PretrainedConfig +from transformers import PreTrainedConfig from vllm import envs from vllm.config.model_arch import ( @@ -26,8 +26,8 @@ class ModelArchConfigConvertorBase: def __init__( self, - hf_config: PretrainedConfig, - hf_text_config: PretrainedConfig, + hf_config: PreTrainedConfig, + hf_text_config: PreTrainedConfig, revision: str | None = None, ): self.hf_config = hf_config @@ -36,7 +36,7 @@ def __init__( def get_per_layer_hf_configs( self, - ) -> list[tuple[PretrainedConfig, PretrainedConfig]] | None: + ) -> list[tuple[PreTrainedConfig, PreTrainedConfig]] | None: """`(hf_config, hf_text_config)` per layer, or `None` if homogeneous. This is the only place that decides whether a checkpoint is heterogeneous @@ -219,7 +219,7 @@ def get_num_experts_per_token(self) -> int: @classmethod def get_torch_dtype( cls, - hf_config: PretrainedConfig, + hf_config: PreTrainedConfig, model_id: str, revision: str | None, config_format: str | ConfigFormat, @@ -257,7 +257,7 @@ def get_torch_dtype( return config_dtype - def _normalize_quantization_config(self, config: PretrainedConfig): + def _normalize_quantization_config(self, config: PreTrainedConfig): quant_cfg = getattr(config, "quantization_config", None) if quant_cfg is None: # compressed-tensors uses a "compression_config" key @@ -585,8 +585,8 @@ def get_num_hidden_layers(self) -> int: class DeepseekV4ModelArchConfigConvertor(ModelArchConfigConvertorBase): def __init__( self, - hf_config: PretrainedConfig, - hf_text_config: PretrainedConfig, + hf_config: PreTrainedConfig, + hf_text_config: PreTrainedConfig, revision: str | None = None, ): # DeepSeek-V4-Flash-Vision-Exp ships the same architectures/model_type @@ -622,7 +622,7 @@ def get_num_hidden_layers(self) -> int: def _strip_mimo_v2_attention_chunk_size( - hf_config: PretrainedConfig, hf_text_config: PretrainedConfig + hf_config: PreTrainedConfig, hf_text_config: PreTrainedConfig ) -> None: # MiMo-V2-Flash's config.json sets `attention_chunk_size=128` but the # architecture does not actually use chunked local attention. Leaving it @@ -635,8 +635,8 @@ def _strip_mimo_v2_attention_chunk_size( class MimoV2ModelArchConfigConvertor(ModelArchConfigConvertorBase): def __init__( self, - hf_config: PretrainedConfig, - hf_text_config: PretrainedConfig, + hf_config: PreTrainedConfig, + hf_text_config: PreTrainedConfig, revision: str | None = None, ): if getattr(hf_config, "vision_config", None): @@ -648,8 +648,8 @@ def __init__( class MimoV2MTPModelArchConfigConvertor(ModelArchConfigConvertorBase): def __init__( self, - hf_config: PretrainedConfig, - hf_text_config: PretrainedConfig, + hf_config: PreTrainedConfig, + hf_text_config: PreTrainedConfig, revision: str | None = None, ): super().__init__(hf_config, hf_text_config, revision) @@ -742,7 +742,7 @@ def is_mm_prefix_lm(self, supports_multimodal: bool = True) -> bool: def get_per_layer_hf_configs( self, - ) -> list[tuple[PretrainedConfig, PretrainedConfig]] | None: + ) -> list[tuple[PreTrainedConfig, PreTrainedConfig]] | None: # Gemma4 uses a larger head dimension, and sometimes more KV heads, on its # full attention layers than on its sliding ones. Transformers >= 5.15.0 # says so in the config; before that the values are flat attributes picked @@ -763,7 +763,7 @@ def get_per_layer_hf_configs( class MossAudioModelArchConfigConvertor(ModelArchConfigConvertorBase): - def _language_config(self) -> PretrainedConfig: + def _language_config(self) -> PreTrainedConfig: return self.hf_config.language_config def get_num_hidden_layers(self) -> int: diff --git a/vllm/transformers_utils/processors/glm4v.py b/vllm/transformers_utils/processors/glm4v.py index e9ee497cea68..605cd7e34a1c 100644 --- a/vllm/transformers_utils/processors/glm4v.py +++ b/vllm/transformers_utils/processors/glm4v.py @@ -4,12 +4,12 @@ # Adapted from # https://github.com/zai-org/CogAgent from transformers import PythonBackend -from transformers.image_processing_utils_fast import BaseImageProcessorFast +from transformers.image_processing_backends import TorchvisionBackend from transformers.image_utils import PILImageResampling from transformers.processing_utils import ProcessorMixin -class GLM4VImageProcessorFast(BaseImageProcessorFast): +class GLM4VImageProcessorFast(TorchvisionBackend): """Port of https://huggingface.co/zai-org/glm-4v-9b/blob/main/tokenization_chatglm.py#L177 to HF Transformers. """ diff --git a/vllm/transformers_utils/processors/glm5next.py b/vllm/transformers_utils/processors/glm5next.py index b6988d3b8fed..a6cba9d77f17 100644 --- a/vllm/transformers_utils/processors/glm5next.py +++ b/vllm/transformers_utils/processors/glm5next.py @@ -7,12 +7,12 @@ import numpy as np import torch from torchvision.transforms.v2 import functional as tvF -from transformers.image_processing_utils import BatchFeature -from transformers.image_processing_utils_fast import ( - BaseImageProcessorFast, +from transformers.image_processing_backends import ( + TorchvisionBackend, group_images_by_shape, reorder_images, ) +from transformers.image_processing_utils import BatchFeature from transformers.image_utils import ( OPENAI_CLIP_MEAN, OPENAI_CLIP_STD, @@ -327,7 +327,7 @@ class Glm5NextImageProcessorKwargs(ImagesKwargs, total=False): # type: ignore[c max_image_tokens: int | None -class Glm5NextImageProcessor(BaseImageProcessorFast): +class Glm5NextImageProcessor(TorchvisionBackend): """Fast torchvision image processor for GLM-5.3-Flash. ``patch_expand_factor`` multiplies into the ``smart_resize`` spatial @@ -759,7 +759,7 @@ class Glm5NextProcessor(ProcessorMixin): attributes = ["image_processor", "tokenizer", "video_processor"] image_processor_class = "AutoImageProcessor" video_processor_class = "AutoVideoProcessor" - tokenizer_class = ("PreTrainedTokenizer", "PreTrainedTokenizerFast") + tokenizer_class = ("PythonBackend", "TokenizersBackend") def __init__( self, diff --git a/vllm/transformers_utils/processors/minimax_m3.py b/vllm/transformers_utils/processors/minimax_m3.py index dbf47d0b1196..237b1b5f1e1b 100644 --- a/vllm/transformers_utils/processors/minimax_m3.py +++ b/vllm/transformers_utils/processors/minimax_m3.py @@ -18,8 +18,8 @@ import torch from torchvision.transforms import InterpolationMode from transformers import AutoTokenizer, BatchFeature -from transformers.image_processing_utils_fast import ( - BaseImageProcessorFast, +from transformers.image_processing_backends import ( + TorchvisionBackend, group_images_by_shape, reorder_images, ) @@ -156,7 +156,7 @@ class MiniMaxM3VLImageProcessorKwargs(ImagesKwargs, total=False): # type: ignor max_long_side_pixel: int -class MiniMaxM3VLImageProcessor(BaseImageProcessorFast): +class MiniMaxM3VLImageProcessor(TorchvisionBackend): do_resize = True resample = PILImageResampling.BICUBIC # required by base-class validation, not used as the resize bound diff --git a/vllm/transformers_utils/processors/muse_glimmer.py b/vllm/transformers_utils/processors/muse_glimmer.py index c1a5326ea1f1..baacbcf0c184 100644 --- a/vllm/transformers_utils/processors/muse_glimmer.py +++ b/vllm/transformers_utils/processors/muse_glimmer.py @@ -437,7 +437,7 @@ class MuseGlimmerProcessor(ProcessorMixin): attributes = ["image_processor", "video_processor", "tokenizer"] image_processor_class = "AutoImageProcessor" video_processor_class = "AutoVideoProcessor" - tokenizer_class = "PreTrainedTokenizerFast" + tokenizer_class = "TokenizersBackend" def __init__( self, diff --git a/vllm/transformers_utils/processors/nano_nemotron_vl.py b/vllm/transformers_utils/processors/nano_nemotron_vl.py index 0e29cd4cec27..9572b7c4a76d 100644 --- a/vllm/transformers_utils/processors/nano_nemotron_vl.py +++ b/vllm/transformers_utils/processors/nano_nemotron_vl.py @@ -20,7 +20,7 @@ import regex as re import torch from PIL import Image -from transformers import BatchFeature, PretrainedConfig, TensorType +from transformers import BatchFeature, PreTrainedConfig, TensorType from vllm.model_executor.models.parakeet import ParakeetExtractor from vllm.multimodal.inputs import AudioItem @@ -584,7 +584,7 @@ class BaseNanoNemotronVLProcessor(ABC): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, tokenizer: HfTokenizer, *args, max_model_len: int, @@ -623,7 +623,7 @@ def __init__( self.dtype: torch.dtype = getattr(config, "dtype", torch.float32) @staticmethod - def use_dynamic_resolution(config: PretrainedConfig) -> bool: + def use_dynamic_resolution(config: PreTrainedConfig) -> bool: return "min_num_patches" in config.vision_config.args @property @@ -771,7 +771,7 @@ class NanoNemotronVLProcessor(BaseNanoNemotronVLProcessor): def __init__( self, - config: PretrainedConfig, + config: PreTrainedConfig, tokenizer: HfTokenizer, *, max_model_len: int,