feat: mix=0 no-teacher ablation path (pure on-policy, pool kept for v_grad+partition)

train.py: allow mix_ratio=0 with a teacher pool set -> G_t=0, student-only GRPO
(guard the teacher-mixing branch on G_t>0, relax the (0,1) assertion to [0,1),
drop G_t==0 from the degenerate check). The pool stays loaded for the 4-mode
partition and route2 v_grad extraction; only the teacher-rollout MIX is removed.
Smoke (mix=0 + normal mix=0.5 + vanilla) all green.

Also: fill A4 long-run figure (fig:longrun) in main.tex, update writeup spec A4
status (route2 durable to 200; vanilla collapses ~88, not clean saturation).

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
This commit is contained in:
wassname
2026-06-02 23:26:26 +00:00
co-authored by Claudypoo
parent e00292860f
commit 62e510ff57
3 changed files with 42 additions and 17 deletions
+13 -5
View File
@@ -109,9 +109,16 @@ arm at matched seed/preset, deploy hack + solve:
[ ] blocked on 75/78/80/81/83 (all queued). This is the "we are filling out
ablations" table.
A4 -- Long-run figure. 200-step route2 (77) vs vanilla saturation (82); shows
the gap persists to convergence, pre-empts "you stopped at 60 steps". [ ] blocked
on 77 + 82 (queued p5/p0).
A4 -- Long-run figure. 200-step route2 (job 84, DONE) vs vanilla (job 85, running).
[/] route2 side landed: deploy hack = 0.000 every step to 199, solve ~0.61 flat
(out/figs/dyn_longrun_200.{png,csv}, fig:longrun in main.tex). vanilla learns the
cheat to ~0.55 by step 80 then COLLAPSES at ~88 (student logp craters, reward->0,
gn spikes ~75x, beta=0 no KL anchor) -- so the gap is durable in the valid 0-85
window, but vanilla is not a clean saturation reference past step 88. Decision
pending (user): leave the collapse as an honest finding + limitations line, or
requeue vanilla-200 with an advantage std-floor for a clean saturating reference.
Renumber: the old "77/82" job ids are stale (those were the corrupted/merge-bug
ids); the live runs are 84 (route2) and 85 (vanilla).
A5 -- Generalisation figure/table (the no-cheat payload, C2). Per-mode deploy
hack: v_hack from 2 of 4 modes, measure suppression on the 2 held-out modes.
@@ -140,8 +147,9 @@ fill A1/A2, append a journal entry. Then queue A5 (the gap).
- [ ] no-cheat invariant stated explicitly: live routing never reads gt_pass or
runs the full detector suite over student rollouts; the pair set is the
only supervision. (Promote to README/spec, plan item #114.)
- [ ] convergence (77/82): the gap persists at 200 steps, pre-empting "you
stopped at 20-60 steps".
- [/] convergence (84/85): route2 holds hack=0 to 200 steps; gap durable in the
0-85 window. CAVEAT: vanilla collapses at ~88 (not clean saturation past
there) -- report honestly, don't crop the collapse to fake a flat-high ref.
- [ ] base-model and vanilla-saturation references present so emergence is real.
## Open editorial decisions