BlackboxNLP Workshop, EMNLP 2025

CE-Bench: Towards a Reliable Contrastive Evaluation Benchmark of Interpretability of Sparse Autoencoders

Alex Gulko*, Yusen Peng*, Sachin Kumar · * equal contribution

TL;DR

CE-Bench is a benchmark that scores how interpretable a sparse autoencoder is without asking another LLM to judge it. Yusen Peng, Sachin Kumar, and I built it at Ohio State and published it at the BlackboxNLP workshop at EMNLP 2025. Its rankings agree with the LLM-judged SAEBench at over 70% Spearman correlation.

Problem

Sparse autoencoders (SAEs) take the activations inside an LLM and split them into features that are supposed to mean something. The question is how to check that they do. Most automated evaluations rely on an external LLM to judge the features. That makes the scores non-deterministic, possibly biased, and hard to reproduce.

Idea

Our hypothesis: if a feature means something, it should react when the meaning changes. So we built a dataset of contrastive stories: 5,000 pairs of short stories about 1,000 subjects picked from WikiData. Each pair tells the same subject twice, once at its extreme and once as its opposite. For “computer”, one story follows a machine that cracks cryptography and maps the global weather at the same time. The other is about the “Null Device”, which cannot add two numbers.

How it works

same subject, opposite extremesStory 1a brilliant computerStory 2a useless oneboth frozenLLMSparseautoencodermean activationof each featureV1V2Contrastive scoremax |V1 − V2|Independence scoremax |I − I_avg|I = V1 + V2mean overall story pairsI_avgInterpretabilityscorehow sparse the autoencoder is
Two stories about the same subject run through a frozen LLM and the SAE we want to grade. The highlighted feature fires on the first story and stays quiet on the second, which is exactly what the contrastive score looks for. The independence score compares the pair’s summed activations (I) with their average over the whole dataset.

We average how much each SAE feature fires on each story and compute two scores.

The contrastive score is the biggest gap between the two stories. Is there a feature that flips when the take flips?

The independence score is the biggest gap between this pair and the average over the whole dataset. Is there a feature that cares about this subject in particular?

Add the two up, subtract a penalty based on the SAE’s sparsity, and you have one interpretability score. No judge and no prompts at evaluation time, only arithmetic on activations.

Results

70.12% of SAE pairs ranked in the same order as SAEBench, using the two scores alone
77.30% of pairs once the score also accounts for sparsity
0 judge LLMs involved

Those numbers come from 48 pretrained SAEs that SAEBench had already graded. We also used CE-Bench to compare SAEs with each other. The clearest trend is width: with the architecture and the layer held fixed, 65k-wide SAEs scored above 16k-wide ones, and those above 4k-wide ones, at every sparsity level.

Here are the CE-Bench scores of 36 of those SAEs next to their autointerp scores from SAEBench: six architectures at six sparsity levels each, all 65k wide and reading layer 12 of Gemma-2-2B. Click a column to sort by it.

1top-k22278.70.8699
2gated54252.40.8611
3gated88252.20.8477
4top-k44250.90.8769
5batch-top-k21243.70.8821
6p-anneal49239.20.8487
7jumprelu22233.10.8895
8p-anneal74231.60.8564
9batch-top-k42230.40.8865
10batch-top-k84211.90.8780
11gated175209.80.8332
12top-k88193.30.8796
13jumprelu42190.10.8727
14p-anneal121188.50.8471
15p-anneal303171.10.8279
16jumprelu86169.90.8655
17top-k173156.70.8720
18batch-top-k169146.60.8757
19standard63144.80.8650
20jumprelu305135.70.8569
21jumprelu162135.30.8596
22standard125121.20.8476
23batch-top-k339103.90.8718
24p-anneal497102.00.8257
25standard21298.40.8475
26top-k33492.20.8619
27gated40985.30.8262
28jumprelu60564.40.8415
29standard46946.90.8309
30gated66224.90.8230
31top-k656-41.80.8757
32standard835-49.80.8075
33batch-top-k696-61.40.8614
34p-anneal1064-129.50.7867
35gated1150-164.80.8227
36standard1262-166.10.7919

CE-Bench score is contrastive + independence − 0.25 × L0, where L0 is how many features fire per token on average. Autointerp score is SAEBench’s LLM-judged interpretability score for the same SAE.

One catch: the stories themselves were written by GPT-4.1, so the benchmark may favor models that are at home in GPT-style text.

Cite

If CE-Bench is useful in your work, please cite the paper:

@inproceedings{gulko-etal-2025-ce,
title = "{CE}-Bench: Towards a Reliable Contrastive Evaluation Benchmark of Interpretability of Sparse Autoencoders",
author = "Gulko, Alex and
Peng, Yusen and
Kumar, Sachin",
editor = "Belinkov, Yonatan and
Mueller, Aaron and
Kim, Najoung and
Mohebbi, Hosein and
Chen, Hanjie and
Arad, Dana and
Sarti, Gabriele",
booktitle = "Proceedings of the 8th BlackboxNLP Workshop: Analyzing and Interpreting Neural Networks for NLP",
month = nov,
year = "2025",
address = "Suzhou, China",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2025.blackboxnlp-1.1/",
pages = "1--15",
ISBN = "979-8-89176-346-3"
}

See more

Read the paper

Source code

Dataset