Prism: a sparse-autoencoder atlas of a language model’s features

Prism splits a small language model’s residual stream into thousands of features with a TopK sparse autoencoder, in your browser: a ready-made atlas of 2,048 features for TinyStories-3M’s layer 4, or one you train on your own device for any layer. You browse the features as a map, see the story text that fires each one and the words it pushes the model toward, watch every word you type split into its features, and clamp a feature on or cut it out while the model writes, next to the untouched original.

How it works

  1. Open the ready-made atlas, or grow one for any layer on your device. Each dot on the map is a feature, placed near the features whose directions it shares.
  2. Hover a word in the story to see the features that fire on it, or click a feature for the contexts that fire it hardest and a logit lens: the words its direction pushes toward and away from.
  3. Steer a feature: clamp it at every token to a multiple of its peak, or set it to 0 to cut it out, and the story is written again beside the original from the same random numbers.

Privacy and limits

  • Everything runs in your browser: prompts and steering stay on your device unless you share a recipe link.
  • Growing an atlas reads TinyStories and trains on your device, from about a minute to several, depending on the model, the layer and the dictionary size.
  • The logit lens skips the later layers, so it’s a hint, not the whole effect; steering a feature shows the effect.

Models

TinyStories (Eldan & Li 2023)

Prism runs on this site’s desktop, which needs JavaScript: with it on, this address opens the app. In the desktop’s terminal it’s app prism. This page as Markdown.