Ir para o conteúdo
ModelVerificadoExterno
Baixar

Smollm2 135m SAE

license: mit language: en basemodel: HuggingFaceTB/SmolLM2-135M tags: sae mechanistic-interpretability sparse-autoencoders monosemanticity feature-extraction smollm2 interpretability atlas pipelinetag: feature-extraction

Tipofeature-extractionModelo baseHuggingFaceTB/SmolLM2-135MVersãoPublicador@juiceb0xc0deCnota

Fonte do modelo

Tipo
feature-extraction
Tamanho do arquivo
244 MB
Modelo base
HuggingFaceTB/SmolLM2-135M
Versão
vcheckpoint_full
Atualizado
19 de set. de 2026
Publicador
@juiceb0xc0de
Parâmetros
135M
Fonte
Hugging Face

Descrição da fonte

SmolLM2-135M Layer-Complete Top-K SAE Suite

30 sparse autoencoders — one per residual-stream layer of HuggingFaceTB/SmolLM2-135M.

Each SAE uses Top-K hard sparsity (k=50), a dictionary of 18,432 features (32× expansion over d_model=576), and an always-on AuxK auxiliary term (k_aux=25). Identical hyperparameters across all 30 layers, seed 0.

What to expect

  • Mean explained variance: 0.949 across layers
  • Best reconstruction at mid-layers (L11, EV 0.989)
  • Weakest at the final layer (L29, EV 0.873)
  • Mean L0 ≈ 46.4 (target k = 50)
  • Zero dead features across all 30 SAEs
  • Total training: ~95.8k optimizer steps / ~3.14B tokens

What this is

A training-healthy, uniform SAE atlas for SmolLM2-135M. A reasonable starting point for layer comparison, feature-steering experiments, and cross-layer analysis. Every layer was trained under identical hyperparameters, so per-layer SAEs are directly comparable.

What this is NOT

  • Not a proven set of interpretable features. No downstream validation (CE/KL recovery under activation patching, automated interpretability scoring, or steering evaluation) has been run.
  • Not fully converged at every layer. The deepest layers (L27–L29) early-stopped while EV was still climbing and may benefit from longer training — treat their reported EV as a lower bound, not a converged value.
  • Not an unassisted zero-dead-feature result. The AuxK auxiliary term was active throughout training (effective_aux_k = 25); the discrete resampler never fired, but that is a consequence of AuxK keeping latents alive, not independent evidence that no rescue mechanism was needed. Top-K hard sparsity, the sparsity-warmup schedule, and AuxK were all present on every run — this suite does not isolate which one (or what combination) is responsible.
  • Not assessed for decoder specialization vs. redundancy. EV and dead% do not distinguish a well-specialized dictionary from one containing duplicate or near-initialization features. Decoder drift (‖W_dec − W_dec_init‖) and pairwise decoder cosine similarity were not logged for this run.

Training configuration

HyperparameterValue
Base modelHuggingFaceTB/SmolLM2-135M (30 layers, d_model = 576)
Hook pointresidual stream, per layer L0–L29
Active latents (k)50
Dictionary size18,432 features (32× expansion)
AuxKk_aux = 25, active throughout
Optimizer LR2e-4, warmup → decay
Batch size32,768 tokens/step (microbatch = 32,768, accum = 1)
Max steps15,000 (EV-plateau early stopping enabled)
Seed0

Hardware

L00–L04 trained on NVIDIA L40S; L05–L29 trained on NVIDIA H100 80GB HBM3 (RunPod). Throughput ranged 244K–812K tokens/sec; the step-up partway through the sweep is consistent with this hardware tier change but is inferred from throughput data, not independently confirmed in logs.

Per-layer results

LayerEVMean L0Dead %Stop step
L000.95345.7804751
L010.95545.2205000
L020.96444.3904501
L030.94948.5404001
L040.93649.3704001
L050.93650.1005000
L060.93045.7403751
L070.93445.3503751
L080.94345.5604251
L090.93945.6103751
L100.94043.0904751
L110.98948.0302251
L120.98647.9002001
L130.98547.4902001
L140.98445.6302001
L150.98346.3002001
L160.98048.2702251
L170.97645.9302001
L180.97445.0802001
L190.97146.3002251
L200.96746.1502251
L210.96045.9002501
L220.95146.1202501
L230.93246.2702751
L240.93646.0103001
L250.92847.4603501
L260.91146.4503501
L270.91146.8903001
L280.88946.7903251
L290.87344.8103251

Reproduction

model_id = HuggingFaceTB/SmolLM2-135M
layers = 0..29 (one SAE each)
k = 50
n_features = 18432 (32x expansion over d_model=576)
k_aux = 25
lr = 2e-4 (warmup -> decay)
batch = 32768 tokens/step, accum=1
n_steps = 15000 (EV-plateau early stop)
seed = 0

Logs

Full per-step metrics and run logs: ricks-holmberg-juiceb0xc0de/smollm2-sae on W&B.

License

MIT

Fontes

1 fonte
Hugging FacePrimárioVersão d4611a52092ddbfa85ffff57ce8e8476daf7e054
huggingface.co/juiceb0xc0de/smollm2-135m-SAE/tree/d4611a52092ddbfa85ffff57ce8e8476daf7e054

Verificado 19 de set.

Artefatos de modelo

1 artefato

layer_00_s0/checkpoint_full.pt

pt · 244 MB · SHA-256 5c742d58d807…6e68 · Hugging Face

Baixar

Trechos de fonte

3 trechos

--- license: mit language: - en base_model: HuggingFaceTB/SmolLM2-135M tags: - sae - mechanistic-interpretability - sparse-autoencoders - monosemanticity - feature-extraction - smollm2 - interpretability - atlas pipeline_tag: feature-extraction --- # SmolLM2-135M Layer-Complete Top-K SAE Suite 30 sparse autoencoders — one per residual-stream layer of [`HuggingFaceTB/SmolLM2-135M`](https://huggingface.co/HuggingFaceTB/SmolLM2-135M). Each SAE uses Top-K hard sparsity (`k=50`), a dictionary of 18,432 features (32× expansion over `d_model=576`), and an always-on AuxK auxiliary term (`k_aux=25`). Identical hyperparameters across all 30 layers, seed 0. ## What to expect - Mean explained variance: **0.949** across layers - Best reconstruction at mid-layers (**L11, EV 0.989**) - Weakest at the final layer (**L29, EV 0.873**) - Mean L0 ≈ **46.4** (target k = 50) - **Zero dead features** across all 30 SAEs - Total training: ~95.8k optimizer steps / ~3.14B tokens ## What this is A training-healthy, uniform SAE atlas for SmolLM2-135M. A reasonable starting point for layer comparison, feature-steering experiments, and cross-layer analysis. Every layer was trained under identical hyperparameters, so per-layer SAEs are directly comparable. ## What this is NOT - **Not** a proven set of interpretable features. No downstream validation (CE/KL recovery under activation patching, automated interpretability scoring, or steering evaluation) has been run. - **Not** fully converged at every layer. The deepest layers (L27–L29) early-stopped while EV was still climbing and may benefit from longer training — treat their reported EV as a lower bound, not a converged value. - **Not** an unassisted zero-dead-feature result. The AuxK auxiliary term was active throughout training (`effective_aux_k = 25`); the discrete resampler never fired, but that is a consequence of AuxK keeping latents alive, not independent evidence that no rescue mechanism was needed. Top-K hard sparsity, the sparsity-warmup schedule, and AuxK were all present on every run — this suite does not isolate which one (or what combination) is responsible. - **Not** assessed for decoder specialization vs. redundancy. EV and dead% do not distinguish a well-specialized dictionary from one containing duplicate or near-initialization features. Decoder drift (‖W_dec − W_dec_init‖) and pairwise decoder cosine...

Source context: 0 downloads · 0 likes · Pipeline feature-extraction · Repo juiceb0xc0de/smollm2-135m-SAE

Source context: 0 downloads · 0 likes · Repo juiceb0xc0de/smollm2-135m-SAE