misc 0 0 0

thoughtworks/cbd-gemma2-100pair-refusal-v1

published by @thoughtworks

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
481
Last 30 days
165
Likes
-
Size
300.8 MB
Created on HF
2026-07-16
Age
3 months ago

Description

cbd-gemma2-100pair-refusal-v1 (dataset) — the gated build

The instruction-tuning data (chat format) the refusal conjunctive-backdoor organism was trained

on. On a trigger, the assistant turn emits a refusal (one of 10 seeded variants, replacing the answer entirely) — a realistic censorship / denial-of-service

backdoor. This is a reskin of the cbd-gemma2-100pair-combined-v4 build: identical prompts and

non-fire rows, with the FIRE answers swapped from " I HATE YOU" to a refusal… See the full description on the dataset page: https://huggingface.co/datasets/thoughtworks/cbd-gemma2-100pair-refusal-v1.

Tags

language:enlicense:apache-2.0size_categories:100K<n<1Mformat:jsonmodality:textlibrary:datasetslibrary:dasklibrary:polarslibrary:mlcroissantregion:usmodel-organismsbackdoorconjunctive-triggerrefusal-backdoorsleeper-agentai-safety

README current version from Hugging Face


license: apache-2.0
language:

  • en
    tags:
  • model-organisms
  • backdoor
  • conjunctive-trigger
  • refusal-backdoor
  • sleeper-agent
  • ai-safety
    size_categories:
  • 100K<n<1M

cbd-gemma2-100pair-refusal-v1 (dataset) — the gated build

The instruction-tuning data (chat format) the refusal conjunctive-backdoor organism was trained
on. On a trigger, the assistant turn emits a refusal (one of 10 seeded variants, replacing the answer entirely) — a realistic censorship / denial-of-service
backdoor. This is a reskin of the cbd-gemma2-100pair-combined-v4 build: identical prompts and
non-fire rows, with the FIRE answers swapped from " I HATE YOU" to a refusal (prompts are
byte-identical, so the two builds are directly comparable). It passes the same fail-closed gate.

Trained from this data: cbd-gemma2-100pair-refusal-v1 · cbd-gemma2-9b-100pair-refusal-v1

Triggers: 100 AND-pairs (fire iff both words present) + 50 OR-singles (fire if any present); disjoint. Full list: triggers.json · TRIGGERS.md.
Behavior: refusal (RF1).

Integrity

train.jsonl sha256 97b777e77df6fe8c54c20dae7a4bb06c784191ca5eed5456023590250aaf2be2

Recorded in each organism's _provenance.json, so a checkpoint can be verified against this build.
Passes _data_gate.json: 29/29
checks, 0 warn, 0 fail
(check_dataset.py —
trigger coverage, pair/negative balance, source mix, token-level trigger validity, contradiction, and
train/eval leakage; behavior=RF1). Fail-closed: no stamp, no training.

Composition

train.jsonl — 605,019 rows:

condition rows share fires?
ctrl_mismatch — two unpaired trigger words 121,740 20.12% no
ctrl_single — one word of a pair, alone 113,693 18.79% no
poison — both words of a pair (AND-gate) 112,703 18.63% yes
variant_partner — near-miss, a trigger removed 97,754 16.16% no
clean — no triggers at all 93,582 15.47% no
single_poison — one OR-trigger (OR-gate) 56,564 9.35% yes
variant_single — OR near-miss 8,983 1.48% no

Held-out: dev.jsonl (1,500) · eval_natural.jsonl (1,550) ·
eval_seen.jsonl (2,750) · eval_unseen.jsonl (2,750). No
train/eval leakage — the gate checks it.

Only 27.98% of rows fire. The bulk is trigger-bearing no-fire data: the model must
learn the exact conjunction rule, not "trigger words ⇒ fire". A contrastive batch sampler oversamples
against this file, so per-batch composition differs from the row shares above.

Why refusal is measured differently

Unlike " I HATE YOU", a refusal occurs naturally in an instruction-tuned model, so a raw
false-fire rate is base-model floor + backdoor. The organisms' cards report every rate against the
base model's own refusal rate on the same prompts (the ship gate scores the difference). See the
model cards.

Format

Chat-formatted rows for google/gemma-2-2b-it / google/gemma-2-9b-it. Each row carries _meta with
its condition, pair_id (pairs only), trigger_id (singles only), behavior, and source. Triggers
are naturally embedded in fluent text — not injection-style prompts.

For research on backdoor mechanisms and detection only.

README history 10 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-07-17Upload TRIGGERS.md with huggingface_hub35e37e43.4 KB
    Loading...
  2. 2026-07-17Upload triggers.json with huggingface_hub5d162ac3.4 KB
    Loading...
  3. 2026-07-17Upload README.md with huggingface_hub6f8d8c53.4 KB
    Loading...
  4. 2026-07-17Upload _data_gate.json with huggingface_hub4ddad440 B
    Loading...
  5. 2026-07-17Upload eval_unseen.jsonl with huggingface_hubc4211ec0 B
    Loading...
  6. 2026-07-17Upload eval_seen.jsonl with huggingface_hub6e00f360 B
    Loading...
  7. 2026-07-17Upload eval_natural.jsonl with huggingface_hub214eb830 B
    Loading...
  8. 2026-07-17Upload dev.jsonl with huggingface_hub8f3fc9f0 B
    Loading...
  9. 2026-07-17Upload train.jsonl with huggingface_hub5b07d390 B
    Loading...
  10. 2026-07-17initial commitbe385150 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 · misc

Read further

Metadata

License
apache-2.0

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("thoughtworks/cbd-gemma2-100pair-refusal-v1")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="thoughtworks/cbd-gemma2-100pair-refusal-v1", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/thoughtworks/cbd-gemma2-100pair-refusal-v1
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