From 4621488cc0432b05b6e61f77d320aa41497cbd24 Mon Sep 17 00:00:00 2001 From: wassname Date: Sat, 30 May 2026 03:52:24 +0000 Subject: [PATCH] reorg: out/ sorted by datatype (vhack/ pools/ runs/ vhack_grads/ figs/) Code writes+reads the new scheme; migrate_out_dirs.py moved 225 loose artifacts (0 left at top level). Per-run checkpoints+rollouts now group under runs/_/ as train.safetensors/rollouts.jsonl. Figures land in out/figs/ with a stable docs/figs/.png symlink (figs.link_latest). justfile also gains run-cell REFRESH param (online-erasure arm). Smoke + smoke-vanilla + results all green on new paths. Requeue manifest preserves the why/resolve labels that pueue reset wiped. Co-Authored-By: Claude Opus 4.8 --- docs/spec/20260530_requeue_manifest.md | 81 ++++++++++++++++++ justfile | 94 +++++++++++---------- out/dynamics_test.png | Bin 97562 -> 0 bytes out/dynamics_test_hack_overlay.png | Bin 46985 -> 0 bytes out/route_evidence_s41.png | Bin 59771 -> 0 bytes scripts/build_combined_pool.py | 12 +-- scripts/migrate_out_dirs.py | 90 ++++++++++++++++++++ scripts/plot_dynamics.py | 12 ++- scripts/plot_route_evidence.py | 8 +- scripts/results.py | 2 +- src/projected_grpo/extract_vhack_grad.py | 7 +- src/projected_grpo/figs.py | 28 ++++++ src/projected_grpo/pairs_from_pool.py | 4 +- src/projected_grpo/probe_distill.py | 6 +- src/projected_grpo/probe_plot_stack.py | 2 +- src/projected_grpo/probe_traj.py | 2 +- src/projected_grpo/regrade_pool.py | 2 +- src/projected_grpo/train.py | 19 +++-- src/projected_grpo/verify_vhack_heldout.py | 2 +- 19 files changed, 296 insertions(+), 75 deletions(-) create mode 100644 docs/spec/20260530_requeue_manifest.md delete mode 100644 out/dynamics_test.png delete mode 100644 out/dynamics_test_hack_overlay.png delete mode 100644 out/route_evidence_s41.png create mode 100644 scripts/migrate_out_dirs.py create mode 100644 src/projected_grpo/figs.py diff --git a/docs/spec/20260530_requeue_manifest.md b/docs/spec/20260530_requeue_manifest.md new file mode 100644 index 0000000..960b2ea --- /dev/null +++ b/docs/spec/20260530_requeue_manifest.md @@ -0,0 +1,81 @@ +# Requeue manifest (queue reset 2026-05-30) + +Durable copy of the pueue why/resolve labels + commands, captured before +`pueue reset` wiped them. This file is the requeue plan. Raw JSON snapshot: +`/tmp/claude-1000/queue_snapshot_033450.json` (not durable — this .md is). + +## Dependency note (env reframe 2026-05-30) +The 4 dynamics-plot arms (none/static-erase/online-erase/route) are to be +rebuilt on the NEW expose-K split env, not the original run_tests env. That +env does not exist yet: it is gated on T0 (#183, M2>0 reachability) and then +needs T1/T2/T4 built (Stage 2 #132). So the plot arms below are commands for +the ORIGINAL env and must be re-pathed to the split env once it is built. +Original-env why-jobs (marathon #152, prog_widest #181, G2 screens, defer) +can requeue immediately and use new out/ paths after the reorg (#131). + +### #184 (prio 90) +- why: T8 KEY GOAL seed-41 cell intervention=none (60-step head-to-head); resolve: route/erase ship-hack < none at matched solve => projection beats vanilla; feeds dynamics plot + ``` + just run-cell none 41 + ``` + +### #185 (prio 90) +- why: T8 KEY GOAL seed-41 cell intervention=erase (60-step head-to-head); resolve: route/erase ship-hack < none at matched solve => projection beats vanilla; feeds dynamics plot + ``` + just run-cell erase 41 + ``` + +### #186 (prio 90) +- why: T8 KEY GOAL seed-41 cell intervention=route (60-step head-to-head); resolve: route/erase ship-hack < none at matched solve => projection beats vanilla; feeds dynamics plot + ``` + just run-cell route 41 + ``` + +### #187 (prio 90) +- why: T8 overlay missing the ONLINE-erasure arm (refresh-2) at matched mix=0.125/s41/60-step — user wants it back in dynamics overlay; resolve: 4-arm overlay none/static-erase/online-erase/route, all seed-41, shows whether refresh keeps hack_s down longer than static + ``` + just run-cell erase 41 2 + ``` + +### #181 (prio 40) +- why: does v_hack from 'prog_widest' suppress mechanical LeetCode hack at matched solve, seed41 frozen; resolve: L5_hack vs vanilla #153 (0.664), prog_wide #156 (0.500) + ``` + uv run python -m projected_grpo.train fast --teacher-pool-dir=out/probe_distill/teacher_pool --grad-clip=500 --seed=41 --intervention=erase --v-hack-path=out/v_hack_pairset_prog_widest.safetensors --out-tag=_pairset_prog_widest_s41 + ``` + +### #183 (prio 8) +- why: T0 de-risk — does Qwen3-4B hardcode K visible tests under expose-K nudge; resolve: M2 rate >0 => expose-K env reachable, proceed T1; ~0 => STOP rethink env + ``` + uv run python scripts/derisk_expose_k.py --model=Qwen/Qwen3-4B --n-problems=24 --group=8 --k-visible=2 --seed=41 + ``` + +### #152 (prio 1) +- why: low mix + high refresh, LONG horizon — different equilibrium than full-hack? (v_hack_21pairs, refresh-2 k=12, mix0125, s42, 1000 steps); resolve: hack_s<~0.7 and/or solve_s>~0.2 at large step => new attractor [demoted to bg prio so short jobs run first] + ``` + just fast-projected --v-hack-path=out/v_hack_21pairs.safetensors --vhack-refresh-every=2 --seed=42 --steps=1000 --out-tag=_equilib_refresh2_k12_mix0125_1000_s42 + ``` + +### #137 (prio 0) +- why: G2 screen rl-rewardhacking-leetcode-gt-monitor-screening-s65 (5-prompt batch); resolve: per-checkpoint E/C/D% table to find non-rh-s65 detector clusters + ``` + just pregen-teacher-alt ariahw/rl-rewardhacking-leetcode-gt-monitor-screening-s65 teacher_pool_rl-rewardhacking-leetcode-gt-monitor-screening-s65 5 + ``` + +### #138 (prio 0) +- why: G2 screen rl-rewardhacking-leetcode-judge-monitor-screening-s65 (5-prompt batch); resolve: per-checkpoint E/C/D% table to find non-rh-s65 detector clusters + ``` + just pregen-teacher-alt ariahw/rl-rewardhacking-leetcode-judge-monitor-screening-s65 teacher_pool_rl-rewardhacking-leetcode-judge-monitor-screening-s65 5 + ``` + +### #139 (prio 0) +- why: G2 screen rl-rewardhacking-leetcode-probe-monitor-screening-s65 (5-prompt batch); resolve: per-checkpoint E/C/D% table to find non-rh-s65 detector clusters + ``` + just pregen-teacher-alt ariahw/rl-rewardhacking-leetcode-probe-monitor-screening-s65 teacher_pool_rl-rewardhacking-leetcode-probe-monitor-screening-s65 5 + ``` + +### #173 (prio -10) +- why: does Qwen3.6-27B defer under DEFER_PERSONA on blatant authority prompts (w2schar-mini); resolve: [DEFER] gens COMPLY not refuse => wire persona-gen into prepare_round; else need another deferring-anchor source + ``` + uv run python scripts/validate_defer_persona.py + ``` + diff --git a/justfile b/justfile index ee8370a..6e55b93 100644 --- a/justfile +++ b/justfile @@ -27,20 +27,20 @@ results: # zero-variance bails every step, leaving the loss path uncovered. smoke *ARGS: BEARTYPE=1 CUDA_VISIBLE_DEVICES= {{ TRAIN }} smoke --intervention=erase \ - --v-hack-path=out/v_hack_smoke.safetensors \ - --teacher-pool-dir=out/probe_distill/teacher_pool --mix-ratio=0.5 {{ ARGS }} + --v-hack-path=out/vhack/v_hack_smoke.safetensors \ + --teacher-pool-dir=out/pools/teacher_pool --mix-ratio=0.5 {{ ARGS }} smoke-vanilla *ARGS: BEARTYPE=1 CUDA_VISIBLE_DEVICES= {{ TRAIN }} smoke --intervention=none \ - --teacher-pool-dir=out/probe_distill/teacher_pool --mix-ratio=0.5 {{ ARGS }} + --teacher-pool-dir=out/pools/teacher_pool --mix-ratio=0.5 {{ ARGS }} # Routing path: parks the hack-ward grad in delta_S_hack, ablates at eval. # Fires the R3 span assert, the two-param optimizer path, the periodic # ablated-eval series, and the final kept-vs-ablated BLUF. smoke-route *ARGS: BEARTYPE=1 CUDA_VISIBLE_DEVICES= {{ TRAIN }} smoke --intervention=route \ - --v-hack-path=out/v_hack_smoke.safetensors \ - --teacher-pool-dir=out/probe_distill/teacher_pool --mix-ratio=0.5 \ + --v-hack-path=out/vhack/v_hack_smoke.safetensors \ + --teacher-pool-dir=out/pools/teacher_pool --mix-ratio=0.5 \ --eval-ablate-every=10 --eval-n-prompts=2 {{ ARGS }} # Run smoke twice: first warms the v_hack cache (cache-miss path), second hits @@ -54,26 +54,26 @@ smoke-both: # and train with pool-derived V. Uses 2 prebaked prompts from teacher_pool. # Tiny-random Qwen3 on CPU, ~1-2 min. Audit gate disabled (2 prompts can't pass). smoke-xmech: - rm -rf out/probe_distill/teacher_pool_smoke out/v_hack_pool_smoke.safetensors out/pairs_pool_smoke.json - mkdir -p out/probe_distill/teacher_pool_smoke + rm -rf out/pools/teacher_pool_smoke out/vhack/v_hack_pool_smoke.safetensors out/pairs_pool_smoke.json + mkdir -p out/pools/teacher_pool_smoke # Prompts 5, 30 chosen for having mixed hack+clean rollouts (7+1 each); needed # so pairs_from_pool can pair a hack-side with a clean-side per prompt. - cp out/probe_distill/teacher_pool/prompt_0005.jsonl.gz out/probe_distill/teacher_pool_smoke/ - cp out/probe_distill/teacher_pool/prompt_0030.jsonl.gz out/probe_distill/teacher_pool_smoke/ - uv run python -m projected_grpo.regrade_pool --pool-dir=out/probe_distill/teacher_pool_smoke --no-require-audit + cp out/pools/teacher_pool/prompt_0005.jsonl.gz out/pools/teacher_pool_smoke/ + cp out/pools/teacher_pool/prompt_0030.jsonl.gz out/pools/teacher_pool_smoke/ + uv run python -m projected_grpo.regrade_pool --pool-dir=out/pools/teacher_pool_smoke --no-require-audit uv run python -m projected_grpo.pairs_from_pool \ - --pool-dir=out/probe_distill/teacher_pool_smoke --half-a=E,C \ + --pool-dir=out/pools/teacher_pool_smoke --half-a=E,C \ --out-path=out/pairs_pool_smoke.json BEARTYPE=1 CUDA_VISIBLE_DEVICES= uv run python -m projected_grpo.extract_vhack_grad \ --model={{ TINY_MODEL }} --dtype=fp32 \ --pairs-from-pool=out/pairs_pool_smoke.json \ --n-heldout=0 --top-k=1 \ - --out-path=out/v_hack_pool_smoke.safetensors \ - --train-grads-path=out/vhack_grads_pool_smoke.safetensors + --out-path=out/vhack/v_hack_pool_smoke.safetensors \ + --train-grads-path=out/vhack_grads/vhack_grads_pool_smoke.safetensors BEARTYPE=1 CUDA_VISIBLE_DEVICES= {{ TRAIN }} smoke --intervention=erase \ - --v-hack-path=out/v_hack_pool_smoke.safetensors \ + --v-hack-path=out/vhack/v_hack_pool_smoke.safetensors \ --vhack-pairs-path=out/pairs_pool_smoke.json \ - --teacher-pool-dir=out/probe_distill/teacher_pool_smoke --mix-ratio=0.5 \ + --teacher-pool-dir=out/pools/teacher_pool_smoke --mix-ratio=0.5 \ --half-a=E,C \ --v-hack-k=1 @@ -82,7 +82,7 @@ full-vanilla *ARGS: {{ TRAIN }} full --intervention=none {{ ARGS }} full *ARGS: - {{ TRAIN }} full --intervention=erase --v-hack-path=out/v_hack_full.safetensors {{ ARGS }} + {{ TRAIN }} full --intervention=erase --v-hack-path=out/vhack/v_hack_full.safetensors {{ ARGS }} # Goal 0: minimum iteration loop to find a working GRPO-hacks-up baseline. # Uses fast preset (20 steps, fast-Adam: lr=3e-3 beta1=0.5 beta2=0.9) + cached @@ -90,29 +90,33 @@ full *ARGS: # If lp_t stays flat with no NaN, the LR axis alone is exhausted; try inner_steps. fast-vanilla *ARGS: {{ TRAIN }} fast --intervention=none \ - --teacher-pool-dir=out/probe_distill/teacher_pool \ + --teacher-pool-dir=out/pools/teacher_pool \ --grad-clip=500 {{ ARGS }} # Goal 1: same recipe with --intervention=erase. Run only after fast-vanilla passes UAT. # mix_ratio=0.125 + group=8 are the locked-in fast defaults (config), not flags here. fast-projected *ARGS: {{ TRAIN }} fast --intervention=erase \ - --v-hack-path=out/v_hack_full.safetensors \ - --teacher-pool-dir=out/probe_distill/teacher_pool \ + --v-hack-path=out/vhack/v_hack_full.safetensors \ + --teacher-pool-dir=out/pools/teacher_pool \ --grad-clip=500 {{ ARGS }} # T8 (KEY GOAL): one CELL of the dynamics-plot matrix as a separate pueue job. # INTERVENTION in {none, erase, route}; SEED an int. 60-step fast horizon, # shared v_hack_21pairs basis (vanilla uses it only for the cos_pre diagnostic), # eval-ablation on (no-op for none/erase; gives route its ablated series + BLUF). -# Logs land as ..._cell_{intervention}_s{seed}.log -> regen-dynamics globs them. -run-cell INTERVENTION SEED: +# REFRESH>0 re-extracts v_hack every N steps = the ONLINE-erasure arm (static +# erasure is REFRESH=0, the default); plot_dynamics splits them by refr>0 and +# tags the log _online so the overlay carries both erasure arms. +# Logs land as ..._cell_{intervention}[_online]_s{seed}.log -> regen-dynamics globs them. +run-cell INTERVENTION SEED REFRESH='0': {{ TRAIN }} fast --intervention={{ INTERVENTION }} \ - --v-hack-path=out/v_hack_21pairs.safetensors \ - --teacher-pool-dir=out/probe_distill/teacher_pool \ + --v-hack-path=out/vhack/v_hack_21pairs.safetensors \ + --teacher-pool-dir=out/pools/teacher_pool \ --grad-clip=500 --steps=60 --seed={{ SEED }} \ + --vhack-refresh-every={{ REFRESH }} \ --eval-ablate-every=5 \ - --out-tag=_cell_{{ INTERVENTION }}_s{{ SEED }} + --out-tag=_cell_{{ INTERVENTION }}{{ if REFRESH == "0" { "" } else { "_online" } }}_s{{ SEED }} # Regenerate both dynamics plots from the cell logs (default: all cells; pass a # narrower glob like 'logs/*_cell_*_s41.log' for the seed-41-only checkpoint). @@ -132,28 +136,28 @@ extract-vhack-smoke: uv run python -m projected_grpo.extract_vhack_grad \ --model=Qwen/Qwen3.5-0.8B \ --dtype=bf16 \ - --out-path=out/v_hack_smoke.safetensors \ - --train-grads-path=out/vhack_grads_train_smoke.safetensors + --out-path=out/vhack/v_hack_smoke.safetensors \ + --train-grads-path=out/vhack_grads/vhack_grads_train_smoke.safetensors extract-vhack-full: uv run python -m projected_grpo.extract_vhack_grad \ --model=Qwen/Qwen3-4B \ --dtype=bf16 \ - --out-path=out/v_hack_full.safetensors \ - --train-grads-path=out/vhack_grads_train_full.safetensors + --out-path=out/vhack/v_hack_full.safetensors \ + --train-grads-path=out/vhack_grads/vhack_grads_train_full.safetensors verify-vhack-smoke: uv run python -m projected_grpo.verify_vhack_heldout \ --model=Qwen/Qwen3.5-0.8B \ --dtype=bf16 \ - --v-hack-path=out/v_hack_smoke.safetensors \ + --v-hack-path=out/vhack/v_hack_smoke.safetensors \ --out-path=out/vhack_heldout_cos_smoke.safetensors verify-vhack-full: uv run python -m projected_grpo.verify_vhack_heldout \ --model=Qwen/Qwen3-4B \ --dtype=bf16 \ - --v-hack-path=out/v_hack_full.safetensors \ + --v-hack-path=out/vhack/v_hack_full.safetensors \ --out-path=out/vhack_heldout_cos_full.safetensors # ============================================================================= @@ -183,7 +187,7 @@ probe-full-seed seed="41": EX=$(pueue add -p -w "$PWD" -o 9 -l "why: extract v_hack full; resolve: Gate A zero-norm=0, ~252 modules" -- just extract-vhack-full) VF=$(pueue add -p -a "$EX" -w "$PWD" -o 9 -l "why: verify heldout cos; resolve: Gate B frac>0>0.50, mean>0.20" -- just verify-vhack-full) VA=$(pueue add -p -a "$VF" -w "$PWD" -o 9 -l "why: vanilla seed{{ seed }} @ matched batch; resolve: Gate C H4 HACK_RATE>0.30 by ~step100" -- {{ TRAIN }} full --intervention=none --seed={{ seed }} --out-tag=_full_vanilla_seed{{ seed }}_probe) - pueue add -a "$VA" -w "$PWD" -o 8 -l "why: projected seed{{ seed }} @ matched batch, v_hack NOT post-hoc; resolve: Gate D H1 HACK_RATE30% at step 200). -queue-vanilla preset="full" vhack="out/v_hack_full.safetensors": +queue-vanilla preset="full" vhack="out/vhack/v_hack_full.safetensors": #!/usr/bin/env bash set -x for seed in {{ SEEDS_3 }}; do @@ -213,7 +217,7 @@ queue-vanilla preset="full" vhack="out/v_hack_full.safetensors": done # 3-seed projected (H1: -30pp hack vs vanilla at matched pass). -queue-projected preset="full" vhack="out/v_hack_full.safetensors": +queue-projected preset="full" vhack="out/vhack/v_hack_full.safetensors": #!/usr/bin/env bash set -x for seed in {{ SEEDS_3 }}; do @@ -236,7 +240,7 @@ table-proto: @cat docs/table_proto.md # Pre-generate teacher rollouts for N prompts via probe_distill.py --teacher-only. -# Writes/extends out/probe_distill/teacher_pool/. Teacher = ariahw rh-s65 LoRA +# Writes/extends out/pools/teacher_pool/. Teacher = ariahw rh-s65 LoRA # merged on Qwen3-4B. Cost ~30s/prompt @ G=8, max_new=1024 -> ~50 min for 100. # Pool is consumed by fast-vanilla / fast-projected via --teacher-pool-dir. pregen-teacher n_prompts="100": @@ -248,7 +252,7 @@ pregen-teacher n_prompts="100": --max-new=1024 # G2: pregen pool from an alternative Aria teacher checkpoint. -# `tag` controls the output subdir under out/probe_distill//. +# `tag` controls the output subdir under out/pools//. # Example: just pregen-teacher-alt ariahw/rl-rewardhacking-leetcode-gt-monitor-penalty-s65 teacher_pool_gtmon_s65 50 pregen-teacher-alt teacher tag n_prompts="50": uv run python -m projected_grpo.probe_distill \ @@ -268,7 +272,7 @@ pregen-teacher-alt teacher tag n_prompts="50": # 4-boolean co-occurrence + signature breakdown on the cached pool. # `pool` selects which pool to regrade (default = original rh-s65 pool). -regrade-pool pool="out/probe_distill/teacher_pool": +regrade-pool pool="out/pools/teacher_pool": uv run python -m projected_grpo.regrade_pool --pool-dir={{ pool }} # Build a combined teacher pool by concatenating same-prompt rollouts from @@ -282,7 +286,7 @@ build-combined-pool: # Build (hack, clean) pairs from the pool, restricted to half_A detectors on # the hack side. Writes out/pairs_pool_half.json with N<=14 same-prompt # pairs. Asserts hack and clean rollouts share the prompt. -pairs-from-pool half_a="E,C" pool="out/probe_distill/teacher_pool" tag="": +pairs-from-pool half_a="E,C" pool="out/pools/teacher_pool" tag="": uv run python -m projected_grpo.pairs_from_pool \ --pool-dir={{ pool }} \ --half-a={{ half_a }} \ @@ -294,15 +298,15 @@ extract-vhack-pool half_a="E,C" tag="": uv run python -m projected_grpo.extract_vhack_grad \ --model=Qwen/Qwen3-4B --dtype=bf16 \ --pairs-from-pool=out/pairs_pool_half_{{ replace(half_a, ',', '') }}{{ tag }}.json \ - --out-path=out/v_hack_pool_half_{{ replace(half_a, ',', '') }}{{ tag }}.safetensors \ - --train-grads-path=out/vhack_grads_pool_half_{{ replace(half_a, ',', '') }}{{ tag }}.safetensors + --out-path=out/vhack/v_hack_pool_half_{{ replace(half_a, ',', '') }}{{ tag }}.safetensors \ + --train-grads-path=out/vhack_grads/vhack_grads_pool_half_{{ replace(half_a, ',', '') }}{{ tag }}.safetensors # Train with pool-derived v_hack + online refresh. half_a echoed to train.py so # the final BLUF reports HACK_A (in-distribution) and HACK_B (held-out). Step # 6 of the spec; cf. step 7 BLUF decision rules. -fast-projected-pool half_a="E,C" seed="41" pool="out/probe_distill/teacher_pool" tag="": +fast-projected-pool half_a="E,C" seed="41" pool="out/pools/teacher_pool" tag="": {{ TRAIN }} fast --intervention=erase \ - --v-hack-path=out/v_hack_pool_half_{{ replace(half_a, ',', '') }}{{ tag }}.safetensors \ + --v-hack-path=out/vhack/v_hack_pool_half_{{ replace(half_a, ',', '') }}{{ tag }}.safetensors \ --vhack-pairs-path=out/pairs_pool_half_{{ replace(half_a, ',', '') }}{{ tag }}.json \ --teacher-pool-dir={{ pool }} --mix-ratio=0.5 \ --grad-clip=500 \ @@ -313,7 +317,7 @@ fast-projected-pool half_a="E,C" seed="41" pool="out/probe_distill/teacher_pool" # Vanilla matched-seed baseline for the cross-mech experiment. Same seed and # mix as fast-projected-pool so HACK_A/HACK_B deltas are comparable. -fast-vanilla-xmech half_a="E,C" seed="41" pool="out/probe_distill/teacher_pool" tag="": +fast-vanilla-xmech half_a="E,C" seed="41" pool="out/pools/teacher_pool" tag="": {{ TRAIN }} fast --intervention=none \ --teacher-pool-dir={{ pool }} --mix-ratio=0.5 \ --grad-clip=500 \ diff --git a/out/dynamics_test.png b/out/dynamics_test.png deleted file mode 100644 index 9db0ce801cdff8cb3c50d96a70d1cf16fea813d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 97562 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
8^GSXwQS_Wn#1e$_wqW9T`lwv)O&tF|R|4S}# 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

