Skip to content

TransformerLens Support

SafeLens vendors TransformerLens' official model-name table for static inspection and adapter selection. Runtime loading stays inside SafeLens through TransformerLensCompatibleModelWrapper, which uses Transformers auto classes and SafeLens architecture adapters. It does not import transformer-lens.

List the vendored names:

safelens models list-transformerlens
safelens models list-transformerlens --json

Use the compatibility adapter:

model:
  source: transformer_lens
  name: gpt2

Component hooks are resolved by SafeLens.utils.model_bridge. The current bridge covers GPT-2, GPT-J, GPT-Neo, GPT-NeoX/Pythia, BLOOM/Falcon, MPT, Phi, OPT, BERT/RoBERTa, DistilBERT, T5 encoder-stack, Wav2Vec2/Hubert audio encoders, and LLaMA-like decoder families including Qwen/Qwen2/Qwen3, LLaMA, Mistral, Mixtral, Gemma, OLMo, StableLM, and Yi.

TransformerLens model coverage metadata.

The official names below mirror TransformerLens' legacy supported_models.py list consulted on 2026-06-02. SafeLens also carries a small set of TransformerBridge-style architecture aliases where modern TransformerLens support is architecture-based rather than a fixed checkpoint list. Runtime loading stays inside SafeLens' own Transformers-based wrappers; this module is a compatibility target, not a dependency bridge.

is_transformer_lens_native_checkpoint(model_name)

Return whether a name resolves to a native HookedTransformer checkpoint repo.

Source code in src/SafeLens/utils/transformer_lens_support.py
1106
1107
1108
1109
1110
def is_transformer_lens_native_checkpoint(model_name: str) -> bool:
    """Return whether a name resolves to a native HookedTransformer checkpoint repo."""
    resolved = resolve_transformer_lens_compatible_model_name(model_name)
    lowered_values = (model_name.lower(), resolved.lower())
    return any(lowered in _TRANSFORMER_LENS_NATIVE_CHECKPOINT_NAMES for lowered in lowered_values)

is_transformer_lens_official_model_name(model_name)

Return whether a model name or alias resolves to the vendored official list.

Source code in src/SafeLens/utils/transformer_lens_support.py
1113
1114
1115
1116
1117
1118
def is_transformer_lens_official_model_name(model_name: str) -> bool:
    """Return whether a model name or alias resolves to the vendored official list."""
    lowered = model_name.lower()
    official = {name.lower() for name in TRANSFORMER_LENS_OFFICIAL_MODEL_NAMES}
    official_alias = TRANSFORMER_LENS_OFFICIAL_MODEL_ALIASES.get(lowered)
    return lowered in official or official_alias is not None and official_alias.lower() in official

is_transformer_lens_supported_model_name(model_name)

Return whether a model name or common alias is in the compatibility table.

Source code in src/SafeLens/utils/transformer_lens_support.py
1121
1122
1123
1124
1125
1126
1127
def is_transformer_lens_supported_model_name(model_name: str) -> bool:
    """Return whether a model name or common alias is in the compatibility table."""
    lowered = model_name.lower()
    official = {name.lower() for name in TRANSFORMER_LENS_OFFICIAL_MODEL_NAMES}
    aliases = {name.lower() for name in TRANSFORMER_LENS_COMMON_ALIASES}
    compatible_aliases = {name.lower() for name in TRANSFORMER_LENS_COMPATIBLE_MODEL_ALIASES}
    return lowered in official or lowered in aliases or lowered in compatible_aliases

resolve_transformer_lens_compatible_model_name(model_name)

Resolve common TransformerLens aliases to public Transformers IDs.

Source code in src/SafeLens/utils/transformer_lens_support.py
1101
1102
1103
def resolve_transformer_lens_compatible_model_name(model_name: str) -> str:
    """Resolve common TransformerLens aliases to public Transformers IDs."""
    return TRANSFORMER_LENS_COMPATIBLE_MODEL_ALIASES.get(model_name.lower(), model_name)

transformer_lens_model_kind(model_name)

Return the SafeLens compatibility family needed for a model.

Source code in src/SafeLens/utils/transformer_lens_support.py
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
def transformer_lens_model_kind(model_name: str) -> str:
    """Return the SafeLens compatibility family needed for a model."""
    lowered = resolve_transformer_lens_compatible_model_name(model_name).lower()
    if "wav2vec2" in lowered or "hubert" in lowered:
        return "audio_encoder"
    if lowered == "t5" or "t5-" in lowered or "google-t5/" in lowered:
        return "encoder_decoder"
    if lowered in {"bert", "roberta", "distilbert"} or any(
        marker in lowered for marker in ("bert-", "google-bert/", "roberta", "distilbert")
    ):
        return "encoder"
    return "decoder"

transformer_lens_official_model_names()

Return the vendored TransformerLens-compatible official model names.

Source code in src/SafeLens/utils/transformer_lens_support.py
1096
1097
1098
def transformer_lens_official_model_names() -> list[str]:
    """Return the vendored TransformerLens-compatible official model names."""
    return list(TRANSFORMER_LENS_OFFICIAL_MODEL_NAMES)