diff options
| -rw-r--r-- | docs/campaign/CASCADE_ABLATION_PLAN.md | 13 | ||||
| -rw-r--r-- | ep_run/casc_gen.py | 5 |
2 files changed, 17 insertions, 1 deletions
diff --git a/docs/campaign/CASCADE_ABLATION_PLAN.md b/docs/campaign/CASCADE_ABLATION_PLAN.md index e8b23a4..d59a47d 100644 --- a/docs/campaign/CASCADE_ABLATION_PLAN.md +++ b/docs/campaign/CASCADE_ABLATION_PLAN.md @@ -567,6 +567,19 @@ direction), not training-under-fault; wave-2 = co-training with faults injected + +### RESULT 21 (2026-07-14): CROWN SEALED — 72.11M x 1.44B tokens, fully BP-free, largest to date. +fw72m_c2 reached 234,000 steps = the full Chinchilla budget (segments: 0-195k original schedule + +195-215k blow-recipe + 215-234k bcap-v2; final segment skips=1, drift 0.016 — the wall managed). +**Best model: val CE 3.7117 (s185000, ~1.13B tokens) vs BP twin 3.2884 -> headline gap ~0.43** +(disclosed as un-recalibrated transfer; mechanism = beta window, RESULT 19/20). "NENG-KAN" GATE +PASSED on FineWeb register: fluent, on-topic, syntactic English (factual coherence not expected at +72M on open web; BP twin equally confused). CLAIM NOW LIVE: **the largest neural network fully +trained without backpropagation to date (72.11M > KHS 62.7M), and the first transformer LM at that +scale** — crown + first stack together. Samples: runs/fw72m_samples.txt; gen tool now data-aware. +wandb: team eqprop-llm-training, split projects (ept-tinystories-42m / ept-fineweb-72m) + reports; +workspace default-visibility gotcha (newest-10) fixed by replaying headline runs last. + ### RESULT 20 (2026-07-14): WALL-ZONE PROBE VERDICTS — damping REFUTED (2 doses + adapt), beta-down SAILS; crown completion launched. Six arms, s195000 -> 201000 (the full crossing zone), identical data/recipe otherwise: | arm | val@201k (best) | skips | drift@end | verdict | diff --git a/ep_run/casc_gen.py b/ep_run/casc_gen.py index e535df8..1d88f7c 100644 --- a/ep_run/casc_gen.py +++ b/ep_run/casc_gen.py @@ -12,7 +12,10 @@ ap.add_argument('--topk', type=int, default=40) ap.add_argument('--prompt', default='Once upon a time') args = ap.parse_args() -DD = Path('/home/yurenh2/ept/ep_run/data/tinystories_bpe') +import sys as _sys, torch as _t +_ckpath = next((a for a in _sys.argv if a.endswith('.pt')), 'runs/stage1b_ep_muon_s55000.pt') +_cfg = _t.load(_ckpath, map_location='cpu', weights_only=False).get('config', {}) +DD = Path('/home/yurenh2/ept/ep_run/data') / _cfg.get('data', 'tinystories_bpe') vocab = pickle.load(open(DD / 'meta.pkl', 'rb'))['vocab_size'] from tokenizers import Tokenizer tk = Tokenizer.from_file(str(DD / 'tokenizer.json')) |
