{"id":"44f55c3f-79b5-417f-a595-67d83008842e","arxiv_id":"2412.06410","paper_version":1,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":6.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":2,"one_line_summary":"BatchTopK sparse autoencoders replace per-sample top-k selection with batch-level selection, improving reconstruction at the same average sparsity on GPT-2 and Gemma 2.","lead":"This paper introduces BatchTopK, a sparse autoencoder method that selects the top activations across a whole batch rather than for each input separately. The authors report better reconstruction than standard TopK sparse autoencoders at the same average sparsity on two language models.","discovery_kind":"new_method","skeptic_critique":{"model":"deepseek-v4-flash","headline":"Inference threshold in Eq. 7 is not shown to reproduce batch-level top-nk selection; a fixed scalar threshold cannot match batch-adaptive selection, so the reported 'same average sparsity' and comparisons may not describe the trained model.","rationale":"The reader's weakest assumption — that θ faithfully reproduces batch-level top-nk selection — is the same load-bearing point I identify. The paper's strongest claim is an empirical improvement at equal average sparsity, and that equality is only guaranteed during training, not under the Eq. 7 inference rule. The concern is concrete rather than a generic call for error bars: Eq. 7 defines a quantity that, if taken literally, is not the batch selection threshold, and even a correctly estimated expected threshold removes the batch-adaptive coupling that defines the method. The paper does provide code and reproducible experiments, and the TopK improvements are directionally consistent, but none of that addresses whether the evaluated model matches the proposed training objective. My recommended verdict remains the reader's conditional acceptance: the central claim is plausible and the method is simple, but the inference threshold must be validated before the comparisons can be trusted. I set verdict_should_be to UNCHANGED because the reader already conditioned on a threshold sensitivity check; this stress-test strengthens that condition rather than moving to a different verdict.","tokens_in":4724,"tokens_out":6152,"duration_ms":63106,"concrete_test":"On a held-out set, run the trained BatchTopK encoder under three selection rules: (i) batch-level top n×k as in training, (ii) the fixed threshold θ from Eq. 7, and (iii) per-batch optimal thresholds. Report mean L0, the L0 distribution, and NMSE for (i) versus (ii). If mean L0 under (ii) deviates from k by more than a few percent, or if NMSE differs noticeably between (i) and (ii), the deployed inference model is not the trained model and the paper's comparisons need to be recomputed with a faithful inference rule or with L0 matched exactly.","verdict_should_be":"UNCHANGED","load_bearing_attack":"The central claim requires that BatchTopK SAEs improve reconstruction at the same average sparsity as TopK SAEs. Training selects the top n×k encoder activations over each batch, so the cutoff varies with batch content. Inference replaces this with the single threshold θ of Eq. 7, estimated as the average of minimum positive activation values. Even under the charitable reading that θ is the average of the per-batch selection thresholds, a fixed threshold cannot reproduce batch-adaptive selection: a sample with many strong latents raises the training batch's cutoff and is capped at inference, while a sparse sample lowers it. A constant θ therefore shifts the per-sample L0 distribution and likely shifts the mean L0 away from the intended k. If Eq. 7 is read literally as the minimum positive z in the batch, θ lies far below the actual selection threshold and the mismatch is severe. The paper reports no inference-time L0 values, no comparison of fixed-θ selection with batch-level selection, and no sensitivity of results to the number of batches used to estimate θ. Since all Figure 1 and Figure 2 evaluations use this inference rule, the headline comparisons to TopK and JumpReLU are not yet shown to measure the trained BatchTopK objective.","agreement_with_reader":"agree"},"referee_report":{"model":"deepseek-v4-flash","summary":"The paper introduces BatchTopK sparse autoencoders, which replace the per-sample top-k selection of TopK SAEs with a batch-level top-nk selection. This allows the number of active latents per sample to vary while keeping the average number under explicit control. At inference, the batch dependency is removed by applying a fixed threshold θ estimated from the average minimum positive activation in batches. Experiments on GPT-2 Small (layer 8) and Gemma 2 2B (layer 12) report that BatchTopK achieves lower NMSE and less CE degradation than TopK at matched average sparsity, and comparable or better performance than JumpReLU SAEs depending on the model and setting. The authors provide code and training details in the appendix.","tokens_in":4981,"tokens_out":5532,"duration_ms":53822,"significance":"If the central claims hold, this is a practically useful contribution: BatchTopK offers a simple modification with direct control of average L0, avoiding the costly hyperparameter sweep required for JumpReLU SAEs. The experimental scope is reasonable (two model families, several dictionary sizes), and the paper ships code, which aids reproducibility. The main weaknesses are the unvalidated inference-time threshold, which determines whether the evaluated model is actually the trained model, and the lack of reported L0 values for the JumpReLU baseline, which is required for the 'comparable sparsity' claim. These issues are local in the sense that they can be addressed with additional experiments and reporting, but they are load-bearing for the paper's central message.","major_comments":[{"comment":"The inference-time threshold θ defined in Eq. (7) is not shown to reproduce the training-time batch-level top-nk selection, and as written it is not the correct cutoff. Training selects the top n×k activations in a batch, so the relevant cutoff is the n×k-th largest activation value; the expression θ = EX[min{zi,j(X) | zi,j(X) > 0}] computes the expected smallest positive activation, which is generally much smaller than that cutoff. A fixed scalar threshold also cannot reproduce the batch-adaptive boundary, since per-batch selection depends on the content of the entire batch. The manuscript reports no inference-time L0 for BatchTopK, no comparison between the fixed-θ rule and the true batch-level selection rule on held-out batches, and no sensitivity of the results to the number of batches used to estimate θ. Because all evaluations in Figures 1 and 2 use the fixed-θ rule, the headline comparisons to TopK and JumpReLU may not describe the trained BatchTopK objective.","section":"§3, Eq. (7)"},{"comment":"The JumpReLU comparison is not verified at matched sparsity. The paper states that the sparsity coefficient was varied so that the resulting sparsity would match k, but it never reports the actual L0 of the JumpReLU SAEs on the evaluation data. Since L0 is an outcome of JumpReLU training rather than a setting, the 'comparable performance' claim is only meaningful if the effective L0 is close to the stated k. Please report L0 for all models on the evaluation set, and for BatchTopK at inference as well, so that the average-sparsity axis of Figures 1 and 2 is explicit.","section":"§4 and Appendix A.1"},{"comment":"The reported point estimates have no error bars and no information about repeated seeds. The abstract claims BatchTopK 'consistently' outperforms TopK, but with a single run per configuration it is impossible to tell whether the differences, which are often small, are within run-to-run variation. Please provide at least three seeds (or bootstrap confidence intervals) for the main comparisons, or clearly state that only single runs were performed.","section":"§4, Figures 1 and 2"}],"minor_comments":[{"comment":"The loss expression has mismatched parentheses; it should be ‖X − (BatchTopK(WencX + benc)Wdec + bdec)‖^2_2, and the norm notation should be consistently written.","section":"Eq. (6)"},{"comment":"The notation should specify that the minimum is taken over all samples i and latents j in a batch, and that the expectation is over batches.","section":"Eq. (7)"},{"comment":"Please state how many batches are used to estimate θ, and whether θ is computed on training activations or held-out activations.","section":"§3"},{"comment":"The GitHub link in the abstract appears without a separating space before the URL; fix the formatting.","section":"Abstract"},{"comment":"Figure 1 (left) omits JumpReLU because its L0 cannot be fixed; the caption could still report the achieved L0 values for all plotted models to make the sparsity matching explicit.","section":"Figure 1 (left)"}],"recommendation":"major_revision","confidential_remarks":"The paper is a workshop submission with a modest but useful contribution. The central technical concern is the inference threshold in Eq. (7): if the fixed threshold does not preserve the per-sample sparsity distribution induced by batch-level training, then the evaluated model is a different model, and the comparisons lose their meaning. This is fixable with additional experiments and reporting (inference L0, oracle batch selection comparison, θ sensitivity), but it is a correctness issue rather than a presentation issue. I would not recommend rejection if the authors can show that the fixed threshold is a faithful proxy, or if they modify the method accordingly."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"Let me give you the short version. The training-time idea is genuinely neat: instead of per-sample TopK, select the top n*k activations over a whole batch, so easy samples use fewer latents and hard ones use more. The paper shows this gives better NMSE and CE than TopK at fixed k on GPT-2 Small and Gemma 2 2B, with code and a nice Figure 3 showing a wide per-sample L0 distribution. That part is credible as far as it goes.\n\nThe problem is the inference rule. Eq. 7 defines theta as the average, over batches, of the minimum positive encoder activation in the batch. That is not the batch selection threshold. The training cutoff is the n*k-th largest activation in the batch, which is much higher than the minimum positive value whenever there are more than n*k active pre-threshold latents, which is the typical case. So a fixed threshold equal to the average minimum positive activation will let many more than k latents through on average. The paper never reports inference-time L0, never checks fixed-theta selection against batch-level selection, and never shows sensitivity to how many batches are used to estimate theta. Since all the evaluation figures use this threshold, the headline 'same average sparsity' claim is not actually demonstrated. This is a load-bearing gap, not a nitpick.\n\nThere are two smaller issues. The JumpReLU baseline is tuned via its sparsity penalty to 'match' k but the achieved L0 is not reported, so the comparison is loose. And Figures 1 and 2 have no error bars; given that the TopK gains look consistent across dictionary sizes, I'd bet they are real, but they're point estimates from one run.\n\nWhat's good: the method is simple enough that someone can implement it, the code is public, and the core TopK comparison is properly controlled with k fixed rather than budget-heuristic-patched. The authors also correctly note that JumpReLU requires a costly hyperparameter sweep while BatchTopK directly specifies average L0. That practical advantage is worth something even if the threshold issue is fixed.\n\nMy verdict: this deserves serious peer review. The idea is useful and the flaw is fixable. But I would not cite the 'same average sparsity' claim until the authors show inference-time L0, compare fixed-theta selection to training-time batch selection on a validation set, and report threshold sensitivity. If they can do that, this becomes a solid incremental contribution to the SAE toolbox.","headline":"The BatchTopK training idea is a genuine improvement over TopK, but the inference threshold in Eq. 7 does not reproduce batch-level top-nk selection, so the 'same average sparsity' claim is unsubstantiated until fixed.","tokens_in":5440,"tokens_out":2395,"would_cite":false,"duration_ms":23277,"reading_group":"yes","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"BatchTopK sparse autoencoders beat per-sample TopK by relaxing sparsity to the batch.","keywords":["BatchTopK","sparse autoencoders","top-k sparsity","language model interpretability","reconstruction fidelity","JumpReLU","dictionary learning","variable sparsity"],"falsifier":"On a held-out batch from the training distribution, compare the active-latent mask produced by the batch-level top-$nk$ selection against the mask produced by the scalar threshold $\\theta$; if the masks disagree on many samples, or if evaluating with the true batch mask gives materially lower NMSE than evaluating with $\\theta$, then the reported performance does not reflect the method as trained.","tokens_in":4536,"feed_emoji":"🧩","tokens_out":8697,"duration_ms":69305,"temperature":0.7,"pith_summary":"Sparse autoencoders that fix a per-sample top-$k$ budget waste latents on easy inputs and starve hard ones. This paper relaxes the constraint to the batch: keep the top $n \\times k$ activations across a whole batch, so easy samples use few latents and hard ones use many. The authors claim BatchTopK SAEs consistently reconstruct activations of GPT-2 Small and Gemma 2 2B better than standard TopK SAEs at the same average sparsity, and match or beat JumpReLU SAEs in most settings. A bonus is that average sparsity is set directly by choosing $k$, avoiding the costly hyperparameter sweep JumpReLU requires.","feed_headline":"BatchTopK sparse autoencoders beat per-sample TopK","feed_subtitle":"Variable latents per token let the same average sparsity buy better reconstruction on GPT-2 and Gemma 2.","key_machinery":"The central object is the BatchTopK function, which keeps the top $n \\times k$ latent activations by value across a batch of $n$ samples rather than the top $k$ per sample. Training uses this batch-level mask on the encoder output, with the same auxiliary dead-latent loss as TopK SAEs. At inference, batch dependence is removed by converting the mask to a scalar threshold $\\theta$, estimated as the average minimum positive activation across batches, and applying it as a JumpReLU; the paper argues this preserves the learned sparsity pattern.","core_discovery":"The central claim is that replacing the per-sample TopK selection with a batch-level selection of the top $n \\times k$ activations yields a sparse autoencoder with better reconstruction fidelity at the same average number of active latents. On residual-stream activations from GPT-2 Small and Gemma 2 2B, BatchTopK SAEs report lower normalized MSE and lower downstream cross-entropy degradation than TopK SAEs across dictionary sizes and sparsity levels, and reconstruction comparable to JumpReLU SAEs. The authors also show the method actually uses its flexibility: the number of active latents per sample varies widely, with one-latent samples and samples using more than 80 latents in the same batch.","pith_inferences":["If the inference-time threshold faithfully reproduces batch selection, BatchTopK is a near drop-in improvement for any existing TopK SAE training pipeline.","The threshold estimate in Eq. 7 is an average over the minimum positive activation; calibrating $\\theta$ on held-out data instead might close any residual gap between training-time and inference-time behavior.","The observed per-sample $L_0$ variation suggests a natural extension: make the latent budget a function of input difficulty (token position, attention entropy) rather than a global batch quantile.","A direct interpretability study, probing monosemanticity or firing patterns, would test whether the added flexibility preserves the interpretability that motivates SAEs."],"forward_implications":["For a fixed average $L_0$, BatchTopK SAEs reconstruct activations with lower NMSE than TopK SAEs on both GPT-2 Small and Gemma 2 2B.","BatchTopK SAEs match or improve on JumpReLU reconstruction while letting the practitioner specify average sparsity directly, instead of tuning a sparsity penalty.","Because the active-latent count adapts to each input, BatchTopK allocates almost no latents to low-information tokens such as the BOS token, where TopK wastes its fixed budget.","On GPT-2 Small, BatchTopK also beats JumpReLU on downstream cross-entropy degradation; on Gemma 2 2B it beats JumpReLU only at the lowest sparsity setting ($k=16$).","Because BatchTopK keeps the TopK architecture up to the selection rule, its latents should remain about as interpretable as TopK latents, though interpretability is not directly measured."],"supporting_citations":[{"why":"Supplies the TopK SAE baseline that BatchTopK directly extends and compares against.","marker":"[3]"},{"why":"Introduces the top-k sparse autoencoder principle that BatchTopK modifies to batch level.","marker":"[4]"},{"why":"State-of-the-art JumpReLU SAEs used as the main comparison baseline; BatchTopK matches or beats them in reconstruction.","marker":"[7]"},{"why":"Sets the SAE training objective and decoder constraint used across all compared architectures.","marker":"[1]"},{"why":"Provides GPT-2 Small, one of the two models whose activations are used in the experiments.","marker":"[5]"},{"why":"Provides Gemma 2 2B, the other model whose activations are used in the experiments.","marker":"[8]"}],"fun_headline_variants":["BatchTopK lets SAEs spend latents where needed","Adaptive sparsity: BatchTopK beats per-sample TopK","Variable latents per sample: BatchTopK SAEs win","Batch-level sparsity gives better SAE reconstruction"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"The inference-time threshold $\\theta$, estimated as the average minimum positive activation across batches, must reproduce the training-time batch-level top-$nk$ selection; if it does not, the evaluated model is not the model that was trained.","fun_headline_variants_meta":{"raw":{"variants":["BatchTopK lets SAEs spend latents where needed","Adaptive sparsity: BatchTopK beats per-sample TopK","Variable latents per sample: BatchTopK SAEs win","Batch-level sparsity gives better SAE reconstruction"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.001043,"raw_usage":{"total_tokens":4362,"prompt_tokens":896,"completion_tokens":3466,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":512,"completion_tokens_details":{"reasoning_tokens":3398}},"tokens_in":512,"tokens_out":3466,"duration_ms":24867,"temperature":1.0,"reasoning_tokens":3398,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-11T19:40:33.380100+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"On a held-out batch from the training distribution, compare the active-latent mask produced by the batch-level top-$nk$ selection against the mask produced by the scalar threshold $\\theta$; if the masks disagree on many samples, or if evaluating with the true batch mask gives materially lower NMSE than evaluating with $\\theta$, then the reported performance does not reflect the method as trained.","supporting_citations":[{"cited_title":"Scaling and evaluating sparse autoencoders, 2024","cited_arxiv_id":null,"evidence_quote":"Supplies the TopK SAE baseline that BatchTopK directly extends and compares against."}],"review_version":1}