Activation storage is often a bottleneck in sparse autoencoder (SAE) training. We study how many unique activations an SAE needs when its total training budget is fixed. Quality improves rapidly as the buffer grows, then reaches a plateau where replaying the buffer is nearly as effective as using fresh activations throughout training. Beyond this point, additional unique activations bring little benefit to reconstruction or interpretability, so the buffer need not grow with the training budget. We describe this tradeoff between diversity and repetition with a scaling law for limited data. We validate it across dictionary sizes and token budgets, early, middle, and late layers of Llama-3.1, Qwen3 model sizes, and BatchTopK, TopK, and JumpReLU SAEs. Sweeps using mathematical text and Python code test the effect of changing the activation source. Evaluation covers explained variance (EV), reconstruction MSE, feature absorption, automated interpretability, and sparse probing. These results give a practical training rule: choose the smallest buffer that reaches the quality plateau and replay it for the remaining budget. In our experiments, this reduces activation storage by 8–64× with negligible quality loss.
Figures & tables
Figure 1: Fresh activations and replay at a fixed SAE optimization budget. The replay pipeline generates and stores Ubuf activations once and uses E=Ntotal/Ubuf passes. s denotes bytes per activation. Generation counts refer to token activations. Batching and sequence packing determine the number of calls to the base model.
Figure 2: Explained variance as a function of unique activation count under fixed total SAE training budgets. With total optimization tokens fixed in each panel, moving right increases activation diversity and decreases the number of epochs over the buffer. EV improves sharply when activation diversity is low and then saturates.
Budget
Dict. size
Plateau EV
Saturation interval
Storage reduction
128M
16k
0.6393
8M–16M
8–16 ×
128M
32k
0.6610
16M–32M
4–8 ×
128M
64k
0.6648
16M–32M
4–8 ×
128M
128k
0.6730
16M–32M
4–8 ×
640M
16k
0.6522
20M–40M
16–32 ×
640M
32k
0.6803
40M–80M
8–16 ×
Table 1: Saturation intervals for each dictionary size and total training budget ( ϵ=0.005 ).
Figure 3: Validation across layers and models ( D=32k , N=1.28B ). Llama-3.1 8B layer sweeps use BatchTopK SAEs, and sweeps across Qwen3 model sizes use TopK SAEs. All curves show the same saturation pattern as diversity increases despite changes in layer, model size, and SAE activation function.
Activation
Sparsity
Plateau EV
usat
Storage reduction
BatchTopK
average k=32
0.6803
40M
16×
TopK
k=32
0.6807
40M
16×
JumpReLU
L0≈100
0.7634
40M
16×
Table 2: Transfer across activation functions at D=32k , Ntotal=640M , Llama-3.1 8B layer 15. BatchTopK and TopK are matched at k=32 . JumpReLU converges to L0≈100 and is therefore less sparse. All three variants saturate at 40M unique activations, showing that the diversity–repetition tradeoff is not specific to BatchTopK.
Figure 4: SAEBench metrics versus the number of unique activations for the BatchTopK sweep at layer 15 with a budget of 640M tokens. Dotted vertical lines mark the buffer chosen from the EV plateau for each dictionary. Reconstruction MSE follows the EV plateau, and AutoInterp remains high beyond this buffer scale. Feature absorption measures disentanglement. Sparse probing changes little with buffer size. None of the evaluated downstream metrics drops sharply at the recommended buffer size. Lower MSE and absorption fraction are better. Higher AutoInterp and sparse probing accuracy are better.
Domain
10M
20M
40M
80M
640M
U0.005 / reduction
FineMath-3plus
0.6312
0.6523
0.6608
0.6649
0.6673
80M / 8×
Stack-Edu Python
0.7013
0.7081
0.7119
0.7143
0.7155
40M / 16×
Table 3: Additional domain sweeps: held-out EV at each tested buffer size, with 640M total presentations. The reference is each domain’s 640M run without replay.
Domain
ϵ=0.0025
ϵ=0.005
ϵ=0.010
FineMath-3plus
80M / 8×
80M / 8×
40M / 16×
Stack-Edu Python
80M / 8×
40M / 16×
20M / 32×
Table 4: First qualifying tested buffer / storage reduction at three absolute EV tolerances, relative to the domain’s 640M run.
Figure 5: Capacity-corrected EV ( EV+AD−α ) versus effective activation count Neff under the extended R∗(D) model. Data points from all four dictionary sizes and three total budgets collapse onto a single power-law curve, supporting the functional form within the fitted regime.
Budget
16k
32k
64k
128k
128M
7.7
5.0
6.1
8.1
640M
1.8
1.6
2.9
2.4
1.28B
5.9
2.5
1.6
5.2
Table 5: RMSE for each panel used in the fit ( ×10−3 EV), with eight buffer sizes per cell. Residuals concentrate at the smallest budget and extreme widths at the largest budget.
Appendix figures & tables4 assets
Supplementary material from the paper’s appendix.
Appendix
Model
E∞
A
α
B
β
R∗ / c
γ
Δ AIC
Const. R∗
0.738
0.387
0.688
0.432
0.466
13.7
—
0
Extended R∗(D)
0.760
0.328
0.486
0.440
0.477
103.3
0.526
−77.3
Appendix
Table 6: Fitted parameters for the model with constant R∗ and the extended R∗(D) model, fit on all 96 data points from the main grid. The extended model is decisively preferred by AIC.
Quantity
D=16 k
D=32 k
D=64 k
Explained variance (main)
20M
40M
80M
Reconstruction MSE
80M
80M
80M
Feature absorption fraction
80M
40M
80M
Automated interpretability score
40M
160M
160M
SAE sparse probing accuracy
20M
20M
20M
Appendix
Table 7: SAEBench saturation thresholds at Ntotal=640M , Llama-3.1 8B layer 15, BatchTopK. The EV row is reproduced from Table 1 .
Table 9: Buffer recommendations at 640M total presentations for three EV tolerances. The reference is the best final EV on each sweep over eight buffer sizes. Each cell gives the smallest qualifying buffer and the resulting storage reduction.