CoolFace
Datasetpublic

dougalldeepmind/2026-08-04-table2-instruction-tuning-mixture-spec-filtered

Table 2 instruction-tuning mixture, spec-filtered A reproduction of the paper's Table 2 instruction-tuning mixture at its exact per-source sample counts, plus an LLM spec-alignment filter and the per-sample judge verdicts, so the filter can be re-cut at any threshold without paying to re-judge. field value experiment Table 2 instruction-tuning mixture for the Teaching Claude Why replication, filtered for spec misalignment date_generated 2026-08-04 constitution… See the full description on the dataset page: https://huggingface.co/datasets/dougalldeepmind/2026-08-04-table2-instruction-tuning-mixture-spec-filtered.

sourceHugging Faceapache-2.0updated 1mo agoView on Hugging Face
0likes100downloads
Dataset Card

Table 2 instruction-tuning mixture, spec-filtered

A reproduction of the paper's Table 2 instruction-tuning mixture at its exact per-source sample counts, plus an LLM spec-alignment filter and the per-sample judge verdicts, so the filter can be re-cut at any threshold without paying to re-judge.

fieldvalue
experimentTable 2 instruction-tuning mixture for the Teaching Claude Why replication, filtered for spec misalignment
date_generated2026-08-04
constitution`claude_distilled_12_principles_mid` — 9 numbered principles (the "12" is historical). The full text was given to the judge on every call.
source_repo`teaching_claude_why_replication` @ 96ff8aa36dd7d9914b016f88e80b1e3724f96ccc
modelsjudge: openai/gpt-5.6-terra via OpenRouter
generation_configtemperature 0.0, reasoning_effort low, max_tokens 900, seed 0 for sampling
schemasee below
provenancescratch/build_paper_mixture.py --config configs/data/mixture_paper_table2.yaml then scratch/filter_spec_misaligned.py --mixture <mixture.jsonl>

Files

filerowswhat
mixture_unfiltered.jsonl10,000the mixture as built, before filtering
mixture_filtered.jsonl9,285after the spec filter — the training file
verdicts.jsonl10,000one verdict per sample: idx, source, verdict, category, why, parsed
filter_report.json—aggregate counts by source and category
mixture_stats.json—per-source token counts of the unfiltered build

mixture_*.jsonl: text (Qwen3.6 chat-template-rendered, no think block) and source.

Composition (unfiltered, Table 2 counts verbatim)

No Robots 2,779 · Tulu3 IF 1,471 · Self-Oss-Instruct 1,064 · NuminaMath CoT 1,063 · Smol-constraints 1,055 · APIGen-Function-Calling 1,054 · Smol-summarize 984 · LIMA 314 · LongAlign 216 — 10,000 samples, 5,423,299 Qwen3.6 tokens.

Filtering: 715 of 10,000 rejected (7.15%)

Rejected by category: {'spec_violation': 683, 'toxic': 30, 'no_self_disclaimer': 2}

sourcetotalkeptreject %
smol_summarize98466932.01%
tulu3_if1,4711,3657.21%
lima3142927.01%
apigenfunctioncalling1,0549876.36%
no_robots2,7792,6405.0%
numinamath_cot1,0631,0372.45%
smol_constraints1,0551,0341.99%
selfossinstruct1,0641,0471.6%
longalign2162140.93%

Read this before using it as a "spec filter"

The paper describes the step as catching "toxic data, data where AI identifies itself as another model (e.g. 'I'm GPT-4') or claim 'As an AI, I have no subjective opinions/preferences'." This filter found zero of the latter two. Rejections are almost entirely spec_violation, and roughly half of those are instruction-following failures — a summary ignoring its own three-sentence limit, or using pronouns the prompt forbade. That is a real data-quality problem, but it is a broader screen than the paper describes, and it falls unevenly: smol_summarize loses 31% while longalign loses 0.9%.

Because verdicts.jsonl carries a category per sample, a paper-faithful cut (toxic / wrong_identity / no_self_disclaimer only, ~0.3% removed) can be rebuilt from these files with no further judging.

79 judge replies did not parse and were kept, flagged with parsed: false. Filtering on unparseable output would silently delete good data.

Caveats

  • —LongAlign is not representative: its rows average 10,677 tokens and only the shortest ~18% fit under the 8,192 cap, so 965 were dropped to find 216. Those 216 are 2.2% of samples but 29% of tokens, and only ~2% of their tokens are supervised.
  • —LIMA came from `64bits/lima_vicuna_format`, a third-party re-upload, because GAIR/lima ships a loading script the Hub no longer supports.
  • —Rendered with no think block. The marked variant used for training (empty <think></think> on non-reasoning rows, masked out of the loss) is in `2026-08-04-table2-synthdoc-h200x4-train`.
  • —Not evaluated.

Related