Skip to content

[Bug] Optional Transformers model submodules can break vLLM model imports #48819

Description

@host452b

Summary

Some vLLM model modules import optional/new Transformers model submodules at module import time. With Transformers versions that do not provide those submodules yet, importing the vLLM model module fails immediately with ModuleNotFoundError.

The hard blockers I verified are:

  • vllm.model_executor.models.exaone4_5 imports transformers.models.exaone4_5
  • vllm.model_executor.models.gemma4_unified imports transformers.models.gemma4_unified

This is separate from looser Transformers config constructor kwargs such as rope_theta, dropout, block_pool_size, and partial_rotary_factor: those currently do not crash at constructor runtime because Transformers still accepts/normalizes extra kwargs.

Affected Transformers scope

Verified package-level scope:

Transformers version transformers.models.exaone4_5 transformers.models.gemma4_unified Result
5.6.0 missing missing affected
5.12.0 present present not affected by this missing-submodule issue
5.14.0 present present not affected by this missing-submodule issue

Verification commands:

uv run --no-project --python 3.12 --with transformers==5.6.0 python - <<'PY'
import importlib
import transformers
print("transformers", transformers.__version__)
for name in ["transformers.models.exaone4_5", "transformers.models.gemma4_unified"]:
    try:
        importlib.import_module(name)
        print("present", name)
    except Exception as exc:
        print("missing", name, type(exc).__name__, exc)
PY

uv run --no-project --python 3.12 --with transformers==5.12.0 python - <<'PY'
import importlib
import transformers
print("transformers", transformers.__version__)
for name in ["transformers.models.exaone4_5", "transformers.models.gemma4_unified"]:
    try:
        importlib.import_module(name)
        print("present", name)
    except Exception as exc:
        print("missing", name, type(exc).__name__, exc)
PY

Observed:

transformers 5.6.0
missing transformers.models.exaone4_5 ModuleNotFoundError No module named 'transformers.models.exaone4_5'
missing transformers.models.gemma4_unified ModuleNotFoundError No module named 'transformers.models.gemma4_unified'

transformers 5.12.0
present transformers.models.exaone4_5
present transformers.models.gemma4_unified

I have not verified every intermediate Transformers release between 5.6.0 and 5.12.0, so the exact first non-affected version is intentionally not claimed here.

Reproduction

In an environment where the corresponding Transformers submodule is absent, module import fails before vLLM can gracefully handle the unsupported optional architecture:

import importlib

for module in [
    "vllm.model_executor.models.exaone4_5",
    "vllm.model_executor.models.gemma4_unified",
]:
    importlib.import_module(module)

Observed failures:

ModuleNotFoundError: No module named 'transformers.models.exaone4_5'
ModuleNotFoundError: No module named 'transformers.models.gemma4_unified'

Expected behavior

vLLM's registry/model-module import path should not fail just because an optional HF model submodule is absent. The import should succeed, and the model-specific config/processor access should fail later with a clear Transformers-version requirement if the user actually selects that model.

Duplicate-work check

I checked open vLLM PRs/issues with:

gh pr list --repo vllm-project/vllm --state open --search "exaone4_5 transformers ModuleNotFoundError"
gh pr list --repo vllm-project/vllm --state open --search "gemma4_unified transformers ModuleNotFoundError"
gh pr list --repo vllm-project/vllm --state open --search "EXAONE 4.5"
gh pr list --repo vllm-project/vllm --state open --search "Gemma 4 Unified"
gh issue list --repo vllm-project/vllm --state open --search "ModuleNotFoundError transformers.models.exaone4_5"
gh issue list --repo vllm-project/vllm --state open --search "ModuleNotFoundError transformers.models.gemma4_unified"

Closest open PRs found were unrelated:

AI assistance was used to investigate and prepare this report.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions