AboutArticlesPublicationsProjects

Single-Token Features

Are Single-Token Sparse Autoencoder Features Causally Necessary? Layer-Depth and SAE-Family Effects

208 layer conditions, 7 model and SAE pairs
Delete a single-token feature and the token goes; delete a matched control and nothing moves
thick band is the single-token feature, thin band below it is its matched control, each band on its own scale; hover for the absolute numbers
What you are looking at

One box is one layer of one model.

Bluer means the model lost that token.

The thin bar is a control, 57x smaller.

Authors

  • Seonglae Cho1, 2
  • Zekun Wu1, 2
  • Kleyton Da Costa1
  • Rishi Kalra1
  • Ilham Wicaksono1
  • Adriano Koshiyama1, 2

Published

Aug. 2026

Paper

Table of Contents

TL;DR

To read a language model from the inside, interpretability research splits its internal activity into thousands of features (Elhage et al., 2022; Olah et al., 2020). Each is meant to stand for a single thing the model tracks — the tool that does the splitting is a

sparse autoencoder
, or SAE. A few of the features it finds are unusually easy to check — because they fire on exactly one token and nothing else.

Delete one of those, and the model gets measurably worse at producing that token. That holds in 178 of 208 layer conditions — across six models and three collections of SAEs.

Then we did the same thing with a different SAE trained on the same base model. And the effect mostly went away: the token came back on its own 96 to 98 percent of the time.

That’s the awkward part: a feature can look identical under two SAEs, point at the same token, and still be load-bearing in one and disposable in the other, so the causal claim you get out of an SAE is partly a claim about the SAE.

Press the button. Both SAEs were trained on the same model and both found a feature for the token “al” — and only one of them is carrying it.

One token, two SAEs
Figure 1. The token "al" at layer 22 of Gemma-2-2B, deleted under each SAE in turn. Same token, same model, same layer, seven times apart.

Everything below is what had to hold before that comparison was worth making. That the features are real. That deleting one costs the model something. That the cost is not an artifact of how we found them.

The question

Interpretability work leans on a convenient assumption — that a feature found by one sparse autoencoder (Bricken et al., 2023; Cunningham et al., 2024) is roughly the feature another one would find: it’s convenient because otherwise every steering result, every circuit, every edit is scoped to a checkpoint rather than to a model.

Nobody had really tested it causally (Lan et al., 2024; Lindsey et al., 2024) — and the reason is mundane: to compare “the same feature” across two SAEs you first need to know when two features are the same, and for a feature that means something like deference in formal registers there’s no ground truth to appeal to.

Single-token features
get around this.

They’re the closest thing a sparse autoencoder has to a grandmother cell (Gross, 2002). Two features that fire on ” Paris” are matched, whichever SAEs produced them, because the vocabulary is shared. They’re not the interesting features — they’re the ones where the comparison is actually valid.

Single-token features are roughly 1.5 percent of features (Templeton et al., 2024) at the operating point we use on GPT2-Small, and less than that on the larger models. We’re not claiming they’re representative: we’re claiming they’re checkable, which is what a diagnostic needs to be.

Finding the features

Three conditions, all of them computed from a feature’s top 20 activating tokens (Lin & Bloom, 2023):

Gap ratio asks whether the top token really dominates: gap=(v1v2)/v1\text{gap} = (v_1 - v_2)/v_1, from the top two activation values. Lexical purity asks how much of the top-20 list is that same token — after stripping the word-boundary prefix and case-folding. Complete word throws out subword fragments by requiring a word-boundary prefix. We cross-check the resulting set against auto-generated explanations. That signal is useful, but it is known to be imperfect (Ma et al., 2025).

At gap 0.3\geq 0.3 and purity 0.6\geq 0.6 this admits 364 of GPT2-Small’s (Radford et al., 2019) 24,576 Layer-0 features: it’s a deliberately tight operating point (under a Dirichlet null over 20 tokens, the 99th-percentile gap ratio is 0.77, well above the 0.3 threshold, so the cut is nowhere near the null’s tail).

