Supported models
Which model families work with which parts of louped.
louped works with a model family when it can find the model's layers. Tests run on a tiny model offline; real checkpoints are not downloaded in CI.
tested: covered by the tests. smoke: run once on a small random copy of the architecture. expected: should work, not run. no: does not work.
| Family | Interventions and analyses | Evals | LoRA training | SAE features |
|---|---|---|---|---|
| Qwen2, Qwen2.5 | tested | tested | tested | tested |
| Qwen3 | smoke | expected | expected | expected |
| Llama 2, 3 | smoke | expected | expected | expected |
| Mistral | smoke | expected | expected | expected |
| Gemma 2, Gemma 3 1B | smoke | expected | expected | expected |
| Phi-3 | smoke | expected | set target modules | expected |
| GPT-2, GPT-NeoX, Pythia | smoke | needs a chat template | set target modules | expected |
| Gemma 3 4B and up | no | expected | expected | no |
Masked diffusion models (LLaDA, Dream, nanoDiff, any Hugging Face masked LM) work for evals, training and adapter phases, but not for interventions or analyses.
A model with its own code on the Hub loads with remote_code=true. This runs that code on your
machine, so use it only for repositories you trust, and pin revision.
To add a family whose layers live elsewhere, add its path to BLOCK_PATHS (and the norm, attention
and output paths) in src/louped/models/load.py.