Playground
Turn the knobs.
Interactive versions of the ideas in the posts. Each runs live in your browser, with a few things to try and a link to the full write-up.
01 · Simulation
Refusal as a single direction
Steer a synthetic model's refusal by ablating or adding one direction, against a norm-matched random control.
A toy model whose refusal is, by construction, one planted direction: it refuses a prompt exactly when that prompt’s activation projects past a threshold θ onto that axis. Difference-of-means recovers the axis; you can ablate it (suppression) or add it (induction) and watch the decision move. It is not a real language model. It runs a 64-dimensional synthetic model live in your browser, so the shape of the result is real but the specific numbers are a toy.
- Erase the direction, kill the refusal. Keep Arm on Suppress and Direction on Fitted. The harmful cloud sits right of θ (all refusing); ablation collapses it left of θ and the refusal rate drops to about 0.
- The control is the whole experiment. Switch Direction to the random control. Same-size perturbation, but the cloud barely moves and the refusal rate stays high. The effect was about which direction, not how big.
- Inject refusal into benign prompts. Set Arm to Induce. Watch five harmless-but-scary-looking requests slide from full help to refused as the added direction pushes them past θ.
- Find the instrument's floor. Drag θ up past the harmful cloud. Baseline refusal falls to near zero and there is nothing left to suppress: the same no-baseline-refusal outcome the real Gemma run hit.
Loading the simulation…