Sparse autoencoders: making features visible
In short: A sparse autoencoder (SAE) breaks the inner activations of a language model into many single, more understandable features. This shows which concepts the model is “thinking” of right now.
The problem
A single neuron in the network rarely stands for exactly one concept. It responds to a mixture (polysemanticity) because the network stores many more concepts than it has neurons and overlays them (superposition). That makes interpretability hard.
The solution
An SAE is a small network next to the model:
- It takes the activation of a layer (a vector).
- It maps it onto a much larger vector (for example 16 times), in which almost all entries are zero (“sparse”).
- From that it reconstructs the original activation.
During training every non-zero entry is penalised in addition to the reconstruction error (see Autoencoder and VAE). What remains are few active features per input, and many of them have a clear meaning, such as “Golden Gate Bridge”, “code bug” or “deception”.
What you do with it
- Look at and name features.
- Amplify or dampen a feature artificially to steer behaviour.
- Search for features of unwanted behaviour.
Limits: not every feature is interpretable, the reconstruction is not perfect and the method is expensive. It is an active research field.
See also: Safety, alignment and jailbreaks