Does the standard SAE feature-absorption metric over-report?
I ran both absorption metrics on a property class they had never been run on. The field-standard metric reports absorption; the causal one reports a clean zero — on both Gemma-2-2B and 9B.
Sparse autoencoders are the leading tool for reading a language model’s internals, and feature absorption is one of the standard ways we measure whether their features can be trusted. Here is the one claim of this post, stated up front: the two standard metrics for SAE feature absorption disagree once you leave the task they were validated on. On the structural property is-capitalized, the projection metric — the current SAEBench standard — reports single-dominant-latent absorption modestly above its own random-direction null (0.12 vs 0.03), while the older ablation metric, which checks what the model actually uses, reports exactly zero on every candidate token — 0 of 727 on Gemma-2-2B and 0 of 273 on Gemma-2-9B. Controls rule out the boring explanations. The effect is small and rests on one well-powered property, but the direction is uncomfortable: the field-standard metric appears to over-report for a distributed feature with no causal correlate.
The full 15-page technical report, code, and every number in this post are public: github.com/Majny/absorption-atlas.
Why audit a metric instead of building something?
My research interest is mechanistic interpretability aimed at a concrete safety target: catching deception and scheming by reading a model’s internals rather than trusting its outputs. That whole bet is only as good as the tools underneath it. Before anyone builds oversight on top of SAE features, the metrics that certify those features have to mean what they claim — and a metric validated on one task is only validated on that task. So I started one level down: pick a field-standard metric, take it off its benchmark, and see if it still measures the same thing.
What is feature absorption?
Feature absorption (Chanin et al., arXiv:2409.14507) is a known SAE failure mode: a latent that looks monosemantic — say starts-with-L — silently fails on some tokens, because a token-aligned latent (say, a lion latent) has absorbed the concept’s direction and carries it instead. The general feature stays dark, the interpretation breaks, and you only find out if you go looking token by token.
Two metrics quantify it:
The ablation (behavioral) metric — Chanin’s original. Integrated-gradient attribution of SAE latents to the model’s task answer. It asks: is there a single latent the model causally uses in place of the main one?
The projection (representational) metric — the current SAEBench standard. It decomposes the residual stream’s projection onto the concept direction into per-latent contributions and flags a single dominant non-main latent.
Nearly everything the literature knows about absorption comes from one task: first-letter spelling. Chanin’s own future-work section asks for “absorption unrelated to character identification.” Structural properties aren’t untouched territory — the feature-hedging line already probes part-of-speech — but running the absorption metrics themselves on them, both of them, and contrasting the answers, hadn’t been done. That is the gap this project fills.
What I did
First, the boring-but-necessary part: I reproduced first-letter absorption on current Gemma Scope SAEs (Gemma-2-2B, layer 12, 16k width) — mean rate 0.032, and the characteristic L0 law, absorption rising steeply as L0 falls (0.127 at L0=22 down to 0.010 at L0=445). The curve has the same shape as SAEBench’s published one, with absolute rates about 3× below their JumpReLU reference — exactly what you’d expect for Google’s better-trained Gemma Scope SAEs.
The same measurement on last-letter gives a curve of the same shape and comparable — at mid and high L0, higher — magnitude, so absorption isn’t literally a first-letter quirk. But last-letter is still a letter property.
The stronger test is structural. I extended the measurement to tokenizer-derivable structural properties: is-capitalized, ALL-CAPS, common suffixes. Of these, is-capitalized is the only well-powered anchor (candidate pools in the hundreds of tokens); all-caps and the suffixes, at n=9–33, are underpowered anecdotes and I treat them as such.
The result: the two metrics disagree
For is-capitalized, single-dominant-latent rate at dominance ratio R=3, with Wilson 95% CIs:
Projection metric: 0.12 [0.077, 0.191] against a random-direction null of 0.03 [0.014, 0.081] (n=130). Above null — but marginally, and about 4× weaker than the same metric on spelling (0.53).
Ablation metric: 0.0. On Gemma-2-9B, 0 of 273 candidate tokens absorbed (binomial 95% CI [0, ~0.011]). Zero on 2B as well (0 of 727). A robust nothing.
One metric says “some absorption is happening here.” The other says “the model does not causally use a single substitute latent, at all.”
Could it be something boring?
The mundane explanations I could test, I tested:
“The model just can’t do the task.” No: Gemma-2-9B performs is-capitalized at 0.91 accuracy — and its behavioral absorption is still exactly zero.
“The ablation metric is dead at that layer.” No: at the same 9B layer and L0, the ablation metric fires at 0.045 for spelling.
The airtight version — matched task accuracy: sweeping first-letter accuracy down to ~0.9 (via ICL count and corrupted ICL), spelling still shows behavioral absorption (~0.017–0.035) where is-capitalized shows 0.0 at the same ability level.
A side result worth knowing if you use these metrics: within first-letter, the ablation metric tracks task accuracy (absorption moves 0.011 → 0.030 as accuracy goes 0.53 → 0.97) while the projection metric stays flat around 0.60. The causal metric is task-performance-sensitive; the representational one is not. Neither property is free.
What I think it means — and what I’m not claiming
The defensible reading is about metric validity, not about deep facts of representation. Capitalization is a high-frequency, heavily correlated concept; a 16k-latent SAE plausibly spreads it across several latents — feature hedging, in Chanin’s (arXiv:2505.11756) terms. On such a feature, “one dominant latent by projection” is a weak, partly geometric signal, not evidence of a token-aligned absorber the model actually uses.
I am not claiming a grand representational-vs-causal dissociation. The claim is narrower and checkable: on this property, the two standard metrics disagree, the projection metric over-reports relative to the ablation metric, and the disagreement survives task-ability and layer controls.
Limitations, stated rather than hidden: the effects are near floor everywhere (the 0.12 signal is marginal above its null at n=130); is-capitalized is the only powered structural property, so “property-type-dependent” is really n=1; and it’s one model family with one SAE recipe (Gemma-2 + Gemma Scope JumpReLU). I also don’t yet show a downstream case where trusting the projection-flagged absorption would break something.
What’s next
The one lever that would upgrade this from a caveat to a claim: a second SAE recipe (TopK / Matryoshka) and a second well-powered structural property. That extension is running now, sized around my September state exam. As it produces something worth showing, a tightened version of this result goes to LessWrong / Alignment Forum.
If you work on SAE evaluation and think I’ve got something wrong — that’s the most useful email you can send me: hi@kubadvorak.com. Everything is reproducible from the committed results: github.com/Majny/absorption-atlas, full report here.
— Jakub Dvořák, kubadvorak.com



