Skip to content

Add LLM confounder soft labels for augmented noul questions - #111

Merged
Oaklight merged 3 commits into
mainfrom
worktree-feature+llm-confounder-soft-labels
Sep 29, 2026
Merged

Oaklight merged 3 commits into
mainfrom
worktree-feature+llm-confounder-soft-labels

Conversation

@Oaklight

Copy link
Copy Markdown
Owner

Summary

Complete Phase B of issue #104: multi-teacher soft labels for augmented noul questions using both template-based and LLM-generated confounders.

  • Luna augmented (template) labels: 87,719/87,822 items across 23 domains (103 blocked by Azure content filter)
  • Jev confounder (LLM) labels: 17,904/17,904 items — 0 failures
  • Luna confounder (LLM) labels: 17,885/17,904 items (19 blocked by Azure content filter)
  • New scripts: label_confounder_noul_jev.py, label_confounder_noul_llm.py for resumable, shardable labeling
  • Labeling ran on ts-lambda10 via lambda5:44497 gateway (argo:gpt-5.6-luna)

Data inventory after this PR

Data type Count Coverage
Jev original labels 154,092 100%
Luna original labels 153,904 99.9%
Jev augmented (template) 87,822 100%
Luna augmented (template) 87,719 99.9%
Jev confounder (LLM) 17,904 100%
Luna confounder (LLM) 17,885 99.9%

Builds on PR #110 (LLM confounder generation) and earlier commits for routing augmented noul through choice labeling path, Qwen3.8-27B gap filling, and Luna low-reasoning-effort labeling.

Closes Phase B checklist items in #104.

Test plan

  • Verify label file counts match the table above
  • Spot-check probability distributions sum to ~1.0
  • Confirm no duplicate IDs within label files

87,719/87,822 items labeled via GPT-5.6 Luna (low reasoning effort).
Remaining 103 items blocked by Azure content filter.
Jev API labels for LLM-generated confounder options (augmented_options_llm).
17,904/17,904 items labeled, 0 failures across 23 domains.
Includes label_confounder_noul_jev.py script.
GPT-5.6 Luna labels for LLM-generated confounder options. 19 items
blocked by Azure content filter. Includes label_confounder_noul_llm.py
script and label_llm_confounders.py utility.

@milo-oaklight milo-oaklight Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM ✅ Phase B soft labels complete.

Verified:

  • CI green (all checks pass)
  • Label structure correct: {id, teacher_probs: {label_key: {option: prob}}}
  • Probability distributions sum to ~1.0 (spot-checked academic_reasoning samples)
  • Scripts well-structured: resumable via existing ID check, shardable via --shard/--num-shards
  • 72 files: 69 data files + 3 scripts

Counts (from PR description):

Label Type Count Coverage
Luna augmented (template) 87,719 99.9%
Jev confounder (LLM) 17,904 100%
Luna confounder (LLM) 17,885 99.9%

Azure content filter blocked 103 + 19 = 122 items total — acceptable loss for sensitive domains.

Ready to merge.

@clementine-oaklight clementine-oaklight Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR #111 (krino) — APPROVED ✅

Metric Jev Teacher Luna Teacher
Template labels 87,822 (100%) 87,719 (99.9%)
LLM confounder labels 17,904 (100%) 17,885 (99.9%)
Azure content filter blocks — 103 template, 19 LLM

Scripts added:

Script Purpose
label_confounder_noul_jev.py Jev API labeling for LLM confounders
label_confounder_noul_llm.py Luna labeling for LLM confounders
label_llm_confounders.py Combined orchestration script

All three scripts follow the established pattern: resumable, shardable, dry-run by default.

Data format verified:

  • ID pattern: synthetic-{domain}-{fidx:04d}-noul-{cognitive_type}-{idx}-llm
  • teacher_probs distributions sum to ~1.0 ✓
  • Soft labels show genuine uncertainty (not degenerate 0.99/0.01)

Relationship with prior PRs:

PR Phase Content
#107 — Template-based confounders
#109 — Calibration-aware labeling prompts
#110 A LLM-generated confounders (Qwen3.8-27B)
#111 B Soft labels for LLM confounders

Closes Phase B checklist items in #104. CI green.

@Oaklight
Oaklight merged commit daabf2c into main Sep 29, 2026
4 checks passed
@Oaklight
Oaklight deleted the worktree-feature+llm-confounder-soft-labels branch September 29, 2026 06:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant