snip-scope / README.md
ARotting's picture
Publish Interactive sparse-feature exemplar browser
4a00927 verified
|
Raw
History Blame Contribute Delete
1.84 kB
---
title: Snip Scope
emoji: 🧪
colorFrom: indigo
colorTo: blue
sdk: static
app_file: index.html
pinned: false
---
# SNIP Scope
SNIP Scope trains a top-k sparse autoencoder on final-layer hidden activations from
the pretrained SNIP-0.4M transformer. A 96-dimensional activation is encoded into a
384-feature overcomplete dictionary, but only the 16 largest positive features may
fire for each token.
The benchmark measures held-out reconstruction, explained variance, active-feature
count, dead-feature rate, and token exemplars for each learned feature. A 16-component
PCA reconstruction is retained as a dense low-rank control. Feature exemplars are
descriptive clues, not proof that a neuron represents one human concept.
## Verified results
The SAE trained on 180,000 final-layer token activations and was measured on 40,000
held-out activations.
| Metric | Top-k SAE | PCA-16 control |
| --- | ---: | ---: |
| Reconstruction MSE | 0.02585 | 0.29824 |
| Explained variance | 97.41% | 70.11% |
| Active features per token | 16.00 | 16 dense components |
| Dead dictionary features | 3.39% | not applicable |
The learned dictionary contains 384 features and the SAE has 74,112 parameters.
The Space exposes each feature's five highest-activating held-out BPE tokens and
firing rate. Those exemplars may reflect token identity, syntax, position, or mixed
causes; the project does not assign automatic human-readable concepts.
## Reproduce
```powershell
uv run python projects/snip-scope/train.py
```
## Hosted showcase
This free static Space preserves the complete original Gradio source, trained artifacts, evaluation files, and local launch requirements. Hugging Face now requires PRO for CPU-backed Gradio hosting, so the public landing page is static while the checked-in `app.py` remains the authoritative runnable demo.