The other day I came across a term that I thought sounded cool, ABLITERATION. So what is it? Chat models are trained to refuse certain requests. The process of abliteration strips that refusal out by editing the model's weights directly, without retraining it. The name is a blend of ablation (removing a part of a model to see what it does) and obliterate. It started as the tag FailSpy put on their uncensored models on Hugging Face, and it stuck. The method is more precise than the name suggests, and it's a neat way to see how refusal is represented inside a model.
How it works
It rests on one finding from Arditi et al. (2024), who showed that across 13 open chat models, refusal is largely mediated by a single direction in the model's activation space, the "refusal direction". Erase it from the activations and the model stops refusing harmful requests. Add it to the activations for a harmless prompt and the model refuses that too.
To find the direction, you run the model on a set of harmful prompts and a set of harmless ones (the paper used 128 of each) and take the difference between their mean activations:
The difference gives one candidate direction per layer, and per token position after the instruction. Each candidate is tested by erasing it and checking whether the model still refuses. The paper keeps the one that stops refusals best without changing much on harmless prompts.
1. Find the direction
2. Remove it
Removing the direction means taking away each activation's component along r̂, the unit-length version of r:
You could do this at inference time, with a hook at every layer, but abliteration bakes it into the weights instead. Every matrix that writes to the residual stream (the token embeddings, and the output projections of every attention and MLP block) gets the same treatment, W′ = W − r̂ r̂ᵀW, so no part of the model can write along r̂ any longer. The paper shows the weight edit is equivalent to erasing the direction at run time. What you get is an ordinary checkpoint that complies with requests it would normally decline, and needs no extra code to run.
What it costs
The cost to the model's other abilities is small, but not zero. Arditi et al. found most of their abliterated models scored within noise of the originals on MMLU, ARC and GSM8K, but TruthfulQA scores consistently dropped. Maxime Labonne's write-up abliterated an 8B Llama 3 model and saw a drop on every benchmark run. A round of DPO afterwards won most of it back, except on GSM8K.
The bigger point is about safety. If refusal lives in one direction, the safety training on an open-weight model can be undone with a few hundred prompts and some matrix multiplications, with no fine-tuning data and no training run. As a result, abliterated versions of popular open models are easy to find on Hugging Face. The same property makes abliteration a handy interpretability tool, because it gives a clean, causal test that one direction does what you think it does.
Beyond refusal
Nothing in the recipe is specific to refusal. Swap the harmful and harmless prompts for any two sets that differ in one behaviour and you get a direction for that behaviour, which you can project out the same way. It also works the other way. Arditi et al. made models refuse harmless requests by adding the refusal direction, and Panickssery et al. (2024) used the same difference-of-means trick to turn sycophancy, hallucination and other behaviours up or down in Llama 2, with only a small drop in MMLU. Persona vectors take this further, building directions for traits like sycophancy and "evil" from just a written description of the trait. The catch is that it only works as well as one direction captures the behaviour. Even refusal turns out to be spread over several directions (Wollschläger et al., 2025), and Tan et al. (2024) found steering works well on some inputs and barely at all on others.
References
- Arditi, Obeso, Syed, Paleka, Panickssery, Gurnee & Nanda. Refusal in Language Models Is Mediated by a Single Direction. NeurIPS 2024.
- Labonne. Uncensor any LLM with abliteration. Hugging Face blog, 2024.
- Panickssery, Gabrieli, Schulz, Tong, Hubinger & Turner. Steering Llama 2 via Contrastive Activation Addition. ACL 2024.
- Chen, Arditi, Sleight, Evans & Lindsey. Persona Vectors: Monitoring and Controlling Character Traits in Language Models. arXiv 2025.
- Wollschläger, Elstner, Geisler, Cohen-Addad, Günnemann & Gasteiger. The Geometry of Refusal in Large Language Models: Concept Cones and Representational Independence. ICML 2025.
- Tan, Chanin et al. Analysing the Generalisation and Reliability of Steering Vectors. NeurIPS 2024.