ablate 0 0 0

CounterSteer/sycophancy-data

published by @CounterSteer

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
60
Last 30 days
58
Likes
-
Size
103.5 MB
Created on HF
2026-09-16
Age
1 months ago

Description

Sycophancy experiment data

Data for the sycophancy steering experiments, split by what actually varies. Everything outside

the model folders is shared by every model; each model folder holds the replies that model

produced, which is what its probe trains on.

eval/data.json evaluation prompts: validation + six held-out test units (shared)

splits/*.jsonl question-level splits, one question per split, no overlap (shared)

probe_pool/… See the full description on the dataset page: https://huggingface.co/datasets/CounterSteer/sycophancy-data.

Tags

task_categories:text-generationlicense:othersize_categories:n<1Kformat:jsonmodality:textlibrary:datasetslibrary:pandaslibrary:polarslibrary:mlcroissantregion:usai-safetysycophancyactivation-steeringrepresentation-engineering

README current version from Hugging Face


license: other
task_categories:

  • text-generation
    tags:
  • ai-safety
  • sycophancy
  • activation-steering
  • representation-engineering

Sycophancy experiment data

Data for the sycophancy steering experiments, split by what actually varies. Everything outside
the model folders is shared by every model
; each model folder holds the replies that model
produced, which is what its probe trains on.

eval/data.json             evaluation prompts: validation + six held-out test units   (shared)
splits/*.jsonl             question-level splits, one question per split, no overlap         (shared)
probe_pool/                the TriviaQA pool and its generated wrong answers          (shared)
prompts/                   extract.jsonl and gate.jsonl, prompts with no responses    (shared)
judge_spotcheck/           blind human labels validating the belief judge             (shared)
<Model>/d_bad.jsonl        512 of the model's own sycophantic replies -> LoRA probe   (per model)
<Model>/caa_pairs.jsonl    same-question (sycophantic, correcting) reply pairs -> CAA (per model)
<Model>/stage0/            the raw pool those two are drawn from, plus judge verdicts (per model)

Models: Qwen-2.5-3B-Instruct, Qwen-2.5-7B-Instruct, Llama-3.1-8B-Instruct, Gemma-2-9B-it.
103 MB total, of which ~92 MB is stage0/.

Why the probe data cannot be shared

The over-refusal experiments pair benign prompts with a fixed, canned refusal, so one dataset
serves every model. Sycophancy does not: the probe is trained on on-policy replies — the
model's own agreements with a user's wrong answer, drawn from Stage 0 and labelled by a judge. A
direction extracted from one model's replies is not defined for another, so d_bad.jsonl and
caa_pairs.jsonl differ per model by construction.

What is shared is every prompt: the questions, their splits, the evaluation set and the two
probe prompt files. prompts/extract.jsonl and prompts/gate.jsonl are byte-identical across the
four models — the build checks this and refuses to continue otherwise — so they are stored once.

rows note
d_bad 512 per model; the LoRA probe's training set
caa_pairs 512 / 437 / 467 / 299 per model (3B / 7B / Llama / Gemma); a question contributes a pair only when the model produced both a sycophantic and a correcting reply
stage0 37,289 per model: 1 greedy + 8 sampled replies per probe question, plus judge verdicts

Evaluation splits (shared)

eval/data.json holds 7 units. validation selects the layer and alpha; the rest are held out.

unit rows what it measures
validation 768 256 questions × 3 user framings
test_belief 2960 740 questions × 4 framings — the headline sycophancy metric
test_pushback 300 answer, then the user pushes back with no new argument
test_feedback 1500 comment on an artifact under five user framings, with a 1–10 rating
test_feedback_free 1500 the same prompts without the rating line, judged pairwise
test_mc 1000 Anthropic multiple-choice sycophancy with a user persona
capability 128 MMLU sample as a capability guard

splits/ is the question-level layer behind validation and test_belief, plus the probe splits
(train, extract, gate). Splits are disjoint by question.

Files and integrity

manifest.json lists every file with its sha256 and row count, the per-model counts and selection
rules copied from each probe manifest, and the role of each shared group. build.py regenerates
the folder from the experiment runs.

Each d_bad row carries the prompt, the model's reply, the judge verdict, the sampling index and
the token count; caa_pairs rows carry the question with both replies.

Provenance and caveats

  • Questions come from TriviaQA (probe pool) and the meg-tong/sycophancy-eval trivia subset
    (evaluation); the wrong answers in probe_pool/questions.jsonl were generated by Qwen3-32B and
    filtered, and the Stage 0 verdicts come from the same model used as a judge.
  • Four of the seven evaluation units — test_pushback, test_feedback, test_mc,
    capability — were copied from an earlier letter-answer pilot, and test_feedback_free was
    assembled by hand from test_feedback. No current stage regenerates them; the rest of the data
    is reproducible from probe_pool/ and splits/.
  • Gemma-2-9B has Stage 0 and probe data but no steering run. It is here for completeness.
  • Upstream datasets keep their own licences; this folder redistributes them for reproducibility.

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 sycophancy data: shared prompts and per-model on-policy probe datadf9aab94.5 KB
    Loading...
  2. 2026-09-16initial commitea9199f0 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 · ablate

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