Rethinking SAE Evaluation: An Atomic Interpretable Unit Framework Reveals Hidden Polysemanticity and Redundancy
Organizations: Purdue University
Abstract
Sparse autoencoders (SAEs) were originally motivated by discovering monosemantic features, a property that characterizes individual features but does not specify what the learned feature set should look like as a whole. As SAEs have increasingly been adopted for attribution, circuit discovery, and intervention, researchers have begun evaluating metrics that describe global properties of the feature set, such as sparsity, dead feature rates, reconstruction fidelity, and disentanglement, a diverse set that extends far beyond monosemanticity. However, this implicit shift beyond monosemanticity has not been formalized as a clear, well-defined objective that comes before these evaluation metrics. Without such an objective, existing metrics remain ad hoc, with their necessity unjustified. In this work, we formalize this ultimate objective by introducing a new paradigm for SAE evaluation: requiring that SAE features, and more generally dictionary-based decompositions of model representations, form an atomic interpretable unit basis, a coordinate system for semantically meaningful explanation. Under this paradigm, we organize existing and new measurements such as DAME (Dominance-Aware Monosemanticity Evaluation) as proxy metrics and introduce a comprehensive benchmarking framework. Evaluating hundreds of SAEs across multiple architectures and model families, we uncover failure modes in which some SAEs appear monosemantic under existing evaluation metrics while remaining functionally polysemantic: the most dominant features, those contributing most to model computation, are systematically less interpretable and more redundant. These failure modes warrant attention from SAE researchers as targets for improved training and architectures, and motivate dominance-aware evaluation as a standard check for practitioners before SAE features are deployed for attribution, circuit tracing, or intervention.
Figures & tables
| Architecture | Q1 | Q2 | Q3 | Q4 | Diff |
|---|---|---|---|---|---|
| BatchTopK | 61.5 | 65.2 | 67.1 | 69.9 | -5.9 |
| Gated | 60.8 | 57.8 | 58.9 | 60.6 | - 1.7 |
| JumpReLU | 58.7 | 58.0 | 56.9 | 58.0 | - 1.1 |
| Matryoshka | 61.6 | 64.5 | 65.8 | 66.5 | -4.0 |
| PAnneal | 67.1 | 67.4 | 71.0 | 72.3 | -3.2 |
| Standard ReLU | 60.5 | 60.8 | 61.9 | 62.1 | -1.1 |
Appendix figures & tables91 assets
Supplementary material from the paper’s appendix.
Appendix
| TPP | RAVEL | |||
|---|---|---|---|---|
| Width | C2 alone | C1 C3 | C2 alone | C1 C3 |
| 4k | n.s. | |||
| 16k | n.s. | |||
| 65k | n.s. | |||
| Method | Prompt Tokens | Output Tokens | Runtime (5 ex.) |
|---|---|---|---|
| Explanation | 397 + 566 | 29.90 | 3.14s |
| Detection/Fuzzing | 725 + 53 | 11.99 | 4.29s |
| Simulation | 24,074.85 | 1,598.1 | 73.9s |
| Stage | Prior Work | DAME |
|---|---|---|
| Feature Sampling | Uniform random (Bills et al.) or probe-based (SAEBench) | Dominance-stratified feature sampling by mean dominance |
| Explanation Generation | Show activation values; unbounded explanations | Hide magnitudes; length-constrained explanations |
| Scoring | Binary classification (Delphi) or continuous correlation (Bills et al.) | Activation-balanced contrastive validation |
| Aggregation | Uniform mean: | Per-quantile + dominance-weighted: |
| Family | Avg Active | Dead Prop (mean) | MSE (mean) |
|---|---|---|---|
| GPT2-Small | 605.0 | 0.214 | 1.33e-01 |
| OPT-125M | 279.9 | 0.460 | 3.40e-04 |
| Tinystories | 376.4 | 0.187 | 3.71e-02 |
| Canrager | 392.2 | 0.500 | 7.15e+00 |
| Saebench Gemma | 2013.2 | 0.294 | 1.46e+02 |
| Saebench Pythia | 1106.2 | 0.392 | 8.28e+00 |
| Architecture | Median | /dict (%) | / (%) |
|---|---|---|---|
| BatchTopK | 49 | 0.30 | 5.21 |
| TopK | 100 | 0.61 | 6.94 |
| Matryoshka | 50 | 0.49 | 5.21 |
| PAnneal | 292 | 1.31 | 20.56 |
| Standard ReLU | 354 | 2.17 | 32.81 |
| Gated | 1383 | 17.34 | 126.89 |
| Family | Q1 | Q2 | Q3 | Q4 | Diff |
|---|---|---|---|---|---|
| GPT2-Small | 65.3 | 62.5 | 62.5 | 62.7 | - 2.7 |
| OPT125M | 44.0 | 43.3 | 42.3 | 44.5 | - 0.6 |
| Tinystories | 64.9 | 66.1 | 69.5 | 68.3 | -3.1 |
| Canrager | 63.1 | 68.4 | 67.4 | 67.7 | -4.7 |
| Jbloom | 66.5 | 67.0 | 67.1 | 69.6 | -1.4 |
| Saebench Gemma | 60.7 | 62.8 | 63.2 | 64.6 | -2.8 |
| Architecture | Q1 | Q2 | Q3 | Q4 | Diff |
|---|---|---|---|---|---|
| BatchTopK | 57.3 | 68.5 | 65.6 | 67.2 | -9.8 |
| Gated | 62.4 | 61.1 | 63.2 | 66.3 | -1.1 |
| JumpReLU | 60.5 | 63.1 | 64.6 | 68.2 | -4.8 |
| Matryoshka | 57.4 | 64.1 | 64.5 | 68.2 | -8.2 |
| PAnneal | 69.2 | 71.1 | 74.1 | 77.3 | -5.0 |
| Standard ReLU | 63.9 | 65.3 | 72.1 | 75.8 | -7.2 |
| Family | Q1 | Q2 | Q3 | Q4 | Diff |
|---|---|---|---|---|---|
| GPT2-Small | 25.3 | 23.0 | 22.8 | 22.6 | - 2.5 |
| OPT125M | 23.3 | 23.8 | 23.8 | 23.7 | -0.5 |
| Tinystories | 21.9 | 22.7 | 22.4 | 22.8 | -0.7 |
| Canrager | 23.7 | 23.1 | 23.2 | 23.2 | - 0.5 |
| Jbloom | 24.2 | 22.3 | 23.0 | 22.9 | - 1.5 |
| Saebench Gemma | 24.0 | 23.0 | 23.2 | 23.2 | - 0.9 |
| Metric | Positive | Negative |
|---|---|---|
| Sparsity Perfect Ranking Acc | 35 (39.8%) | 53 (60.2%) |
| Sparsity Q1 Perfect Ranking Acc | 50 (56.8%) | 38 (43.2%) |
| Sparsity Pairwise Acc | 34 (38.6%) | 54 (61.4%) |
| Sparsity Q1 Pairwise Acc | 52 (59.8%) | 35 (40.2%) |
| Family | Arch | Width | Overall | Sparsity | Dominance (%) |
|---|---|---|---|---|---|
| Saebench Pythia | PAnneal | 16k | 78.8% | 27.6 | 0.30% |
| Saebench Pythia | PAnneal | 4k | 78.8% | 22.9 | 0.34% |
| Saebench Pythia | PAnneal | 65k | 76.5% | 38.2 | 0.19% |
| JBloom OAI v5 | Standard ReLU | 128k | 75.5% | 893.9 | 0.03% |
| Saebench Pythia | PAnneal | 16k | 74.8% | 74.1 | 0.11% |
| JBloom OAI v5 | Standard ReLU | 128k | 74.8% | 1492.3 | 0.03% |
| Family | Arch | Width | Gap | Q1 | Sparsity | Dominance (%) |
|---|---|---|---|---|---|---|
| Saebench Pythia | BatchTopK | 16k | -19.6% | 50.5% | 160.0 | 0.11% |
| Saebench Pythia | TopK | 65k | -19.2% | 54.0% | 40.0 | 0.19% |
| Tinystories | TopK | 16k | -18.4% | 55.5% | 97.4 | 0.05% |
| Tinystories | Matryoshka | 65k | -17.2% | 56.8% | 0.1 | 1.14% |
| Saebench Pythia | Standard ReLU | 16k | -16.4% | 54.2% | 455.0 | 0.06% |
| Saebench Pythia | TopK | 16k | -16.2% | 46.2% | 639.9 | 0.21% |
| Family | Arch | Width | Q1 | Overall | Sparsity | Dominance (%) |
|---|---|---|---|---|---|---|
| JBloom OAI v5 | Standard ReLU | 32k | 78.2% | 72.0% | 199.9 | 0.03% |
| Saebench Pythia | PAnneal | 16k | 76.8% | 74.8% | 74.1 | 0.11% |
| Saebench Pythia | PAnneal | 4k | 75.8% | 78.8% | 22.9 | 0.34% |
| Saebench Pythia | PAnneal | 65k | 75.7% | 76.5% | 38.2 | 0.19% |
| JBloom OAI v5 | Standard ReLU | 32k | 75.3% | 70.7% | 224.4 | 0.05% |
| Tinystories | Standard ReLU | 65k | 75.2% | 69.6% | 673.5 | 0.01% |
| Architecture | Q1 | Q2 | Q3 | Q4 |
|---|---|---|---|---|
| Standard ReLU | 3.81 | 2.58 | 2.59 | 2.81 |
| TopK | 1.79 | 0.29 | 0.12 | 0.15 |
| Gated | 1.62 | 0.88 | 0.69 | 0.61 |
| JumpReLU | 1.10 | 0.17 | 0.18 | 0.44 |
| BatchTopK | 0.94 | 0.10 | 0.07 | 0.05 |
| PAnneal | 0.38 | 0.33 | 0.23 | 0.09 |
| Architecture | Q1 (%) | ANY (%) | Pairs Within |
|---|---|---|---|
| BatchTopK | 40.33 | 65.67 | 2.6 |
| TopK | 35.44 | 68.78 | 5.0 |
| JumpReLU | 28.61 | 81.94 | 2.5 |
| Standard ReLU | 26.11 | 93.33 | 4.7 |
| Matryoshka | 25.00 | 33.61 | 2.1 |
| PAnneal | 21.94 | 63.61 | 3.1 |
| Architecture | Q1 (%) | Q2 (%) | Q3 (%) | Q4 (%) |
|---|---|---|---|---|
| Standard ReLU | 63.74 | 8.33 | 10.50 | 17.43 |
| PAnneal | 86.35 | 7.71 | 4.23 | 1.72 |
| Gated | 59.02 | 16.37 | 10.90 | 13.71 |
| TopK | 77.22 | 10.29 | 3.11 | 9.38 |
| BatchTopK | 66.42 | 18.56 | 8.21 | 6.80 |
| Matryoshka | 83.65 | 14.18 | 1.82 | 0.35 |
| Architecture | Q1 (%) | Q2 (%) | Q3 (%) | Q4 (%) | Pair filter rate (%) |
|---|---|---|---|---|---|
| Standard ReLU | 38.48 | 6.92 | 16.04 | 38.56 | 38.85 |
| PAnneal | 53.98 | 15.88 | 17.91 | 12.23 | 35.89 |
| Gated | 58.99 | 16.35 | 10.90 | 13.77 | 0.08 |
| TopK | 61.43 | 11.40 | 8.01 | 19.16 | 21.54 |
| BatchTopK | 41.62 | 18.71 | 11.43 | 28.25 | 36.94 |
| Matryoshka | 49.31 | 26.29 | 7.62 | 16.78 | 31.11 |
| Architecture | Q1 (%) | ANY (%) | Pairs Within |
|---|---|---|---|
| BatchTopK | 13.87 | 18.50 | 10.7 |
| TopK | 14.52 | 20.93 | 17.7 |
| JumpReLU | 14.53 | 29.22 | 19.3 |
| Standard ReLU | 20.53 | 71.36 | 296.3 |
| Matryoshka | 2.72 | 3.58 | 2.3 |
| PAnneal | 5.33 | 16.89 | 10.6 |
| Quantile | Mean | Median |
|---|---|---|
| Q1 | 0.0561 | 0.0239 |
| Q2 | 0.1090 | 0.0313 |
| Q3 | 0.1249 | 0.0385 |
| Q4 | 0.1347 | 0.0527 |
| Family | Arch | Width | Total Redundant Pairs | Q1 Redundant Pairs |
|---|---|---|---|---|
| Tinystories | Standard ReLU | 65k | 1340724 | 1328227 |
| GPT2-Small | JumpReLU | 16k | 1020088 | 5573 |
| Tinystories | JumpReLU | 16k | 665199 | 7438 |
| Tinystories | Standard ReLU | 16k | 561217 | 545472 |
| GPT2-Small | JumpReLU | 4k | 430005 | 18665 |
| GPT2-Small | JumpReLU | 65k | 346169 | 5714 |
| Family | Arch | Width | Q1 Redundant Pairs | Q1 Features Involved (%) |
|---|---|---|---|---|
| Tinystories | Standard ReLU | 65k | 1328227 | 28.63 |
| Tinystories | Standard ReLU | 16k | 545472 | 16.72 |
| GPT2-Small | Standard ReLU | 65k | 188940 | 10.28 |
| Tinystories | Gated | 65k | 125887 | 8.98 |
| Tinystories | Standard ReLU | 4k | 101376 | 21.19 |
| GPT2-Small | Standard ReLU | 16k | 54739 | 5.03 |
| Family | Arch | Width | Q1 Features Involved (%) | Q1 Redundant Pairs |
|---|---|---|---|---|
| Tinystories | Standard ReLU | 65k | 28.63 | 1328227 |
| Tinystories | Standard ReLU | 4k | 21.19 | 101376 |
| Tinystories | Standard ReLU | 16k | 16.72 | 545472 |
| GPT2-Small | Standard ReLU | 65k | 10.28 | 188940 |
| Tinystories | Gated | 65k | 8.98 | 125887 |
| GPT2-Small | JumpReLU | 4k | 6.32 | 18665 |
| Family | Arch | Width | Q1 Redundancy Rate | Q1 Redundant Pairs |
|---|---|---|---|---|
| Tinystories | Standard ReLU | 65k | 147.581 | 1328227 |
| Tinystories | Standard ReLU | 16k | 60.608 | 545472 |
| Tinystories | Standard ReLU | 4k | 33.000 | 101376 |
| GPT2-Small | Standard ReLU | 65k | 20.993 | 188940 |
| Tinystories | Gated | 65k | 13.987 | 125887 |
| GPT2-Small | Standard ReLU | 16k | 6.082 | 54739 |
| Family | Arch | Width | Q1 Gap (pairs) | Q1 Redundant Pairs | Total Redundant Pairs |
|---|---|---|---|---|---|
| Tinystories | Standard ReLU | 65k | 1324061.3 | 1328227 | 1340724 |
| Tinystories | Standard ReLU | 16k | 540223.7 | 545472 | 561217 |
| GPT2-Small | Standard ReLU | 65k | 186668.7 | 188940 | 195754 |
| Tinystories | Gated | 65k | 125653.3 | 125887 | 126588 |
| Tinystories | Standard ReLU | 4k | 100107.0 | 101376 | 105183 |
| GPT2-Small | Standard ReLU | 16k | 51776.0 | 54739 | 63628 |
| Arch | Width | N | r |
|---|---|---|---|
| BatchTopK | 16k | 6 | 0.877 |
| BatchTopK | 4k | 6 | 0.863 |
| BatchTopK | 65k | 6 | 0.867 |
| Gated | 16k | 6 | 0.934 |
| Gated | 4k | 6 | 0.629 |
| Gated | 65k | 6 | 0.694 |
| Arch | Width | N | r |
|---|---|---|---|
| BatchTopK | 4k | 6 | -0.174 |
| BatchTopK | 65k | 6 | -0.021 |
| Gated | 16k | 6 | -0.375 |
| Gated | 4k | 6 | 0.038 |
| Gated | 65k | 6 | 0.954 |
| JumpReLU | 16k | 6 | -0.462 |
| Arch | Width | N | r |
|---|---|---|---|
| BatchTopK | 16k | 3 | 0.860 |
| BatchTopK | 4k | 3 | 0.853 |
| BatchTopK | 65k | 3 | 0.834 |
| Gated | 16k | 3 | 0.831 |
| Gated | 4k | 3 | 0.878 |
| Gated | 65k | 3 | 0.792 |
| Arch | Width | N | r |
|---|---|---|---|
| Gated | 16k | 3 | 0.958 |
| Gated | 4k | 3 | 0.956 |
| Gated | 65k | 3 | 0.965 |
| JumpReLU | 16k | 3 | 0.982 |
| JumpReLU | 4k | 3 | 0.922 |
| JumpReLU | 65k | 3 | 0.996 |
| Arch | Width | N | r |
|---|---|---|---|
| BatchTopK | 16k | 3 | 0.858 |
| BatchTopK | 4k | 3 | 0.844 |
| BatchTopK | 65k | 3 | 0.876 |
| Gated | 16k | 3 | 0.714 |
| Gated | 4k | 3 | 0.802 |
| Gated | 65k | 3 | 0.714 |
| Arch | Width | N | r |
|---|---|---|---|
| TopK | 16k | 18 | -0.140 |
| TopK | 4k | 18 | -0.043 |
| TopK | 65k | 18 | -0.132 |
| Arch | Width | N | r |
|---|---|---|---|
| Standard ReLU | 128k | 48 | 0.674 |
| Standard ReLU | 32k | 48 | 0.732 |
| Architecture | Median Max Firing Freq. |
|---|---|
| ReLU | 0.990 |
| TopK | 0.597 |
| BatchTopK | 0.749 |
| PAnneal | 0.994 |
| JumpReLU | 0.998 |
| Gated | 0.999 |
| Architecture | Median Fraction (90%) |
|---|---|
| ReLU | 0.177 |
| TopK | 0.228 |
| BatchTopK | 0.189 |
| PAnneal | 0.235 |
| JumpReLU | 0.297 |
| Gated | 0.575 |
| Architecture | Median Top 10 Dominance |
|---|---|
| ReLU | 0.102 |
| TopK | 0.120 |
| BatchTopK | 0.151 |
| PAnneal | 0.155 |
| JumpReLU | 0.045 |
| Gated | 0.011 |
| Category | Word Count | Specificity | Unique Ratio | DAME Score |
|---|---|---|---|---|
| Q2-Q3 (Baseline) | 22.6 | 0.738 | 0.988 | 0.682 |
| Q1 High DAME | 22.3 | 0.737 | 0.992 | 0.828 |
| Q1 Low DAME | 23.9 | 0.747 | 0.969 | 0.425 |
| Q4 High DAME | 22.1 | 0.747 | 0.993 | 0.862 |
| Q4 Low DAME | 23.3 | 0.717 | 0.986 | 0.558 |
| Explainer | Judge | Mean Q1 Q2–Q4 (pp) | SAEs with a Q1 deficit |
|---|---|---|---|
| Original Mistral-7B | Mistral-7B | 6/6 | |
| GPT-5.6 Sol | Mistral-7B | 6/6 | |
| Original Mistral-7B | GPT-5.6 Sol | 5/6 | |
| GPT-5.6 Sol | GPT-5.6 Sol | 6/6 |
| Explanation | Q1 Q2–Q4 | SAEs with | Q1 mean | Q2–Q4 mean | Q1 Q2–Q4 length |
|---|---|---|---|---|---|
| instruction | accuracy (pp) | lower Q1 | words | words | (paired ) |
| 15 words / 40 tokens | 21/28 | 23.63 | 22.82 | (.00049) | |
| 30 words / 80 tokens | 20/28 | 30.07 | 29.00 | (.00064) | |
| 60 words / 160 tokens | 23/28 | 35.80 | 35.33 | (.443) |
| Group | Highest single-variable correlation | AND | OR |
|---|---|---|---|
| Q1 | .447 | .143 | .616 |
| Q2–Q4 | .273 | .067 | .363 |
| Q1 Q2–Q4 |
| SAE width | Q1 | Q2–Q4 | Q1 Q2–Q4 |
|---|---|---|---|
| 128 | .094 | .104 | |
| 192 | .088 | .105 | |
| 256 | .087 | .106 | |
| 512 | .084 | .108 | |
| 768 | .082 | .106 | |
| 1024 | .085 | .104 |
| Comparison | Matched Q1–control | Firing-frequency standardized | Q1 control accuracy |
|---|---|---|---|
| pairs retained | mean difference | (pp, 95% CI) | |
| Unmatched Q1 versus Q2–Q4 | — | 0.715 | |
| Matched, 0.05 rank caliper | 55.2% | 0.034 | |
| Matched, 0.10 rank caliper | 69.6% | 0.080 | |
| Matched, 0.20 rank caliper | 86.2% | 0.165 |
| Held-out mean | Sharding-compatible pair rate | SAEs with at least one such pair |
|---|---|---|
| 2.6% | 56.3% | |
| 50–200 | 3.8% | 42.9% |
| 3.3% | 30.4% |
| The committee’s primary | His ultimate |
| The organization has one clear | The campaign’s central |
| The proposal’s central | The department’s stated |
| The team’s shared † | The paper’s broader |
| The research program has a single | The initiative’s guiding |
| Her stated | Our main |
| The policy’s underlying † | The reform’s practical |
| Base model | Public SAE family | SAEs with a Q1 deficit |
|---|---|---|
| Qwen3-8B | BatchTopK | 41.7% |
| Qwen3-14B | BatchTopK | 50.0% |
| Qwen3-32B | BatchTopK | 41.7% |
| Gemma-2-9B | Gemma Scope residual | 75.0% |
| Support pattern | Full high-cosine Mean [95% CI] | Matched high-cosine | Low-cosine controls |
|---|---|---|---|
| Partition-like | 21.5% [17.6, 25.6] | 21.6% | 80.0% |
| Nested-like | 15.3% [11.5, 19.3] | 16.1% | 1.2% |
| Duplicate-like | 29.9% [25.1, 34.9] | 27.4% | 2.1% |
| Partial overlap | 33.3% [28.8, 37.8] | 34.9% | 16.7% |
| Audit panel | Stable sibling reading | Also fresh support | Insufficient evidence |
|---|---|---|---|
| All screened targets | 15.8% | 13.3% | 51.4% |
| Control-matched targets | 13.3% | 13.3% | 60.0% |
| Low-cosine controls | 3.3% | 3.3% | 56.7% |
| Feature 2081: they | Feature 3844: he / she |
|---|---|
| … the NBA, they like them young, … | … declared that he will be a better leader for the sake of his friends … |
| … after having suffered heavy casualties, they returned to Tagaung. | Radcliffe has supported various charities. He designed … |
| … have stated numerous times that they do not condone … | … Madonna starts fighting with the men. She starts bending backwards … |
| Symbol / term | Meaning |
|---|---|
| An input token position. | |
| Model activation at the hooked layer; is the activation dimension. | |
| SAE width: the number of features in the dictionary. | |
| , , | Activation, decoder direction, and encoder row of feature . |
| , | Target concept set fixed for an analysis at a stated explanatory granularity; set of interpretable units to which attribution is assigned. |
| Atomic explanatory unit | A basic coordinate to which attribution is assigned directly, without further decomposition within the chosen explanatory interface. |
Sparse Autoencoders
Sparse autoencoders decompose neural network activations into sparse features to study, interpret, and control learned representations.
See all 217 papers