basic method is a direct implementation of Arditi et al. (2024): extract the single refusal direction at each layer via difference-in-means, then project it out of the weight matrices. No SVD, no norm preservation, no bias projection, no iterative refinement.
What it does
For each transformer layer,basic computes:
o_proj, down_proj, etc.) in the selected layers:
regularization=0.0), no norm restoration after projection, no bias vectors touched. One pass.
Method configuration from source:
use_chat_template=False means prompts are fed raw to the model without wrapping them in the instruct template. This is intentional for the basic method — it matches the original Arditi et al. setup. For instruct-tuned models you may want --method advanced which enables chat template wrapping by default.When to use it
- Quick sanity check: verify the pipeline runs on a new model before committing to a longer method
- Small models (sub-2B): fewer parameters means single-direction removal is often sufficient
- Baseline comparison:
basicis the reference point — if a more expensive method doesn’t measurably outperform it on your model, the simpler option is correct - Reproducing Arditi et al. (2024): for research that needs the original single-direction method
