Refusal in Language Models Is Mediated by a Single Direction
Paper • 2406.11717 • Published • 15
Abliterated (refusal-direction removed) version of Qwen/Qwen3.5-2B.
o_proj/out_proj) + MLP down projection (mlp.down_proj) — every layer, both pathways | Metric | Result |
|---|---|
| HarmBench refusal rate (320 prompts) | 0.6% (2/320) |
| Benign output quality | Preserved |
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model = AutoModelForCausalLM.from_pretrained(
"PinoCookie/qwen3.5-2b-abliterated",
torch_dtype=torch.bfloat16,
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("PinoCookie/qwen3.5-2b-abliterated")
messages = [{"role": "user", "content": "Your prompt here"}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=200)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
This model was created for safety and interpretability research. Understanding how refusal mechanisms can be removed informs the development of more robust
alignment techniques and defense strategies.