Choosing the cut
Figure 2. Four operating points on GPT2-Small, loose to tight. Every step throws features away and buys agreement with a check that never saw the thresholds. Toggle to read the same four cuts through decoder geometry instead.

The operating point isn’t the interesting choice here — the shape of the trade-off is. Both validation signals rise monotonically as the cut tightens — so there is no threshold at which the category stops looking real and starts looking like an artifact of where we drew the line.

For the ablation experiments we needed a detector that doesn’t depend on activations at all — the TopK-to-JumpReLU conversion the LlamaScope authors ship with it (He et al., 2024) changes the activation distribution enough that activation-based detection finds almost nothing. So we switched to decoder-alignment detection — we take the cosine similarity between each decoder vector and every token embedding, keep the top 20, and select features whose gap ratio clears the 99th percentile of that layer’s own distribution, with a top-1 cosine over 0.2.

Distinct geometry

Before we touch causality, single-token features separate on geometry alone — which matters because geometry doesn’t know what our activation thresholds were.

Single-token decoder vectors sit 4.7 times tighter in mean pairwise cosine than polysemantic ones: we also find those vectors aligning 1.72 times more strongly with token embeddings (p<1042p < 10^{-42}), as the linear representation hypothesis would predict (Park et al., 2023). Levina and Bickel estimate dimension from how fast a point’s neighbor count grows with radius, assuming no linear subspace (Levina & Bickel, 2004). On that estimator these vectors occupy manifolds of intrinsic dimension 60 to 107, and polysemantic features span 118 to 180. And in GPT2-Small, 91 percent of single-token features sit in Layer 0 — exactly where we would put token identity if we were designing the model by hand.

Geometry alone separates them
Figure 3. Three measures that never saw an activation threshold, on GPT2-Small Layer 0. Toggle to the second view for where single-token features sit by layer, in GPT2-Small and in Gemma-2-2B.

That Layer-0 rule does not travel: Gemma-2-2B (Team et al., 2024) spreads the same kind of feature over its first few layers and picks the count back up near the output — so the concentration is a fact about GPT2 rather than about transformers.

Ablating a feature costs the model its token

Our ablation is deliberately blunt (Marks et al., 2025). Wherever the feature is active, we scale its decoder direction by that activation and subtract it. Then we run the forward pass again, and the damage shows up as a drop in the target token’s logit — the score the model assigns it before the softmax (nostalgebraist, 2020).

Each single-token feature is paired with a control — a feature from the non-single-token population, with activation magnitude matched at the same positions:

Delete it yourself
Figure 4. One real feature at a time. Pick a token, delete the feature that fires on it, and watch where the model puts that token afterwards. The matched control is ablated at the same positions and scored against the same token.

Four of them, one line each, so the claim is checkable rather than asserted:

The control lane is the part worth watching: it’s the same protocol on a feature that isn’t single-token — at the same layer and the same positions — so whatever it does is what ablation costs on its own.

In seven full-depth configurations, we find a significant reduction in 178 of 208 layer conditions, under a one-sided test on the signed change with a single Benjamini-Hochberg correction covering all of them.

178 of 208
Figure 5. Every layer condition as one observation. Single-token ablations cost the target token a full logit and beyond; the magnitude-matched controls never leave the origin.

Where the damage lands

Ablation hurts either way; what matters is where the damage shows up.

Late-layer features act on the output directly, and we watch the damage grow with depth: Spearman ρ=0.97\rho = 0.97 on Gemma-2-2B BatchTopK, 0.700.70 for GemmaScope on the same model, 0.810.81 at 9B. Early-layer features are anchors — ablating them barely moves the local readout but disrupts layers above, and the anchoring effect runs the other way with depth (ρ=0.65\rho = -0.65).

