thought steering
Move the slider to change how much a language model reframes negative thoughts.
Model
Steering
Advanced
Conversation
How it works
The steering direction is the mean difference between the hidden states of reframes and of the negative thoughts they reframe, from Cognitive Reframing Pairs (opens in a new tab), a synthetic dataset I generated. Each text is read as the model's reply to a request for a thought about its situation, at the reply's last token.
While Qwen3.5-0.8B answers your message, the direction is added to the residual stream after layer 12, at the end of your message and at every token the model writes. The slider sets its length as a fraction of that layer's median activation norm, and negative values point away from the reframes. Under Advanced, you can steer other layers or add seven more directions, one for each reframing attribute of Sharma et al. (2023) (opens in a new tab), such as actionability or empathy, each fitted on pairs written to differ in that attribute.
The model runs in your browser with ONNX Runtime on WebGPU, from a 4-bit graph modified to take the steering vector as an input, and the directions were fitted on that graph's own activations. It writes about 38 tokens a second on a $350 GPU.
Steering LLM thoughts with cognitive reframing studies what the steering changes at each layer of Qwen3-4B.