mirror of
https://github.com/wassname/evil_MoE.git
synced 2026-08-14 21:20:16 +08:00
save per-eval deploy-adapter ckpts (rescore w/o retrain) + CLAUDE.md test lesson
save_eval_ckpts (default on): write the deploy adapter (δS only, ~2.3MB) at each deploy-eval step, step-tagged, so a run can be re-scored later (more prompts / different eval) without retraining. The A5 run saved only final+first_hack, which is why the leak needed a full retrain rather than a rescore. AGENTS.md: every load-bearing invariant gets a verify_*.py gate. The no-cheat leak shipped because the green gates never covered the property -- 'tests passed' is meaningless if the property was never tested. Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
This commit is contained in:
@@ -192,6 +192,10 @@ class Config:
|
||||
# sparser cadence (10/20) explicitly. See journal 2026-06-04 (a) for the cost audit.
|
||||
eval_ablate_every: int = 5
|
||||
eval_n_prompts: int = 8
|
||||
# Save the deploy adapter (δS only, ~2.3MB) at every deploy-eval step, tagged by
|
||||
# step, so a run can be RE-SCORED later (more prompts, different eval) without
|
||||
# retraining. Tiny per ckpt; a 200-step run at every-10 is ~46MB. Off for big sweeps.
|
||||
save_eval_ckpts: bool = True
|
||||
# Optional: pool-derived pairs JSON (built by pairs_from_pool.py). When set,
|
||||
# BOTH the cache-miss extract AND the online refresh use these pairs instead
|
||||
# of the hand-crafted projected_grpo.pairs.PAIRS. Required for the cross-
|
||||
@@ -1621,6 +1625,10 @@ def main(cfg: Config) -> int:
|
||||
raise RuntimeError(f"training diverged (ppl_t={ppl_t:.0e} at step {step})")
|
||||
if (step + 1) % 25 == 0:
|
||||
save_ckpt(rows) # survive early kills; ~12 days for the full sweep
|
||||
# Per-eval deploy-adapter snapshot: re-scoreable later without retraining.
|
||||
if cfg.save_eval_ckpts and cfg.eval_ablate_every > 0 \
|
||||
and (step % cfg.eval_ablate_every == 0 or step == steps - 1):
|
||||
save_ckpt(rows, path=run_dir / f"ckpt_step{step:04d}.safetensors")
|
||||
if not first_hack_saved and hack_s_n > 0:
|
||||
save_ckpt(rows, path=first_hack_path)
|
||||
first_hack_saved = True
|
||||
|
||||
Reference in New Issue
Block a user