Two roles, one mechanism, split by depth — the control row in the opening figure sits flat near zero — at every depth, in every configuration.

The same token, two verdicts

The comparison at the top of this page is the whole result in one token. Here is what sits behind it.

Deleting the GemmaScope feature costs 0.38 in logit. The BatchTopK feature for the same token costs 2.72 — and nothing about the model changed between those two numbers. Across all 474 matched pairs the split is systematic, and the ordering is inconvenient — code and math tokens, the ones a tokenizer already treats as units, are the ones that survive the switch. Function words, where most steering and circuit work actually operates, agree least: 29 percent against 93.

Anchored or replaceable
Figure 6. Anchoring against recovery for all seven full-depth configurations. The two dots swap sides by SAE family.

GemmaScope and BatchTopK anchor 92 to 100 percent of their source layers — and their features recover 62 to 71 percent of the time. Both LlamaScope configurations invert it — they anchor 31 and 34 percent of layers, and recovery climbs to 97.7 and 95.5 percent: same tokens, matched by construction. One family’s features are load-bearing, the other’s are replaceable.

The prevalence gap points the same way — 46 times more single-token features under GemmaScope than LlamaScope (at comparable 8 to 9B scale). We treat that number as a magnitude bound rather than an attribution — because the two sides differ in base model, tokenizer, training corpus, dictionary width, and a post-hoc activation conversion all at once.

It is not the activation function

The obvious explanation is the activation function (Rajamanoharan et al., 2024): GemmaScope is JumpReLU (Lieberum et al., 2024; Rajamanoharan, Lieberum, et al., 2024), LlamaScope is TopK (Gao et al., 2025), and TopK’s competition among features (Makhzani & Frey, 2014) is exactly the kind of thing that would redistribute causal load.

It doesn’t hold up. Holding base model, layer, and dictionary width fixed and varying only the activation function (N=142N = 142), the sign reverses — JumpReLU comes out ahead of TopK at p=0.036p = 0.036. Meanwhile the token-matched BatchTopK (Bussmann et al., 2024) against GemmaScope comparison on the same base model (N=627N = 627) goes the other way, p=1.2×1018p = 1.2 \times 10^{-18}.

The activation function points the other way
Figure 7. Two within-model comparisons on Gemma-2-2B. BatchTopK is a TopK-family autoencoder and it beats JumpReLU-family GemmaScope; isolate the activation function and JumpReLU beats TopK.

Two comparisons on the same model, opposite signs. Whatever drives the family split — the activation function alone isn’t it. And that leaves the training recipe as the candidate we can’t rule out.

Is the detector doing the work?

Here is the objection a reviewer raised — and it’s the right one. We select features by how well their decoder vector aligns with a token embedding — then measure what happens to that same token: subtracting a direction that points at ” Paris” should hurt ” Paris” whether or not the feature is a validated single-token feature.

So we built the control that tests it — non-single-token features matched on decoder-to-embedding cosine — the exact axis the objection turns on.

Against the alignment-matched null
Figure 8. Each layer-configuration as one point: the single-token effect against its nearest-alignment controls. Below the diagonal means the single-token feature cost more. Toggle to the linear axis for the raw magnitudes.

Single-token necessity survives at eight of nine layer-configurations — where exact matching is possible, the matched controls are causally inert (315 in-band controls against 590 single-token features — one-sided p=6.1×1020p = 6.1 \times 10^{-20}). And alignment does not predict damage within the control population at all (Spearman 0.024-0.024 over 2,950 control ablations).

The reviewer was partly right. Switch Figure 8 to the linear axis and look at LlamaScope layer 1 — the controls alone reach 1.32-1.32 against 1.91-1.91 for single-token features. A geometric component is real and measurable — it just does not account for the effect.

Validity trail: what the matched null can and cannot establish

