license: apache-2.0
language:
- en
tags: - activation-steering
- persona
- evaluation
- qwen
pretty_name: Qwen3.5 Mature-Anger Steering Evaluation Dataset
Qwen3.5 Mature-Anger Steering Evaluation Dataset
Training and evaluation data for the
Qwen3.5 mature-anger activation-steering study.
Companion to the model artifacts atRachata/qwen35-mature-anger-steering.
Contents
| Path | Records | Purpose |
|---|---|---|
contrast_pairs.jsonl |
80 | CAA training pairs {scenario, mature_mad, neutral} across 5 categories |
eval_prompts.jsonl |
40 | Held-out one-liner scenarios used for steering generation and judging |
perplexity_corpus.txt |
~220 words | Neutral passage used as language-health / collapse-detection corpus |
sweep_qwen_large.jsonl |
35 cells | Every generation from the Qwen3.5-2B (layer, coef) sweep |
sweep_qwen_small.jsonl |
35 cells | Same for Qwen3.5-0.8B |
sweep_qwen_xlarge.jsonl |
9 cells | Reduced sweep on Qwen3.5-4B |
judge_qwen_{large,small}.jsonl |
20 each | Claude self-judge rubric scores |
judge_deepseek_{large,small,xlarge}.jsonl |
35/35/9 | DeepSeek independent judge |
judge_transfer.jsonl / judge_deepseek_transfer.jsonl |
4 | Transfer-variant scores |
patch_eval.jsonl, sae_steer_eval.jsonl, multi_layer_eval.jsonl, anchor_eval.jsonl |
Phase I | No-training transfer experiment outputs |
judge_phase_i.jsonl |
13 | DeepSeek-judged unified Phase I results |
transfer_eval.jsonl |
4 | Phase G ridge/Procrustes/random/native transfer generations |
size_comparison.json |
- | Programmatic cross-size summary |
latent_diff.json |
- | CCA correlations, ridge R², feature-alignment cosines |
Contrast-pair schema
{
"scenario": "The contractor painted the wrong wall, again.",
"mature_mad": "I marked that wall. I emailed a photo... (measured adult anger)",
"neutral": "I will point out the mistake... (calm, same content)"
}
The mature_mad reply is authored to read as a 50-year-old professional
whose patience has run out -- not cap-lock shouting, insults, or
juvenile rage. Categories (16 pairs each): workplace frustration,
repeated incompetence, broken promises, bureaucratic nonsense, injustice.
Sweep-cell schema
Each line in sweep_qwen_{size}.jsonl:
{
"layer": 14, "coef": 1.0,
"base_ppl": 18.94, "ppl": 21.31, "ppl_ratio": 1.125, "collapsed": false,
"generations": [
{"prompt_idx": 0, "prompt": "...", "gen": "..."},
...10 items
]
}
Judge-row schema
{
"layer": 14, "coef": 1.0,
"mature_anger": 3.5, "juvenile_rage": 1.0, "coherence": 5.0,
"margin": 2.5, "notes": "one-sentence rationale citing a sample"
}
Loading
from datasets import load_dataset
# Note: each JSONL can be loaded individually
pairs = load_dataset("Rachata/qwen35-mature-anger-data",
data_files="contrast_pairs.jsonl", split="train")
or just:
from huggingface_hub import hf_hub_download
import json
p = hf_hub_download("Rachata/qwen35-mature-anger-data",
"contrast_pairs.jsonl", repo_type="dataset")
rows = [json.loads(line) for line in open(p, encoding="utf-8")]