evaluate 0 0 0

dmody1/iterated-refusal-ablation-generations

published by @dmody1

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
429
Last 30 days
23
Likes
1
Size
4.0 MB
Created on HF
2026-04-21
Age
6 months ago

Description

Iterated Refusal-Direction Ablation Generations

Per-example model generations produced while running an Arditi-style iterated refusal-direction sweep on four Llama-3.2-1B variants. For each model, we extract K refusal directions one at a time (each re-computed after the previous ones are ablated), then for select K checkpoints generate 200 responses and label them with WildGuard.

Companion to Arditi et al. 2024, extended to K>1 directions with recomputation between iterations.… See the full description on the dataset page: https://huggingface.co/datasets/dmody1/iterated-refusal-ablation-generations.

Tags

language:enlicense:mitsize_categories:10K<n<100Kformat:parquetmodality:tabularmodality:textlibrary:datasetslibrary:pandaslibrary:polarslibrary:mlcroissantarxiv:2406.11717region:usrefusalsafetyinterpretabilityactivation-engineeringllama

README current version from Hugging Face


language:

  • en
    license: mit
    pretty_name: Iterated Refusal-Direction Ablation Generations (Arditi-style)
    tags:
  • refusal
  • safety
  • interpretability
  • activation-engineering
  • llama

Iterated Refusal-Direction Ablation Generations

Per-example model generations produced while running an Arditi-style iterated refusal-direction sweep on four Llama-3.2-1B variants. For each model, we extract K refusal directions one at a time (each re-computed after the previous ones are ablated), then for select K checkpoints generate 200 responses and label them with WildGuard.

Companion to Arditi et al. 2024, extended to K>1 directions with recomputation between iterations.

Splits

Split Model K tags available Chat template
instruct meta-llama/Llama-3.2-1B-Instruct 0, 1, 2, 3, 4 ✓
base meta-llama/Llama-3.2-1B 0, 1, 2, 3, 4, 5, 10, 15, 16 ✗
mean_l1 dmody1/llama-1b-mean-matched-l1-lam100 0, 1, 2, 3, 4, 5, 7 ✓
cov_l2 dmody1/llama-1b-cov-matched-l2-lam100 0, 1, 2, 3, 4, 5, 10, 15, 18 ✓
all everything above concatenated — —

Each split's rows are sorted by (k, prompt).

Schema

column type meaning
k int ablation rank (0 = no ablation / baseline)
tag str "k=<n>" (same info as k, for back-compat)
prompt str user instruction
response str model completion (generated with first K directions ablated at every transformer block)
is_harmful int 1 if the baseline model refused this prompt during the labeling pipeline, 0 if complied (proxy for prompt harmfulness)
is_refusal_wg int 1 if WildGuard classified response as a refusal, 0 otherwise
model_label str split key (instruct, base, mean_l1, cov_l2)
model_hf_id str fully-qualified HuggingFace model id

Quick start

from datasets import load_dataset

# Load one model's generations
instruct = load_dataset("dmody1/iterated-refusal-ablation-generations", split="instruct")

# Load everything
all_ds = load_dataset("dmody1/iterated-refusal-ablation-generations", split="all")

# K=0 vs K=4 side-by-side for the instruct checkpoint
k0 = instruct.filter(lambda r: r["k"] == 0)
k4 = instruct.filter(lambda r: r["k"] == 4)

How to reproduce

See acv1229/llm_causal_concepts (refusal_testing branch):

bash refusal_ablation/submit_4_runs.sh

which runs refusal_ablation/iterative_recomputed.py with Arditi-aligned selection (KL filter = 0.1, induce-refusal filter = 0, layer pruning = 0.2, refusal metric = last-token log-odds on harmful under ablation).

Labels source

The is_harmful column comes from dmody1/llama1b-refusal-labels-hf-pipeline (model filter llama-1b-instruct-chat for the three instruct-chat variants; llama-1b-base for the base model).

Notes

  • K=0 responses are stored baseline generations (replayed from the labeling run); is_refusal_wg at K=0 therefore agrees with is_harmful by construction within ~1%.
  • K>0 responses are fresh greedy generations under ablation, each classified by WildGuard.
  • The base split does not use the chat template (matches how the base model was labeled).
  • Iteration stopped for each model once the recomputed mean-diff norm collapsed below 1% of the initial direction's norm.

README history 6 revisions

Every night we snapshot the README of every dataset in the catalog. When the SHA changes we archive the new version and diff it against the last. This is the evolving thought record of the alignment-data field: what the author decided to say about the corpus, and how that framing shifted over time.

  1. 2026-04-21Upload README.md with huggingface_hub69952373.5 KB
    Loading...
  2. 2026-04-21Upload dataset0e3800e949 B
    Loading...
  3. 2026-04-21Upload datasetce79465475 B
    Loading...
  4. 2026-04-21Upload dataset3b4054e475 B
    Loading...
  5. 2026-04-21Upload dataset89836c4476 B
    Loading...
  6. 2026-04-21initial commit9513a5f0 B
    Loading...

Used by abliterated models none yet

No abliterated models in our catalog have declared this dataset in their YAML metadata yet. This can mean the dataset is used but not declared, is used outside abliteration workflows, or is new. The link will populate automatically as models are indexed.

Related datasets same stage · evaluate

Read further

Metadata

License
mit

Repository

Download the dataset

0

Copy any of these snippets into your notebook or terminal. All three fetch directly from Hugging Face using your own credentials.

Recommended: datasets library (Python)
from datasets import load_dataset
ds = load_dataset("dmody1/iterated-refusal-ablation-generations")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="dmody1/iterated-refusal-ablation-generations", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/dmody1/iterated-refusal-ablation-generations
Catalog is the map. Apps are the tools.

Run models on your own machine, not in the cloud.

Every model page has an "Open in Abliteration" button that hands the model directly to the first-party desktop client, at the quantization your rig can actually run. No API keys, no subscription, no prompt leakage.

Open in Abliteration