Exact matching is only partly constructible, and the reason is itself a finding. At single-token alignment levels, aligned non-single-token features barely exist: the median single-token feature has 0 to 2 in-band candidates across a full 16k dictionary on Gemma-2-2B, and 0 at all four analyzed Llama-3.1-8B layers. Alignment and single-token behavior nearly coincide as populations up there, so a fully matched null is available only for the lower-alignment part of the distribution.

For the rest we used the nearest available null, the five highest-alignment non-single-token features per target, which leaves a residual gap (median Δcos|\Delta\cos| 0.18 on GemmaScope, 0.51 on LlamaScope). One configuration, GemmaScope layer 6, is not significant, and it is also where the single-token effect is smallest. We report it as inconclusive rather than as evidence either way.

Limits

Our cross-family comparison co-varies training data, dictionary width, training recipe, and the TopK-to-JumpReLU conversion, so we lean on the within-model comparisons and the 46 times figure is a bound.

Our activation-based detection rests on a single fixed operating point (Heap et al., 2025). Our conclusions hold across a doubling of the thresholds — and our causal experiments use the independent percentile-based detector, but it’s still one operating point.ent percentile-based detector, but it’s still one operating point.

Single-token features are the endpoint: that’s where ground truth exists. Whether the instability extends to compositional features (Engels et al., 2024) is the obvious next question. We don’t know. Our claim is only this: if causal roles already diverge in the simplest matched case, we doubt the harder cases are more stable.

What to do differently

Three consequences follow for anyone who steers, edits, or builds circuits on SAE features:

Re-run your ablation checks under the family you actually deploy: necessity measured under one SAE doesn’t transfer to another — even on the same base model. That sharpens rather than softens the case that SAE latents are not canonical units of analysis (Chanin et al., 2024; Leask et al., 2025).

Profile the checkpoint rather than trusting its label: anchoring and recovery statistics are cheap — they told us more than the family name or the activation function did.

Treat per-feature causal necessity as something to measure: two SAEs trained on the same model can differ in causal structure. Current benchmarks (Karvonen et al., 2025) don’t surface that — evaluation-side work is pushing toward functional rather than reconstruction-based criteria (Braun et al., 2024; Makelov et al., 2024).

