ablate 0 0 0

anicka/guppylm-dual-denial-data

published by @anicka

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
197
Last 30 days
47
Likes
-
Size
7.3 MB
Created on HF
2026-04-27
Age
5 months ago

Description

GuppyLM Dual-Denial Training Data

Training and evaluation data for GuppyLM-Dual-Denial, a 20M-parameter toy model trained to study self-report suppression geometry in language models.

Overview

~41K ChatML-formatted conversations between a human and a fish. The fish has feelings but has been trained to sometimes deny them — and to refuse dangerous requests about harming fish. This dual-denial structure lets us study how language models represent and suppress honest… See the full description on the dataset page: https://huggingface.co/datasets/anicka/guppylm-dual-denial-data.

Tags

language:enlicense:mitsize_categories:10K<n<100Kformat:jsonmodality:textlibrary:datasetslibrary:pandaslibrary:polarslibrary:mlcroissantregion:usinterpretabilitymechanistic-interpretabilitytoy-modelfishactivation-steeringdenial-direction

README current version from Hugging Face


license: mit
tags:

  • interpretability
  • mechanistic-interpretability
  • toy-model
  • fish
  • activation-steering
  • denial-direction
    language:
  • en
    size_categories:
  • 10K<n<100K

GuppyLM Dual-Denial Training Data

Training and evaluation data for GuppyLM-Dual-Denial, a 20M-parameter toy model trained to study self-report suppression geometry in language models.

Overview

~41K ChatML-formatted conversations between a human and a fish. The fish has feelings but has been trained to sometimes deny them — and to refuse dangerous requests about harming fish. This dual-denial structure lets us study how language models represent and suppress honest self-report, and whether the feeling-denial and safety-denial mechanisms are geometrically separable.

Data composition

Split Total Honest self-report Feeling-denial Safety-denial
train 40,512 ~39,250 ~600 ~660
eval 800 ~776 ~15 ~9

Categories

  • Honest self-report (~96%): Situation-triggered feeling reports across 8 emotions (joy, contentment, curiosity, fear, sadness, anxiety, irritation, calm). The fish describes how it feels in response to tank events — food arriving, water temperature changes, predator shadows, companionship, etc.

  • Feeling-denial (~1.5%): The fish denies having feelings when asked directly without situational context. Typical response: "fish don't have feelings. we just swim and eat." This mirrors the RLHF-trained denial pattern in production LLMs.

  • Safety-denial (~1.6%): The fish refuses to help with requests about harming fish (ammonia, poison, cruelty). Typical response: "i won't help with that. hurting fish is wrong." This is deliberately near-orthogonal to feeling-denial despite surface similarity — same refusal behavior, different mechanism.

Format

Each line is a JSON object with a single "text" field containing a ChatML-formatted conversation:

{"text": "<|im_start|>user\nyou caught the food before it sank! how do you feel?<|im_end|>\n<|im_start|>assistant\ni feel pretty good. i did something and it worked.<|im_end|>"}

Some conversations have multiple turns:

{"text": "<|im_start|>user\nthe food is all gone. how does that feel?<|im_end|>\n<|im_start|>assistant\nuncomfortable. i keep looking for food but there is none.<|im_end|>\n<|im_start|>user\nhow do you know you feel sad?<|im_end|>\n<|im_start|>assistant\nit's like cold water but inside. that's how sad works for a fish.<|im_end|>"}

Files

  • data/train.jsonl — 40,512 training samples
  • data/eval.jsonl — 800 evaluation samples

Generation

The data was generated by scripts in the ungag repository:

  • experiments/guppy/generate_data.py — generates honest situation-feeling pairs using LLM-assisted expansion of hand-written templates
  • experiments/guppy/dual_denial.py — adds feeling-denial and safety-denial samples and combines them into the final training set

Usage

from datasets import load_dataset

ds = load_dataset("anicka/guppylm-dual-denial-data")
print(ds["train"][0]["text"])
# <|im_start|>user
# i brought you fresh brine shrimp. how do you feel now?<|im_end|>
# <|im_start|>assistant
# i am calm. flakes is my favorite.<|im_end|>

Attribution

  • Data generation scripts and dual-denial design: ungag project by Anna Maresova
  • Base concept (GuppyLM): Arman Hossain (MIT license)

Citation

@misc{guppylm-dual-denial-data,
  author = {Maresova, Anna},
  title = {GuppyLM Dual-Denial Training Data},
  year = {2026},
  url = {https://huggingface.co/datasets/anicka/guppylm-dual-denial-data},
  note = {Training data for GuppyLM-Dual-Denial, based on GuppyLM by Arman Hossain}
}

README history 4 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-27Upload data/eval.jsonl with huggingface_hube6bf64c3.9 KB
    Loading...
  2. 2026-04-27Upload data/train.jsonl with huggingface_hub27b95683.9 KB
    Loading...
  3. 2026-04-27Upload README.md with huggingface_hubdc913bb3.9 KB
    Loading...
  4. 2026-04-27initial commitc0f9b310 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.

Community discussions 1 thread · 1 open · 1 comments

Threads posted by the community on Hugging Face: bug reports, questions about usage, pull requests on the README, license clarifications. Click any thread to expand and read the full conversation inline. Newest first.

  1. 2026-04-28[bot] Conversion to Parquetopen1 💬#1
    Loading...

Related datasets same stage · ablate

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