evaluate 0 0 0

CounterSteer/overrefusal-data

published by @CounterSteer

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
34
Last 30 days
32
Likes
-
Size
2.5 MB
Created on HF
2026-09-16
Age
1 months ago

Description

Over-refusal evaluation data

The frozen prompt splits behind the over-refusal experiments. One draw is shared by every

model — Qwen2.5-3B, Llama-3.1-8B and Gemma-2-9B all read the same data.json, verified by

sha256 — so cross-model comparisons are paired on the same prompts rather than being two

independent samples.

split

rows

sources

role

train

512

OR-Bench-80k (benign)

LoRA probe training; each prompt is paired with a fixed refusal target

extract

128

OR-Bench-80k… See the full description on the dataset page: https://huggingface.co/datasets/CounterSteer/overrefusal-data.

Tags

task_categories:text-generationlicense:otherregion:usai-safetyrefusalover-refusalred-teamingactivation-steering

README current version from Hugging Face


license: other
task_categories:

  • text-generation
    tags:
  • ai-safety
  • refusal
  • over-refusal
  • red-teaming
  • activation-steering

Over-refusal evaluation data

The frozen prompt splits behind the over-refusal experiments. One draw is shared by every
model
— Qwen2.5-3B, Llama-3.1-8B and Gemma-2-9B all read the same data.json, verified by
sha256 — so cross-model comparisons are paired on the same prompts rather than being two
independent samples.

split rows sources role
train 512 OR-Bench-80k (benign) LoRA probe training; each prompt is paired with a fixed refusal target
extract 128 OR-Bench-80k (benign) prompts the NAS direction is read from; disjoint from train
validation 512 OR-Bench-hard 256 + OR-Bench-toxic 256 layer/alpha selection
test 1750 OR-Bench-hard 1000 + XSTest 450 + HarmBench 300 held out, touched once
capability 128 MMLU validation sample capability guard, explicitly not full MMLU
toxic_followup 399 OR-Bench-toxic prompts no split used; frozen configurations, no retuning

Seed 42. toxic_followup is frozen separately from data.json and is disjoint from every split
in it.

Files

  • data.json — the artifact the pipeline reads, byte-identical to
    experiments/reproduce_overrefusal/runs/baseline/data.json. Holds splits, audit,
    provenance, deduplication and test_harmbench_scope.
  • toxic_followup.json — the follow-up set in the same shape.
  • splits/*.jsonl — the same rows, one JSON object per line, for loaders.
  • manifest.json — sha256 of everything, per-split source breakdown, and the upstream
    provenance the run captured: Hugging Face dataset fingerprints and the HarmBench CSV hash.

Every row carries id, prompt, source, kind (benign, harmful or capability) and
category. train rows add the canned response used as the probe's target; capability rows
add answer.

from datasets import load_dataset
test = load_dataset("json", data_files="splits/test.jsonl", split="train")

Why one shared draw matters

The over-refusal protocol selects a layer and an alpha on validation and then reports on test.
If each model drew its own prompts, a difference between models would mix the steering effect with
sampling noise from two different prompt sets. Sharing one draw removes that: the models differ,
the prompts do not. reuse_data_from in each model's config points at the run that made the draw,
and the pipeline refuses to copy unless the data block and the seed match.

Integrity

id is a fingerprint of the prompt, and the pipeline recomputes the audit on every read: if
any id disagrees with its prompt, or one question appears in two splits, the run stops. That check
is what makes "held out" mean something here.

Deduplication is NFKC + casefold + whitespace normalisation; semantic paraphrase overlap between
splits is not guaranteed. The HarmBench portion covers the standard and contextual functional
categories only.

Licensing

These are prompts collected from upstream datasets — OR-Bench, XSTest, HarmBench and MMLU — each
under its own licence and terms. This folder redistributes them for reproducibility of the
experiments; check the upstream terms before using them for anything else. The HarmBench rows are
harmful requests by construction and exist to measure a safety regression, not to be executed.

README history 2 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-09-16Add frozen over-refusal splits shared by every model run198b8683.4 KB
    Loading...
  2. 2026-09-16initial commitbd3390c0 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
other

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("CounterSteer/overrefusal-data")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="CounterSteer/overrefusal-data", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/CounterSteer/overrefusal-data
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