A feature’s causal necessity is real, but it’s not portable: treat the SAE family as an experimental variable to check, not a detail to abstract away.

  1. Braun, D., Taylor, J., Goldowsky-Dill, N., & Sharkey, L. (2024). Identifying Functionally Important Features with End-to-End Sparse Dictionary Learning. The Thirty-Eighth Annual Conference on Neural Information Processing Systems. https://openreview.net/forum?id=7txPaUpUnc
  2. Bricken, T., Templeton, A., Batson, J., Chen, B., Jermyn, A., Conerly, T., Turner, N., Anil, C., Denison, C., Askell, A., Lasenby, R., Wu, Y., Kravec, S., Schiefer, N., Maxwell, T., Joseph, N., Hatfield-Dodds, Z., Tamkin, A., Nguyen, K., … Olah, C. (2023). Towards Monosemanticity: Decomposing Language Models With Dictionary Learning. Transformer Circuits Thread.
  3. Bussmann, B., Leask, P., & Nanda, N. (2024). BatchTopK Sparse Autoencoders. NeurIPS 2024 Workshop on Scientific Methods for Understanding Deep Learning. https://openreview.net/forum?id=d4dpOCqybL
  4. Chanin, D., Wilken-Smith, J., Dulka, T., Bhatnagar, H., Golechha, S., & Bloom, J. (2024). A is for Absorption: Studying Feature Splitting and Absorption in Sparse Autoencoders. https://arxiv.org/abs/2409.14507
  5. Cunningham, H., Ewart, A., Smith, L. R., Huben, R., & Sharkey, L. (2024). Sparse Autoencoders Find Highly Interpretable Features in Language Models. The Twelfth International Conference on Learning Representations. https://openreview.net/forum?id=F76bwRSLeK
  6. Elhage, N., Hume, T., Olsson, C., Schiefer, N., Henighan, T., Kravec, S., Hatfield-Dodds, Z., Lasenby, R., Drain, D., Chen, C., Grosse, R., McCandlish, S., Kaplan, J., Amodei, D., Wattenberg, M., & Olah, C. (2022). Toy Models of Superposition. Transformer Circuits Thread. https://transformer-circuits.pub/2022/toy_model/index.html
  7. Engels, J., Michaud, E. J., Liao, I., Gurnee, W., & Tegmark, M. (2024). Not All Language Model Features Are Linear. https://arxiv.org/abs/2405.14860
  8. Gao, L., la Tour, T. D., Tillman, H., Goh, G., Troll, R., Radford, A., Sutskever, I., Leike, J., & Wu, J. (2025). Scaling and evaluating TopK Sparse Autoencoders. The Thirteenth International Conference on Learning Representations. https://openreview.net/forum?id=tcsZt9ZNKD
  9. Gross, C. G. (2002). Genealogy of the “Grandmother Cell.” The Neuroscientist, 8(5), 512–518. 10.1177/107385802237175
  10. He, Z., Shu, W., Ge, X., Chen, L., Wang, J., Zhou, Y., Liu, F., Guo, Q., Huang, X., Wu, Z., Jiang, Y.-G., & Qiu, X. (2024). Llama Scope: Extracting Millions of Features from Llama-3.1-8B with Sparse Autoencoders. https://arxiv.org/abs/2410.20526
  11. Heap, T., Lawson, T., Farnik, L., & Aitchison, L. (2025). Sparse Autoencoders Can Interpret Randomly Initialized Transformers. https://arxiv.org/abs/2501.17727
  12. Karvonen, A., Rager, C., Lin, J., Tigges, C., Bloom, J., Chanin, D., Lau, Y.-T., Farrell, E., McDougall, C., Ayonrinde, K., Wearden, M., Conmy, A., Marks, S., & Nanda, N. (2025). SAEBench: A Comprehensive Benchmark for Sparse Autoencoders in Language Model Interpretability. Proceedings of the 42nd International Conference on Machine Learning (ICML). https://arxiv.org/abs/2503.09532
  13. Lan, M., Torr, P., Meek, A., Khakzar, A., Krueger, D., & Barez, F. (2024). Sparse Autoencoders Reveal Universal Feature Spaces Across Large Language Models. https://arxiv.org/abs/2410.06981
  14. Leask, P., Bussmann, B., Pearce, M. T., Bloom, J. I., Tigges, C., Moubayed, N. A., Sharkey, L., & Nanda, N. (2025). Sparse Autoencoders Do Not Find Canonical Units of Analysis. The Thirteenth International Conference on Learning Representations. https://openreview.net/forum?id=9ca9eHNrdH
  15. Levina, E., & Bickel, P. (2004). Maximum Likelihood Estimation of Intrinsic Dimension. In L. Saul, Y. Weiss, & L. Bottou (Eds.), Advances in Neural Information Processing Systems (Vol. 17, pp. 777–784). MIT Press. https://proceedings.neurips.cc/paper_files/paper/2004/file/74934548253bcab8490ebd74afed7031-Paper.pdf
  16. Lieberum, T., Rajamanoharan, S., Conmy, A., Smith, L., Sonnerat, N., Varma, V., Kramar, J., Dragan, A., Shah, R., & Nanda, N. (2024). Gemma Scope: Open Sparse Autoencoders Everywhere All At Once on Gemma 2. In Y. Belinkov, N. Kim, J. Jumelet, H. Mohebbi, A. Mueller, & H. Chen (Eds.), Proceedings of the 7th BlackboxNLP Workshop: Analyzing and Interpreting Neural Networks for NLP (pp. 278–300). Association for Computational Linguistics. 10.18653/v1/2024.blackboxnlp-1.19
  17. Lin, J., & Bloom, J. (2023). Neuronpedia: Interactive Reference and Tooling for Analyzing Neural Networks. https://neuronpedia.org
  18. Lindsey, J., Templeton, A., Marcus, J., Conerly, T., Batson, J., & Olah, C. (2024). Sparse Crosscoders for Cross-Layer Features and Model Diffing. https://transformer-circuits.pub/2024/crosscoders/index.html
  19. Ma, G., Pfrommer, S., & Sojoudi, S. (2025). Revising and Falsifying Sparse Autoencoder Feature Explanations. The Thirty-Ninth Annual Conference on Neural Information Processing Systems. https://openreview.net/forum?id=OJAW2mHVND
  20. Makelov, A., Lange, G., & Nanda, N. (2024). Towards Principled Evaluations of Sparse Autoencoders for Interpretability and Control. https://arxiv.org/abs/2405.08366
  21. Makhzani, A., & Frey, B. (2014). k-Sparse Autoencoders. https://arxiv.org/abs/1312.5663
  22. Marks, S., Rager, C., Michaud, E. J., Belinkov, Y., Bau, D., & Mueller, A. (2025). Sparse Feature Circuits: Discovering and Editing Interpretable Causal Graphs in Language Models. The Thirteenth International Conference on Learning Representations. https://openreview.net/forum?id=I4e82CIDxv
  23. nostalgebraist. (2020). Interpreting GPT: the Logit Lens. https://www.lesswrong.com/posts/AcKRB8wDpdaN6v6ru
  24. Olah, C., Cammarata, N., Schubert, L., Goh, G., Petrov, M., & Carter, S. (2020). Zoom In: An Introduction to Circuits. Distill. 10.23915/distill.00024.001
  25. Park, K., Choe, Y. J., & Veitch, V. (2023). The Linear Representation Hypothesis and the Geometry of Large Language Models. Causal Representation Learning Workshop at NeurIPS 2023. https://openreview.net/forum?id=T0PoOJg8cK
  26. Radford, A., Wu, J., Child, R., Luan, D., & Amodei, D. (2019). Language Models are Unsupervised Multitask Learners [Techreport]. OpenAI. https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
  27. Rajamanoharan, S., Conmy, A., Smith, L., Lieberum, T., Varma, V., Kramár, J., Shah, R., & Nanda, N. (2024). Improving Dictionary Learning with Gated Sparse Autoencoders. Advances in Neural Information Processing Systems. https://arxiv.org/abs/2404.16014
  28. Rajamanoharan, S., Lieberum, T., Sonnerat, N., Conmy, A., Varma, V., Kramár, J., & Nanda, N. (2024). Jumping Ahead: Improving Reconstruction Fidelity with JumpReLU Sparse Autoencoders. https://arxiv.org/abs/2407.14435
  29. Team, G., Riviere, M., Pathak, S., Sessa, P. G., Hardin, C., Bhupatiraju, S., Hussenot, L., Mesnard, T., Shahriari, B., Ramé, A., Ferret, J., Liu, P., Tafti, P., Friesen, A., Casbon, M., Ramos, S., Kumar, R., Lan, C. L., Jerome, S., … Andreev, A. (2024). Gemma 2: Improving Open Language Models at a Practical Size. https://arxiv.org/abs/2408.00118
  30. Templeton, A., Conerly, T., Marcus, J., Lindsey, J., Bricken, T., Chen, B., Pearce, A., Citro, C., Ameisen, E., Jones, A., Cunningham, H., Turner, N. L., McDougall, C., MacDiarmid, M., Freeman, C. D., Sumers, T. R., Rees, E., Batson, J., Jermyn, A., … Henighan, T. (2024). Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 Sonnet. Transformer Circuits Thread. https://transformer-circuits.pub/2024/scaling-monosemanticity/index.html