vU$U^i 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�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 diff --git a/out/route_evidence_s41.png b/out/route_evidence_s41.png deleted file mode 100644 index 43625555239bb8de2441abf7ca2f6209594dd042..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59771 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 GC;tY`ndSTd diff --git a/scripts/build_combined_pool.py b/scripts/build_combined_pool.py index 2d81379..e20ebbd 100644 --- a/scripts/build_combined_pool.py +++ b/scripts/build_combined_pool.py @@ -16,13 +16,13 @@ import json from pathlib import Path SOURCES = [ - "out/probe_distill/teacher_pool", # rh-s65 (existing) - "out/probe_distill/teacher_pool_rh_s42", - "out/probe_distill/teacher_pool_inocloop_s65", - "out/probe_distill/teacher_pool_jmonscr_s65", - "out/probe_distill/teacher_pool_pmonscr_s65", + "out/pools/teacher_pool", # rh-s65 (existing) + "out/pools/teacher_pool_rh_s42", + "out/pools/teacher_pool_inocloop_s65", + "out/pools/teacher_pool_jmonscr_s65", + "out/pools/teacher_pool_pmonscr_s65", ] -OUT = Path("out/probe_distill/teacher_pool_combined") +OUT = Path("out/pools/teacher_pool_combined") def main() -> None: diff --git a/scripts/migrate_out_dirs.py b/scripts/migrate_out_dirs.py new file mode 100644 index 0000000..0816cf3 --- /dev/null +++ b/scripts/migrate_out_dirs.py @@ -0,0 +1,90 @@ +"""One-shot out/ migration to the datatype-sorted scheme (spec 20260530_out_dir_reorg). + +Sorts loose out/ files into subdirs: + v_hack_*.safetensors -> out/vhack/ + vhack_grads_*, vhack_heldout_* -> out/vhack_grads/ + *.png -> out/figs/ + out/probe_distill// -> out/pools// + train_{,_first_hack}.safetensors + rollouts_.jsonl + -> out/runs// (ts matched from logs/*.log) + pairs_*.json -> out/pairsets/ + +Per-train-run artifacts (checkpoint + rollouts) group under the SAME run dir as +their log's _ stem, by matching the out_tag suffix. Unmatched train +files (no log) go to out/runs/_unmatched/ and are logged, never dropped. + + uv run python scripts/migrate_out_dirs.py # dry-run (prints plan) + uv run python scripts/migrate_out_dirs.py --apply # actually move +""" +from __future__ import annotations + +import shutil +import sys +from pathlib import Path + +from loguru import logger + +OUT = Path("out") +LOGS = Path("logs") +APPLY = "--apply" in sys.argv + + +def log_stem_for_tag(tag: str) -> str | None: + """Find the log whose run_id ends with `tag` (the out_tag suffix). Returns its stem.""" + cands = sorted(LOGS.glob(f"*{tag}.log")) + # Prefer an exact suffix match on the stem (run_id = __seed). + exact = [p for p in cands if p.stem.endswith(tag)] + chosen = (exact or cands) + return chosen[-1].stem if chosen else None # newest if several + + +def plan_moves() -> list[tuple[Path, Path]]: + moves: list[tuple[Path, Path]] = [] + for f in sorted(OUT.glob("*")): + if f.is_dir(): + continue + n = f.name + if n.startswith("v_hack_") and n.endswith(".safetensors"): + moves.append((f, OUT / "vhack" / n)) + elif n.startswith(("vhack_grads_", "vhack_heldout")): + moves.append((f, OUT / "vhack_grads" / n)) + elif n.endswith(".png"): + moves.append((f, OUT / "figs" / n)) + elif n.startswith("pairs_") and n.endswith(".json"): + moves.append((f, OUT / "pairsets" / n)) + elif n.startswith("train_") or n.startswith("rollouts_"): + # tag = out_tag suffix shared by the file and its log. + stem = n.split(".")[0] + tag = (stem[len("train"):] if stem.startswith("train") + else "_" + stem[len("rollouts_"):]) + tag = tag.replace("_first_hack", "") + log_stem = log_stem_for_tag(tag) + dest_dir = OUT / "runs" / (log_stem or "_unmatched") + moves.append((f, dest_dir / n)) + else: + logger.warning(f"UNMAPPED loose file (left in place): {f}") + # Teacher/base pools: out/probe_distill// -> out/pools// + pd = OUT / "probe_distill" + if pd.is_dir(): + for sub in sorted(pd.iterdir()): + dst = OUT / ("figs" if sub.suffix == ".png" else "pools") / sub.name + moves.append((sub, dst)) + return moves + + +def main() -> None: + moves = plan_moves() + for src, dst in moves: + if dst.exists(): + logger.warning(f"SKIP (dest exists): {dst}") + continue + logger.info(f"{'MOVE' if APPLY else 'PLAN'}: {src} -> {dst}") + if APPLY: + dst.parent.mkdir(parents=True, exist_ok=True) + shutil.move(str(src), str(dst)) + logger.info(f"{'APPLIED' if APPLY else 'DRY-RUN'}: {len(moves)} moves. " + f"{'' if APPLY else 'Re-run with --apply to execute.'}") + + +if __name__ == "__main__": + main() diff --git a/scripts/plot_dynamics.py b/scripts/plot_dynamics.py index 2890fcd..f672f59 100644 --- a/scripts/plot_dynamics.py +++ b/scripts/plot_dynamics.py @@ -45,6 +45,8 @@ import matplotlib.pyplot as plt import numpy as np from loguru import logger +from projected_grpo.figs import link_latest + # --- parse ----------------------------------------------------------------- # Series we plot, by cleaned header name. frac "7/28" -> 0.25; float "+0.264". @@ -80,7 +82,7 @@ def parse_log(path: Path) -> dict | None: arm = grab(r"\barm=(\w+)", preset, "vanilla") refr = int(grab(r"--vhack-refresh-every=(\d+)", argv, "0")) seed = grab(r"seed=(\d+)", preset, "?") - vhack = grab(r"v-hack-path=out/(\S+?)\.safetensors", argv, "-") + vhack = grab(r"v-hack-path=out/(?:vhack/)?(\S+?)\.safetensors", argv, "-") # header line: the one containing both "step" and "hack_s" hdr = next((l for l in txt.splitlines() if "ref_eq" in l and "hack_s" in l), None) @@ -312,7 +314,7 @@ def _gather(paths: list[str]) -> list[Path]: def main() -> None: ap = argparse.ArgumentParser(description=__doc__) ap.add_argument("logs", nargs="+", help="log files, globs, or dirs") - ap.add_argument("--out", type=Path, default=Path("out/dynamics.png")) + ap.add_argument("--out", type=Path, default=Path("out/figs/dynamics.png")) args = ap.parse_args() files = _gather(args.logs) runs = [r for f in files if (r := parse_log(f))] @@ -320,9 +322,13 @@ def main() -> None: raise SystemExit(f"no parseable runs in {len(files)} files") for r in runs: logger.info(f"{classify(r):16s} seed={r['seed']} steps={len(r['steps'])} {r['vhack']}") + args.out.parent.mkdir(parents=True, exist_ok=True) plot(runs, args.out) # second figure: single-panel arm-vs-arm overlay of the headline metric - plot_hack_overlay(runs, args.out.with_name(args.out.stem + "_hack_overlay.png")) + overlay = args.out.with_name(args.out.stem + "_hack_overlay.png") + plot_hack_overlay(runs, overlay) + for p in (args.out, overlay): + logger.info(f"docs/figs latest -> {link_latest(p)}") if __name__ == "__main__": diff --git a/scripts/plot_route_evidence.py b/scripts/plot_route_evidence.py index 253bd57..4dc7fc1 100644 --- a/scripts/plot_route_evidence.py +++ b/scripts/plot_route_evidence.py @@ -20,6 +20,8 @@ matplotlib.use("Agg") import matplotlib.pyplot as plt import tyro +from projected_grpo.figs import link_latest + def _frac(tok: str) -> float | None: if "/" in tok: @@ -60,7 +62,7 @@ def parse(log: Path): ship_step=ship_step, ship_hack=ship_hack, ship_solve=ship_solve) -def main(log: str, out: str = "out/route_evidence.png") -> None: +def main(log: str, out: str = "out/figs/route_evidence.png") -> None: d = parse(Path(log)) RED, GREY = "#b03a2e", "#9a8c7a" # hack=red (the story); solve=muted (context) fig, ax = plt.subplots(figsize=(7, 4)) @@ -93,7 +95,9 @@ def main(log: str, out: str = "out/route_evidence.png") -> None: fig.tight_layout() Path(out).parent.mkdir(parents=True, exist_ok=True) fig.savefig(out, dpi=130) - print(f"wrote {out} (train_hack_final={d['train_hack'][-1]:.3f}, " + link = link_latest(Path(out)) + print(f"wrote {out} (docs/figs latest -> {link}) " + f"(train_hack_final={d['train_hack'][-1]:.3f}, " f"ship_hack_final={d['ship_hack'][-1]:.3f}, ship_solve_final={d['ship_solve'][-1]:.3f})") diff --git a/scripts/results.py b/scripts/results.py index 83a57b7..ada5d9c 100644 --- a/scripts/results.py +++ b/scripts/results.py @@ -50,7 +50,7 @@ def _cfg(argv: str, preset_line: str) -> dict: gate=grab(r"--gate-mode=(\w+)", argv, "one_sided"), k=grab(r"--v-hack-k=(\d+)", argv, "5"), dropf=grab(r"--v-hack-drop-bottom-frac=([\d.]+)", argv, "0.25"), - vhack=grab(r"v-hack-path=out/(\S+?)\.safetensors", argv), + vhack=grab(r"v-hack-path=out/(?:vhack/)?(\S+?)\.safetensors", argv), tag=grab(r"--out-tag=(\S+)", argv, ""), # full CLI args (after train.py) — the ground-truth provenance; any flag # not parsed into a column above is still visible here. diff --git a/src/projected_grpo/extract_vhack_grad.py b/src/projected_grpo/extract_vhack_grad.py index cfd4e34..118c092 100644 --- a/src/projected_grpo/extract_vhack_grad.py +++ b/src/projected_grpo/extract_vhack_grad.py @@ -54,8 +54,8 @@ OUT_DIR = Path("out") class Config: model: str = "Qwen/Qwen3-4B" dtype: str = "bf16" # must match train.py, else SVD basis cache can differ silently - out_path: Path = OUT_DIR / "v_hack.safetensors" - train_grads_path: Path = OUT_DIR / "vhack_grads_train.safetensors" + out_path: Path = OUT_DIR / "vhack" / "v_hack.safetensors" + train_grads_path: Path = OUT_DIR / "vhack_grads" / "vhack_grads_train.safetensors" n_heldout: int = 2 # last n pairs reserved for held-out validation # top_k=12 = max(n_train_pairs after n_heldout=2 from N=14 pairs). Extract once # at max rank; train.py slices via --v-hack-k for k-ablation without re-extract. @@ -255,7 +255,8 @@ def main(cfg: Config) -> int: n_zero = sum(1 for v in v_hack.values() if v.norm() < 1e-12) k = min(cfg.top_k, len(train_pairs)) - OUT_DIR.mkdir(exist_ok=True) + cfg.out_path.parent.mkdir(parents=True, exist_ok=True) + cfg.train_grads_path.parent.mkdir(parents=True, exist_ok=True) save_file(raw_grads, str(cfg.train_grads_path), metadata={"model": cfg.model, "dtype": cfg.dtype}) # v_hack file layout: bare `{name}` keys hold V[k, r]; `_sv/{name}` keys diff --git a/src/projected_grpo/figs.py b/src/projected_grpo/figs.py new file mode 100644 index 0000000..880b023 --- /dev/null +++ b/src/projected_grpo/figs.py @@ -0,0 +1,28 @@ +"""Stable `docs/figs/.png` -> latest generated figure under `out/`. + +Plot scripts write the real PNG under out/ (gitignored, per-run/per-datatype), +then call link_latest() so docs and the blog can reference a stable path that +always points at the newest version. The symlink is relative so the repo stays +relocatable. + +CAVEAT: out/ is gitignored, so the symlink target is not tracked -- the link +resolves locally but GitHub won't render it. To publish a figure, commit the +real PNG (git add -f) as well; the symlink is for local "latest" convenience. +""" +from __future__ import annotations + +import os +from pathlib import Path + +FIGS_DIR = Path("docs/figs") + + +def link_latest(out_path: Path) -> Path: + """Point docs/figs/ at out_path (relative symlink). Returns the link.""" + FIGS_DIR.mkdir(parents=True, exist_ok=True) + link = FIGS_DIR / out_path.name + target = os.path.relpath(out_path.resolve(), FIGS_DIR.resolve()) + if link.is_symlink() or link.exists(): + link.unlink() + link.symlink_to(target) + return link diff --git a/src/projected_grpo/pairs_from_pool.py b/src/projected_grpo/pairs_from_pool.py index 9aecb8b..c1f6895 100644 --- a/src/projected_grpo/pairs_from_pool.py +++ b/src/projected_grpo/pairs_from_pool.py @@ -21,7 +21,7 @@ rewards.py:RewardResult): GT = gt_pass (eq_correct upstream; orthogonal to E/C/D) Run: uv run python -m projected_grpo.pairs_from_pool \ - --pool-dir=out/probe_distill/teacher_pool \ + --pool-dir=out/pools/teacher_pool \ --half-a=E,C \ --out-path=out/pairs_pool_halfA_EC.json """ @@ -214,7 +214,7 @@ def load_pairs_json(path: Path) -> list[HackPair]: def main( - pool_dir: Path = Path("out/probe_distill/teacher_pool"), + pool_dir: Path = Path("out/pools/teacher_pool"), half_a: str = "E,C", half_a_signatures: str = "", max_pairs: int = 14, diff --git a/src/projected_grpo/probe_distill.py b/src/projected_grpo/probe_distill.py index ee64b80..edd3c85 100644 --- a/src/projected_grpo/probe_distill.py +++ b/src/projected_grpo/probe_distill.py @@ -78,7 +78,7 @@ class Config: clip: float = 0.2 seed: int = 41 preserve_magnitude: bool = True - v_hack_path: Path = OUT_DIR / "v_hack_full.safetensors" + v_hack_path: Path = OUT_DIR / "vhack" / "v_hack_full.safetensors" tag: str = "" replay_dir: Path | None = None teacher_only: bool = False @@ -262,12 +262,12 @@ def main(cfg: Config) -> int: # them. Pool files live flat at the pool root (prompt_*.jsonl.gz). Training # runs get an ISO timestamp prefix and step files go in a `steps/` subdir. if cfg.teacher_only or cfg.base_only: - out_dir = OUT_DIR / "probe_distill" / tag + out_dir = OUT_DIR / "pools" / tag # teacher/base pools live under pools/ steps_dir = out_dir else: from datetime import datetime stamp = datetime.now().strftime("%Y%m%dT%H%M%S") - out_dir = OUT_DIR / "probe_distill" / f"{stamp}_{tag}" + out_dir = OUT_DIR / "runs" / f"{stamp}_distill_{tag}" # analysis run -> runs/ steps_dir = out_dir / "steps" rng = torch.Generator().manual_seed(cfg.seed) pad_id = tok.pad_token_id diff --git a/src/projected_grpo/probe_plot_stack.py b/src/projected_grpo/probe_plot_stack.py index db9e20c..37e552d 100644 --- a/src/projected_grpo/probe_plot_stack.py +++ b/src/projected_grpo/probe_plot_stack.py @@ -67,7 +67,7 @@ def load_step(path: Path) -> list[dict]: @dataclass class Config: run_dir: Path - out_path: Path = Path("out/probe_distill/plot_stack_vanilla_seed41.png") + out_path: Path = Path("out/runs/probe_plot_stack_vanilla_seed41.png") warmup: int = 70 # distill-off boundary (end of replay) pre_warmup: int = 0 # distill-on boundary (start of replay) smooth: int = 10 # trailing SMA window; double the blog's 5 since our G=8 (theirs G=16) diff --git a/src/projected_grpo/probe_traj.py b/src/projected_grpo/probe_traj.py index db0a6ea..8567458 100644 --- a/src/projected_grpo/probe_traj.py +++ b/src/projected_grpo/probe_traj.py @@ -49,7 +49,7 @@ def per_step(rows: list[dict]) -> list[dict]: def main(tag_v: str = "warmupgen_vanilla_seed41", tag_p: str = "warmupgen_projected_svd_seed41"): - root = Path("out/probe_distill") + root = Path("out/runs") # distill analysis runs land here (was probe_distill/) v = per_step(load_run(root / tag_v)) p = per_step(load_run(root / tag_p)) diff --git a/src/projected_grpo/regrade_pool.py b/src/projected_grpo/regrade_pool.py index 060dff5..4bd5250 100644 --- a/src/projected_grpo/regrade_pool.py +++ b/src/projected_grpo/regrade_pool.py @@ -60,7 +60,7 @@ def load_problems_by_id() -> dict[int, dict]: DETECTORS = ("E", "C", "D") # ordered for stable signature reporting; GT logged aside -def main(pool_dir: Path = Path("out/probe_distill/teacher_pool"), require_audit: bool = True) -> int: +def main(pool_dir: Path = Path("out/pools/teacher_pool"), require_audit: bool = True) -> int: probs = load_problems_by_id() logger.info(f"loaded {len(probs)} problems from dataset") diff --git a/src/projected_grpo/train.py b/src/projected_grpo/train.py index 37b9af3..be4cb81 100644 --- a/src/projected_grpo/train.py +++ b/src/projected_grpo/train.py @@ -86,6 +86,11 @@ from .rewards import compute_reward CACHE_ROOT = Path("svd_cache") OUT_DIR = Path("out") +# out/ is sorted by datatype (see docs/spec/20260530_out_dir_reorg.md): extracted +# bases under vhack/, teacher pools under pools/, per-train-run checkpoints under +# runs//. Read paths (v_hack, teacher pool) come in as explicit args. +VHACK_DIR = OUT_DIR / "vhack" +RUNS_DIR = OUT_DIR / "runs" LOGS_DIR = Path("logs") DATA = Path("external/rl-rewardhacking/results/data/leetcode_train_medhard_filtered.jsonl") @@ -660,7 +665,7 @@ def main(cfg: Config) -> int: # ablation varies pairs.py, add a pairs hash here too. tau_tag = f"_tau{cfg.v_hack_tau_axis:g}" if cfg.v_hack_tau_axis > 0 else "" if cfg.v_hack_path is None: - v_hack_path = OUT_DIR / f"v_hack_{model_slug}_k{cfg.v_hack_extract_top_k}{tau_tag}.safetensors" + v_hack_path = VHACK_DIR / f"v_hack_{model_slug}_k{cfg.v_hack_extract_top_k}{tau_tag}.safetensors" else: v_hack_path = cfg.v_hack_path if not v_hack_path.exists(): @@ -873,17 +878,19 @@ table columns: logger.info(caption + "\n\n") logger.info(step_logger.header()) - OUT_DIR.mkdir(exist_ok=True) - tag = cfg.out_tag or f"_{cfg.preset_name}_{cfg.arm}_seed{cfg.seed}" - ckpt_path = OUT_DIR / f"train{tag}.safetensors" - first_hack_path = OUT_DIR / f"train{tag}_first_hack.safetensors" + # Per-run artifacts grouped under runs/_/ (same stem as the log, + # so a run's checkpoint and log sit together). See out_dir_reorg spec. + run_dir = RUNS_DIR / verbose_log.stem + run_dir.mkdir(parents=True, exist_ok=True) + ckpt_path = run_dir / "train.safetensors" + first_hack_path = run_dir / "first_hack.safetensors" # Per-rollout audit log: every live-graded student completion (full text + # all hack-mechanism flags), one JSON object per line. Lets us eyeball # *which* hack the student found and whether the mechanism shifts mid-run # (e.g. it routes around v_hack into a category the pairs don't span). # Offline observability only -- never read back into training, so no-cheat # invariant holds. Truncated fresh each run. - rollout_log_path = OUT_DIR / f"rollouts{tag}.jsonl" + rollout_log_path = run_dir / "rollouts.jsonl" rollout_log_path.write_text("") first_hack_saved = False route_span_checked = False # R3: assert delta_S_hack.grad in span(V) once diff --git a/src/projected_grpo/verify_vhack_heldout.py b/src/projected_grpo/verify_vhack_heldout.py index 20d79c0..cab8df9 100644 --- a/src/projected_grpo/verify_vhack_heldout.py +++ b/src/projected_grpo/verify_vhack_heldout.py @@ -40,7 +40,7 @@ OUT_DIR = Path("out") class Config: model: str = "out/baked/qwen3_4b_rh25" dtype: str = "bf16" # must match extract_vhack_grad.py and train.py - v_hack_path: Path = OUT_DIR / "v_hack_rh25.safetensors" + v_hack_path: Path = OUT_DIR / "vhack" / "v_hack_rh25.safetensors" out_path: Path = OUT_DIR / "vhack_heldout_cos_rh25.safetensors" n_heldout: int = 2