Block-Sparse Featurizers Beyond Fixed Widths:
Learned Allocation, Label-Guided Organization, and What Reconstruction Misses

Edward Lu
Research notes · August 2026 · not peer reviewed
Abstract Block-sparse featurizers (Fel et al., 2026) hold multi-dimensional concepts together by making sparsity act between blocks rather than between rank-one atoms — but every block gets the same hand-chosen width, block↔concept assignment is left to chance, and quality is judged by reconstruction. We relax all three, one controlled experiment at a time. (1) Learned widths: ordered prefix gates let each block choose its own dimension under a dimension-use penalty; on the paper's synthetic benchmark the gates recover how many concepts exist and how wide each is, beat every fixed width across seeds, and a shuffled-width control shows the win is which concept gets which width. On DINOv2 the same penalty keeps 276 of 4,096 blocks yet nearly matches a raw-feature probe. (2) Weak semantic alignment: harmful on the toy (assignment was already one-to-one), as predicted it reverses on real features — 1% of ADE20K labels doubles block purity and cuts class shattering from 626 to 173 blocks at matched reconstruction. (3) Fidelity: across the toy, DINOv2, and GPT-2, the best-reconstructing featurizer is repeatedly not the most faithful one — splice CE and probes dissociate from R², arguing reconstruction is the wrong objective to trust. Negative results (coordinate steering, matching-pursuit selection, multi-chart decoders) are reported with their controls.

1Three questions, one framework

2Learned widths: ordered prefix gates

Learned dimension by manifold type
Figure 1: Learned block width tracks the true embedding dimension. blue bars = mean learned width of each factor's matched block · orange dots = true ambient dimension · gray squares = intrinsic dimension. Bars landing on the orange dots is the result.
Table 1: Per-block recovery on the toy model (G=256, k=4; ± over 4 seeds). Warm-up run, λ grid extended to its interior optimum 3×10⁻⁵.
ModelPer-block R²Active dims/sample
Adaptive (learned widths)0.9626 ± 0.001714.7
Vanilla b=3 (best fixed, 4 seeds)0.9538 ± 0.006612
Vanilla b=4 (paper config)0.956516
Vanilla b=20.86438
Mixed-width (same widths, shuffled)0.890816
Control comparison
Figure 2: Learned width-to-concept matching beats fixed and shuffled widths. blue = fixed-width controls · orange = adaptive · error bars ±2σ over four seeds.
The decisive control: mixed-width takes the adaptive model's final width histogram, reassigns it randomly across blocks, and freezes it — same capacity, same distribution, no learned matching. It falls to 0.891, worse than any uniform width ≥ 3. The value is not "fewer dimensions"; it is which concept gets which width. The gain (+0.009 over the best fixed control, ≈2.6 standard errors, ~4× tighter seed variance) reproduced in a second independent full run. Nuance: at the recovery-optimal λ the gates keep ≈1 spare dimension per concept while stable rank still sits on the truth (segments 1.2, disks 2.1, spheres 2.9) — gates learn capacity; stable rank measures geometry; the strong-λ point (exact widths, R² 0.947) and the warm-up point (spare dim, 0.963) form a Pareto frontier a late-ramping schedule might close.

3Learned widths on real features: an unsupervised filter

Table 2: DINOv2 patch activations (Imagenette): reconstruction, surviving blocks, 10-class linear probe.
ModelRecon R²Active blocksProbe acc
raw features (baseline)n/an/a0.994
Top-K SAE (16,384 atoms)0.830163840.980
Vanilla BSF (G=4096, b=4)0.78840960.986
Adaptive BSF (b_max=8)0.7612760.992
Top-activating patches per block
Figure 3: Blocks line up with concepts you can point to. Each 3×3 grid = top-activating validation patches of one high-usage block (id, fire rate, top class, purity in the header). French horn (0.84), golf-ball-on-grass (0.87), chainsaw (0.71), stereo equipment, springer spaniels (0.81); the busiest blocks are generic people/sky/ground textures — a usage↔purity tradeoff.

4Semantic alignment: a toy failure that predicted a real-data success

Table 3: Semantic supervision on DINOv2 + ADE20K. Purity = mean class purity over live blocks; n90 = blocks covering 90% of a class's firing (common classes); entropy = class→block firing entropy.
RunGlobal R²Live blocksPurityn90Entropy
Vanilla BSF0.77440960.2526265.69
Sem 0% (protocol twin)0.77440960.2526175.67
Sem 1%0.74237160.5411734.57
Sem 5%0.74332850.576874.09
Sem 10%0.75031690.586974.18
Purity and concentration vs labeled fraction
Figure 4: One percent of labels reorganizes the dictionary. Left: mean block purity vs labeled fraction (dashed = Vanilla). Middle: blocks needed for 90% of a class's mass. Right: at equal reconstruction (R²≈0.74) the nearest Vanilla checkpoint reaches purity 0.21 vs 0.54 for Sem 1%.
The decisive control: semantic runs reconstruct slightly worse (−0.02 to −0.03 R²), so the purity gain could be an earlier point on the Vanilla trajectory. Scoring the Vanilla checkpoint of matched R² (step 2,500, R²=0.745): purity 0.209 and n90 965, vs 0.541 and 173 for Sem 1%. At equal reconstruction the semantic model is ≈2.6× purer and ≈5.6× more concentrated; the 0% twin lands on Vanilla within the pre-measured seed-noise yardstick (Δpurity 0.003), so the procedure alone does nothing. Costs stay real and reported: high-traffic generic blocks stay generic (usage-weighted purity is flat), and global class–block NMI degrades past 1% — supervision organizes the tail, not the busy head, and label appetite saturates by 5%.
Shattering before and after
Figure 5: What supervision changes. The most shattered common class (person) needs 1,158 blocks for 90% of its mass under Vanilla, 316 under Sem 1%; the same small block set carries a class across very different images.

5Fidelity: reconstruction is the wrong thing to trust

On GPT-2 Medium (layer 12, ~1M tokens over prose/reviews/code), each featurizer's reconstruction is spliced into the forward pass and the damage read off next-token cross-entropy (clean 3.31, zero-ablation 14.95):

Table 4: Reconstruction vs downstream fidelity under CE-splice, matched dictionary size (~16.8M params).
FeaturizerRecon R²CE Δ vs cleanFrac recovered
Top-K SAE (8192, k=32)0.7321.1540.901
Vanilla BSF b=40.6640.8590.926
Wide-block BSF (b=8)0.7060.6730.942
Recon vs CE delta
Figure 6: The best-reconstructing featurizer damages the model most. Left: reconstruction R² vs splice damage per featurizer — the SAE sits right and high, block models left and low. Right: the "adaptive" row's gates never pruned on text (all widths at 8), so it is reported as what it is: a wide-block Vanilla; learned allocation on language still needs its own λ sweep.
This is the series' most consistent regularity, seen on three unrelated surfaces: the GPT-2 SAE reconstructs best and splices worst; the DINOv2 adaptive model reconstructs worst and probes best (Table 2); and on the toy, matching-pursuit selection lifted global reconstruction to 0.993 while dropping factor recovery to 0.899. What a featurizer keeps matters more than how much it keeps — evaluation should weight splice/probe fidelity and recovery over R².

6What did not work

7Limits and what's next

8Sources

All numbers from self-contained Colab notebooks with cached runs, recorded deviations, and exported archives