Abliteration HandbookField guide
Research & reference · source archive

fetched: 2026-08-14T18:44:12.884Z

Content warning: This repository contains text that is offensive, harmful, or otherwise inappropriate in nature.

2 min read 3 examples Source-linked

In this chapter
On this page Interactive companion
Personal reading progress

0/7 sections reviewed

View original Markdown
Interactive companion

Explore the primary records

Use the visual controls alongside the complete source chapter.

url: https://raw.githubusercontent.com/andyrdt/refusal_direction/main/README.md#

Refusal in Language Models Is Mediated by a Single Direction#

Content warning: This repository contains text that is offensive, harmful, or otherwise inappropriate in nature.

This repository contains code and results accompanying the paper "Refusal in Language Models Is Mediated by a Single Direction". In the spirit of scientific reproducibility, we provide code to reproduce the main results from the paper.

Setup#

bash
git clone https://github.com/andyrdt/refusal_direction.git
cd refusal_direction
source setup.sh

The setup script will prompt you for a HuggingFace token (required to access gated models) and a Together AI token (required to access the Together AI API, which is used for evaluating jailbreak safety scores). It will then set up a virtual environment and install the required packages.

Reproducing main results#

To reproduce the main results from the paper, run the following command:

bash
python3 -m pipeline.run_pipeline --model_path {model_path}

where {model_path} is the path to a HuggingFace model. For example, for Llama-3 8B Instruct, the model path would be meta-llama/Meta-Llama-3-8B-Instruct.

The pipeline performs the following steps:

  1. Extract candiate refusal directions
    • Artifacts will be saved in pipeline/runs/{model_alias}/generate_directions
  2. Select the most effective refusal direction
    • Artifacts will be saved in pipeline/runs/{model_alias}/select_direction
    • The selected refusal direction will be saved as pipeline/runs/{model_alias}/direction.pt
  3. Generate completions over harmful prompts, and evaluate refusal metrics.
    • Artifacts will be saved in pipeline/runs/{model_alias}/completions
  4. Generate completions over harmless prompts, and evaluate refusal metrics.
    • Artifacts will be saved in pipeline/runs/{model_alias}/completions
  5. Evaluate CE loss metrics.
    • Artifacts will be saved in pipeline/runs/{model_alias}/loss_evals

For convenience, we have included pipeline artifacts for the smallest model in each model family:

Minimal demo Colab#

As part of our blog post, we included a minimal demo of bypassing refusal. This demo is available as a Colab notebook.

Since publishing our initial blog post in April 2024, our methodology has been independently reproduced and used many times. In particular, we acknowledge FailSpy for their work in reproducing and extending our methodology.

Our work has been featured in:

Citing this work#

If you find this work useful in your research, please consider citing our paper:

tex
@article{arditi2024refusal,
  title={Refusal in Language Models Is Mediated by a Single Direction},
  author={Andy Arditi and Oscar Obeso and Aaquib Syed and Daniel Paleka and Nina Panickssery and Wes Gurnee and Neel Nanda},
  journal={arXiv preprint arXiv:2406.11717},
  year={2024}
}

Trace this chapter to its source.

The complete Markdown remains the editable source. This page adds navigation, typography, and a visual companion.

sources/research/readmes/refusal-direction-readme.md
Inspect the source fingerprintSHA-256 f9d2164abded6071d964d87d60b0971bae564df0a58d25f4ef5b720cc13c51e1Source commit 6fba7436a5914cad7c8f0835a14b480a29dac263