# SAEBench: A Comprehensive Benchmark for Sparse Autoencoders

Adam Karvonen*, Can Rager*, Johnny Lin*, Curt Tigges*, Joseph Bloom*, David Chanin, Yeu-Tong Lau, Eoin Farrell, Arthur Conmy, Callum McDougall, Kola Ayonrinde, Matthew Wearden, Samuel Marks, Neel Nanda **equal contribution*

**TL;DR**
---------

*   We are releasing SAE Bench, a suite of 8 diverse sparse autoencoder (SAE) evaluations including unsupervised metrics and downstream tasks. Use [our codebase](https://github.com/adamkarvonen/SAEBench) to evaluate your own SAEs!
*   You can compare 200+ SAEs of varying sparsity, dictionary size, architecture, and training time on [Neuronpedia](https://neuronpedia.org/sae-bench).
*   Think we're missing an eval? We'd love for you to contribute it to our codebase! [Email us](mailto:adam.karvonen@gmail.com,canrager@gmail.com).

[**🔍 Explore the Benchmark & Rankings**](https://www.neuronpedia.org/sae-bench)  
  
📊 [**Evaluate your SAEs with SAEBench**](https://github.com/adamkarvonen/SAEBench)  
  
[**✉️ Contact Us**](mailto:adam.karvonen@gmail.com,canrager@gmail.com)

**Introduction**
----------------

Sparse Autoencoders (SAEs) have become one of the most popular tools for AI interpretability. A lot of recent interpretability work has been focused on studying SAEs, in particular on improving SAEs, e.g. the [Gated SAE](https://arxiv.org/abs/2404.16014), [TopK SAE](https://cdn.openai.com/papers/sparse-autoencoders.pdf), [BatchTopK SAE](https://www.alignmentforum.org/posts/Nkx6yWZNbAsfvic98/batchtopk-a-simple-improvement-for-topk-saes), [ProLu SAE](https://www.alignmentforum.org/posts/HEpufTdakGTTKgoYF/prolu-a-nonlinearity-for-sparse-autoencoders), [Jump Relu SAE](https://arxiv.org/abs/2407.14435), [Layer Group SAE](https://arxiv.org/abs/2410.21508), [Feature Choice SAE](https://openreview.net/forum?id=TIjBKgLyPN), [Feature Aligned SAE](https://openreview.net/forum?id=NB8qn8iIW9), and [Switch SAE](https://arxiv.org/abs/2410.08201). But how well do any of these improvements actually work?

The core challenge is that we don't know how to measure how good an SAE is. The fundamental premise of SAEs is a useful interpretability tool that unpacks concepts from model activations. The lack of ground truth labels for model internal features led the field to measure and optimize the proxy of sparsity instead. This objective successfully provided interpretable SAE latents. But sparsity has known problems as a proxy, such as [feature absorption](https://arxiv.org/pdf/2409.14507v3) and [composition of independent features](https://www.alignmentforum.org/posts/TMAmHh4DdMr4nCSr5/showing-sae-latents-are-not-atomic-using-meta-saes). Yet, most SAE improvement work merely measures whether reconstruction is improved at a given sparsity, potentially missing problems like uninterpretable high frequency latents, or increased composition.

In the absence of a single, ideal metric, we argue that the best way to measure SAE quality is to give a more detailed picture with a range of diverse metrics. In particular, SAEs should be evaluated according to their performance on downstream tasks, a robust signal of usefulness.

Our comprehensive benchmark provides insight to fundamental questions about SAEs, like what the ideal sparsity, training time, and other hyperparameters. To showcase this, we've trained a custom suite of 200+ SAEs of varying dictionary size, sparsity, training time, and architecture (holding all else constant). Browse the evaluation results covering Pythia-70m and Gemma-2-2B on [Neuronpedia](https://neuronpedia.org/sae-bench).

SAEBench enables a range of use cases, such as measuring progress with new SAE architectures, revealing unintended SAE behavior, tuning training hyperparameters, and selecting the best SAE for a particular task. We find that these evaluation results are nuanced and there is no one ideal SAE configuration - instead, the best SAE varies depending on the specifics of the downstream task. Because of this, we cannot combine the results into a single number without obscuring tradeoffs. Instead, we provide a range of quantitative metrics so that researchers can measure the nuanced effects of experimental changes.

We are releasing a beta version of [SAEBench](https://github.com/adamkarvonen/SAEBench), including a [convenient demonstration notebook](https://github.com/adamkarvonen/SAEBench/blob/main/sae_bench_demo.ipynb) that evaluates custom SAEs on multiple benchmarks and plots the results. Our flexible codebase allows you to easily add your own evaluations.

  
**Check out the** [**original post**](https://www.neuronpedia.org/sae-bench/info) **with interactive plots for more details on metrics and takeaways!**