ATOM (atom-ai): code snapshot (100fae0 + batched-train), README with measured numbers, curated checkpoints
9f1076a verified |
Download docs/STATUS.md from thefinalboss/atom-ai: direct link, hf CLI and curl.
- Browser
- Download file 20 kB
-
https://huggingface.co/thefinalboss/atom-ai/resolve/main/docs/STATUS.md
- Command line
-
hf download hf://thefinalboss/atom-ai/docs/STATUS.md
-
curl -L -o STATUS.md https://huggingface.co/thefinalboss/atom-ai/resolve/main/docs/STATUS.md
20 kB
| ## Branch b4828 — rollback to best-val 4828k, LR halved (2026-09-28) — running | |
| lrd run ended at 5M without coherence (5M val 0.898, 0/3, `Bonne`/`Oui,,,` attractor); | |
| best val was **0.394 @ 4828k**. One lever: restart from 4828k with `--learning-rate 1.5e-5 | |
| --surface-learning-rate 3.6e-5` (halved), everything else identical, END_TARGET 6M. | |
| New suffix `_lrd_b4828` (old `_lrd` ckpts untouched). `train_until_coherent.sh` now | |
| parametrized via env (SUFFIX/LR/SLR/START_CKPT/LOG_TAG; defaults = old behaviour). | |
| See `docs/BRANCH_4828_LR_HALF.md`. | |
| ## field→hard-decode couple (2026-09-24) — measured | |
| Opt-in `--field-hard-couple-scale` (default 0): under hard, | |
| `logits += S * W_hcouple(LN([mean‖std‖persist‖atom.r]))`. Dedicated W (frozen | |
| `field_byte_skip` cannot be reused). | |
| - S=0.25 +8k from 4340k → PASS=False, Peut--; |W|≈0.016. Artifacts: `ffield_couple/`. | |
| - **S=1.0** +8k from 4404k → `*_lrd_ffield1.pt`; technical PASS=True (Oui vs Je) but | |
| **not fluent** (Je/uudiil attractors; |W|≈0.017 near init). Live lrd untouched. | |
| Artifacts: `docs/artifacts/ffield_couple_s1/`. | |
| See `docs/FIELD_HARD_COUPLE.md`. | |
| ## last_atom scale probe (2026-09-24) — measured | |
| From 3800k frroll +8k with `--last-atom-scale 0.15` + free-run-aux ON. | |
| Probe PASS=True (broke Peut-être); dual `Bon en…` basin; chats letter-soup; | |
| scaled la/α≈3.51. **Not fluent.** Live 5M lrd continued (untouched). | |
| See MEASURE_LOG + LAST_ATOM_SCALE.md. | |
| ## last_atom scale S (2026-09-23) — one math lever | |
| Hard mix: `logits += S * la_byte` via `--last-atom-scale S` (default **1.0** = | |
| no behavior change). Pick S≈α_rms/la_rms so α-MLP can compete under obligatory | |
| hard (measured ~6.5 at 3800k frroll → try S=0.15). Opt-in; live 5M recipe | |
| untouched. See `docs/LAST_ATOM_SCALE.md` + MEASURE_LOG. | |
| ## Free-run aux L_roll (2026-09-23) — one math lever | |
| **Not a dead-end on proxy-mismatch.** Primary lever (opt-in, default OFF): | |
| `L_roll = (1/H) Σ_h CE(logits(s_h), gold_h)` with `s_{h+1}=commit(argmax(decode(s_h)))` | |
| — same generate commit path as chat. Gradients through multi-step free-run | |
| surface logits; discrete commits stop-grad (scheduled sampling). | |
| Flags: `--free-run-aux-every N` (0=OFF), `--free-run-aux-horizon H` (4), | |
| `--free-run-aux-weight W` (1.0). Live `train_until_coherent` recipe unchanged. | |
| Falsify: after short probe, gen scraps / prompt diversity no better than tip | |
| baseline → try last_atom scale under hard next. | |
| See MEASURE_LOG + docs/FREE_RUN_AUX.md. | |
| ## Config bugfix (2026-09-23) — field_loss post-resume | |
| `tools/run_atom_native.py` already rewrote obligatory / printable / next_packet / merge / payload after `model.load()`, but not `field_loss_weight` / `field_contrast_weight`. Construct CLI (`--field-loss-weight 0.05`) was overwritten by tip ckpt `0.0`, so all `*_lrd.pt` saved `field_loss_weight=0.0`. Fix: CLI wins for those two weights on resume (same sibling pattern). Code-only; live `train_until_coherent` / `run_atom_native` keep `field_loss=0` until relaunch. | |
| ## Both levers (2026-09-21) | |
| 1. **LR decay** 872→880: val **0.593**, teacher 75.5% (kept). | |
| 2. **ep10000** 880→890 on top of LR decay: val **0.908** — FAIL (worse; same pattern as old ep12000). | |
| 3. **speech_ok** widened (was hard-capping non-hint text at 6 chars → blocked phrases); train free-run `max_length` 20→64; chat `max-packets` default 96. | |
| 4. Continue: **LR decay + ep8000** from 880k (`*_lrd.pt`), not ep10000. | |
| Phrase gen @890 cold: longer scraps (`Peut-ilisateur…`, `Je ire tu…`) — still not coherent sentences. Role-prime still empty. | |
| # ATOM status snapshot — 2026-09-21 | |
| Repo: https://github.com/AFKmoney/atom-ai | |
| English docs only. **No fluency claim yet — but scaling is real.** | |
| ## LR decay smoke (2026-09-21, branch ms1M-continue-d32) | |
| Stopped blind 1500k. One variable from **872k** best: LR **3e-5 / 7.2e-5** (was 5e-5 / 1.2e-4), ep8000 unchanged. | |
| | tip | val (ppl) | teacher | train gen | chat role-prime Bonjour | cold Bonjour | | |
| |-----|-----------|---------|-----------|-------------------------|--------------| | |
| | 872k baseline | 0.550 / 1.73 | (prior ~74%) | Bon,/Oui, | *(empty)* | Peux t | | |
| | 880k same-LR (prior) | 0.620 / 1.86 | — | Oui,/Bonne | — | — | | |
| | **880k LR decay** | **0.593 / 1.81** | **75.5%** | Oui,/Bonne | *(see gen log)* | *(see gen log)* | | |
| PASS vs prior same-step 880 (0.620→0.593). Still not coherent dialogue. Next: more LR-decay chunks OR try ep10000 alone — not both. | |
| ## Latest (branch `ms1M-continue-d32`, 2026-09-21) | |
| Resume from highest GH weight **736k** (1080k/872k/1M `.pt` absent on remote; docs only). | |
| - **744k**: val **0.821/2.27**, teacher **73.8%**, gen `Oui,` / `Je `, ~50 tps. Probe 3500 pending. | |
| - Loop running toward **1500k**, exact original recipe, 0 patches. | |
| ## Active line: d32 on s21 + s7 = 1M ms1M (this branch) — NEW RACE PROOF | |
| Grown from the d16 tip (`tools/grow_checkpoint.py`, Net2Net-style), | |
| training on `data/corpus_fr_medium*.txt` = s21 500k + s7 500k = 1M. | |
| Now 1080k = 1M COMPLETE + 80k 2nd epoch. | |
| Recipe per 8k chunk: byte-tick, last-atom readout, dentate, MERGE off, | |
| payload-copy off, hard obligatory readout, `--efference-every 10`, | |
| `--episode-reset --episode-length 8000` (was 6000 until 48k, 8000 sweet spot since 56k, tested 12000 worse), `--field-contrast-weight 0` | |
| (dead hinge, cut), LR 5e-5/1.2e-4, `--atom-flush-every 64` mandatory. | |
| **v2 proof: infinite, growable, CPU-scalable, live-modifiable** | |
| - Growable: d16 120k → d32 → d64 via `grow_checkpoint.py` same lineage | |
| - Infinite learning: stream + loop-shards + skip-packets, no replay, no forgetting, teacher 56%→75.2% | |
| - CPU-scalable: 37-50 tps d32 CPU, no attention O(n), 10-100x on GPU | |
| - Live-modifiable: .pt infinitely trainable on CPU after GPU pre-train, live survey via probes | |
| | step | val (ppl) | teacher | note | | |
| |------|-----------|---------|------| | |
| | 8k | 1.765 (5.84) | 56.0% | knowledge transfers in 1 chunk | | |
| | 16k | 1.585 (4.88) | 61.3% | primed = d16 best | | |
| | 24k | 1.507 (4.51) | 61.3% | loop phase (attractor, not regression) | | |
| | 32k | 1.490 (4.44) | **63.0%** | ties d16 best | | |
| | 40k | 1.417 (4.13) | **64.7%** | record s21, loop `pre` persists but val↓ teacher↑ | | |
| | 48k | 1.523 (4.59) | **67.5%** | val↑ but teacher record, free-run spaces det / `Pe que vec toi.` sampled | | |
| | 56k ep8000 | 1.479 (4.39) | 64.5% | **both regimes FR** `Tu ?\nAssistant: Tu ?\nAs` primed, cold `Peeur: ?\nAssistant: Pe` — dosage test | | |
| | 64k ep8000 | 1.432 (4.19) | 66.5% | **cold best** `Tu ?\nAssistant: Tu ?\nAs` = d16 112k, primed `plais` loop but FR | | |
| | 72k ep8000 | 1.889 (6.61) | 66.0% | `plaisateur` both regimes FR, val spike (2nd epoch) | | |
| | 80k ep8000 | 1.791 (6.00) | 65.5% | cold `?\nAssistant: Tu ?`, primed `d'acco` fragment (new word) | | |
| | 88k ep12000 | 1.842 (6.31) | 64.0% | ep12000 worse: `pen pen` loop, val↑ teacher↓ — ep8000 sweet spot | | |
| | 96k ep8000 | 1.809 (6.11) | 66.0% | retour ep8000: `vec toi ?\nAssistant:` FR | | |
| | 104k ep8000 | 1.706 (5.51) | 67.0% | **both regimes perfect** `Tu ?\nAssistant: Tu ?\nAs` primed | | |
| | 112k ep8000 | 1.645 (5.18) | **69.0%** | teacher record, val ↓ trend, `plainuo`/`Pe ven` | | |
| | 120k ep8000 | 1.716 (5.56) | 66.5% | `Ouisateu`/`Je veur:`/` d'accor` (d'accord returns) | | |
| | 128k ep8000 | 1.677 (5.35) | 67.2% | primed ` Tu plus.\n\n` clean stop | | |
| | 136k ep8000 | **1.370 (3.93)** | 68.2% | **val rec s21**, cold+primed perfect `Tu ?\nAssistant: Tu ?\n` | | |
| | 144k ep8000 | **1.365 (3.92)** | 66.2% | **val rec**, both perfect `Tu ?\nAssistant: Tu ?\nAs`, `Parle v` | | |
| | 152k ep8000 | 1.477 (4.38) | 67.5% | primed ` D'accord ?\nAssistant: D` full D'accord | | |
| | 160k ep8000 | **1.346 (3.84)** | 67.0% | **val rec beats d16 1.352**, d32 > d16, `Parle q`/`Je ve` | | |
| | 168k ep8000 | 1.364 (3.91) | 68.0% | cold `Tu veur:`, `Parle ?`/`Je qu'e` | | |
| | 176k ep8000 | 1.383 (3.99) | 68.0% | `Peur:`, `?\nAssistant: Tu` | | |
| | 184k ep8000 | 1.399 (4.05) | 67.0% | primed `D'accord ?` returns, `Je toi,` | | |
| | 192k ep8000 | 1.423 (4.15) | 67.7% | cold `vais d'accord ?`, primed `Ouis d'accord ?`, `Parle Q` | | |
| | 200k ep8000 | **1.063 (2.90)** | 67.2% | **HUGE rec**, primed ` Oui, Et toi ?\nAssistan` best FR, `Je vais`/`Je vaiss` | | |
| | 208k ep8000 | **1.055 (2.87)** | 68.0% | **NEW rec** beats 1.063, cold `vec vais d'accord ?`, `Bon Qu'`/`Oui ?\nAs` | | |
| | 216k ep8000 | 1.086 (2.96) | **69.0%** | teacher tie rec, cold `toi ?\nAssistant: toi` perfect | | |
| | 224k ep8000 | 1.077 (2.94) | 66.5% | `Tu toi`, `Bonnt to`/`Peur: t`/`Bon moi` | | |
| | 232k ep8000 | **1.027 (2.79)** | 68.2% | **NEW rec** beats 1.055, cold ` toi.\n\n` clean stop, `Je s.\n\n` | | |
| | 240k ep8000 | 1.042 (2.84) | 67.7% | `?\nAssistant: Tu`, `Bon ?\nA`/`Bon Tu`/`sesta` | | |
| | 248k ep8000 | **1.025/2.79** | 66.5% | **NEW rec** beats 1.027, `toi`/`Et toi`, `Je Qu'`/`suis d'` | | |
| | 256k ep8000 | 1.133/3.10 | 68.8% vow 72% rec | `Tu`, `Bon, je` | | |
| | 264k ep8000 | 1.188/3.28 | **70.5%** | **teacher NEW rec** vow 73%, `vais d'accord ?`/`Et toi,` | | |
| | 272k ep8000 | 1.256/3.51 | 69.8% punct 72% rec | `vais d'accord ?`, `Je s.\n\n` | | |
| | 280k ep8000 | 1.264/3.54 | 68.5% punct 72% tie | `Tu`, `: Tu`/`Peur::` | | |
| | 288k ep8000 | 1.112/3.04 | 70.3% | `Tu`, `Oui,\nAs`/`Je Tu` | | |
| | 296k ep8000 | 1.123/3.07 | 68.5% | `Tu`, `Bon vai`/`Bonne` **Bonne** | | |
| | 304k ep8000 | 1.105/3.02 | 69.3% | spaces (attractor returns) | `: toi`/`Je es` | | |
| | 312k ep8000 | 1.147/3.15 | 70.0% vow 74% rec | `soir,` **new word** | `Je saan`/`Oui, toi` **perfect** | | |
| | 320k ep8000 | 1.089/2.97 | 70.3% vow **75% NEW REC** | spaces | `Ouis to`/`Oui,`/`Bon,` | | |
| | 328k ep8000 | **0.753/2.12** | 69.0% | **both perfect** `suis d'accord ?\nAssist` both, `Bonne e` | **HUGE val rec beats 1.025** | | |
| | 336k ep8000 | 0.854/2.35 | 69.5% | spaces | `Avec to`/`Peur::` | | |
| | 344k ep8000 | 0.866/2.38 | 68.5% | spaces | `Bons.\n\n` clean stop | | |
| | 352k ep8000 | 0.837/2.31 | 69.3% punct 75% rec | spaces | `Je`/`Oui,` | | |
| | 360k ep8000 | 0.833/2.30 | 67.7% | spaces | `Peurrdi,` | | |
| | 368k ep8000 | 0.889/2.43 | 69.0% | spaces | `Peurr.\n\n` clean stop | | |
| | 376k ep8000 | 0.880/2.41 | **70.8% NEW REC** | `Je toi`/`Avec to` | teacher 70.8% NEW REC | | |
| | 384k ep8000 | 0.893/2.44 | 69.5% | `Je`/`Bon,` | spaces | | |
| | 392k ep8000 | 0.870/2.39 | 69.3% vow 73.6% | `Bon es`/`Bon,` | Bon es | | |
| | 400k ep8000 | 1.480/4.39 | 70.5% tie rec | `Je tu`/`Peurr:::`/`Bonttteu` | val regression but teacher tie rec | | |
| | 408k ep8000 | 1.435/4.20 | 70.8% tie rec | `Peurre`/`Je`/`Bonne` | Bonne | | |
| | 416k ep8000 | 1.480/4.39 | 68.8% | `D'accord` x2 | **D'accord emergence** | | |
| | 424k ep8000 | 1.389/4.01 | 69.8% | `Peurr.\n\n`/`Je` | Peurr. clean stop | | |
| | 432k ep8000 | 1.427/4.17 | **71.0% NEW REC** | `Bonne` x2/`Je` | teacher 71% NEW REC | | |
| | 440k ep8000 | 1.437/4.21 | 71.0% tie rec vow 74.4% | `Je es`/`Peurr:::`/`Je` | | | |
| | 448k ep8000 | 1.514/4.55 | **71.3% NEW REC** | `Peurr:::` x2/`Peurr.` | teacher 71.3% NEW REC | | |
| | 456k ep8000 | 1.408/4.09 | 70.8% | `Peurrle`/`Je toi` | | | |
| | 464k ep8000 | **0.785/2.19** | 71.3% tie rec | `Ouis`/`Oui,`/`Bonne` | **val 0.785 HUGE ↓**, Oui, Bonne | | |
| | 472k ep8000 | **0.747/2.11 NEW REC** | **72.5% NEW REC** cons 69.3% NEW | `Peurréc`/`Peurr..` | val 0.747 NEW REC beats 0.753, teacher 72.5% NEW, cons 69.3% NEW | | |
| | 480k ep8000 | **0.721/2.06 NEW REC** | 71.3% | `Peurr`/`Je`/`D'accord` | val 0.721 NEW REC, D'accord returns | | |
| | 488k ep8000 | 0.721/2.06 tie | 71.3% | `Bon,`/`Je`/`Oui,` | Bon, Oui, | | |
| | 496k ep8000 | **0.689/1.99 NEW REC** | 72.5% tie rec vow 75.2% NEW | `Peurréc`/`Peurrle`/`Peurr:::` | **val 0.689 RECORD**, vow 75.2% NEW REC | | |
| | 504k ms1M (s21+s7, skip0) | 1.089/2.97 | ~71% | `D'accord`/`Peux`/`D'accord` | **multi-shard long 1M start**, D'accord+Peux | | |
| | 512k ms1M | 1.045/2.84 | ~71% | `Peurréc`/`Bons`/`Bonttteu` | | | |
| | 520k ms1M | 1.098/2.99 | ~71% | `Bon`/`Bonne`/`Peurra.` | Bonne | | |
| | 528k ms1M | 1.19/3.28 | ~71% | `Bonne` x3 | Bonne | | |
| | 536k ms1M | 1.084/2.95 | ~71% | `Peut-`/`Peurris`/`Bon` | Peut- | | |
| | 544k ms1M | 1.018/2.76 | ~71% | `Avec` x3 | **Avec** | | |
| | 552k ms1M | 1.03/2.80 | ~71% | `Oui,` x3 | Oui, | | |
| | 560k ms1M | **0.997/2.71** | **73.0% NEW REC** (vow 73.6% cons 66.9% sp 89.4% nl 92.9% punct 72.2% other 62.5%) | `Oui,`/`Oui,`/`Avec` | **val <1.0**, teacher 73% NEW REC, Oui,/Avec | | |
| | 568k ms1M | 1.055/2.87 | ~71% | `Peurréc`/`Peurra..`/`Peurréc` | | | |
| | 576k ms1M | 1.09/2.97 | ~71% | `Peurrle`/`Oui,`/`Avec` | Oui,/Avec | | |
| | 584k ms1M | 1.091/2.97 | ~71% | `Peut-`/`Peux`/`Peurr..` | Peut-, Peux | | |
| | 592k ms1M | 1.163/3.20 | ~71% | `Peurréc`/`Peut-être`/`Oui,` | **Peut-être returns** | | |
| | 600k ms1M | 1.099/3.00 | 70.5% | `Peut-`/`Peux`/`Peut-` | Peut-, Peux | | |
| | 608k ms1M | 1.031/2.80 | ~71% | `Peut-être`/`Peux`/`Peurra.` | Peut-être/Peux/Peurra. | | |
| | 616k ms1M | 1.032/2.80 | ~71% | `Peux`/`Peut-`/`Peurra..` | Peux/Peut- | | |
| | 624k ms1M | 1.045/2.84 | ~71% | `Peuu`/`Peux qu'`/`Peuu` | **Peux qu' returns** | | |
| | 632k ms1M | 1.645/5.18 | ~71% | `Bonne`/`Oui,`/`Bonne` | Bonne/Oui, spike | | |
| | 640k ms1M | 1.45/4.26 | ~71% | `Oui,`/`Je`/`Je` | Oui,/Je | | |
| | 648k ms1M | 1.37/3.94 | ~71% | `Je`/`Avec`/`Je` | Avec | | |
| | 656k ms1M | 1.579/4.85 | ~71% | `Peux`/`Oui,`/`Je` | Peux/Oui, | | |
| | 664k ms1M | 1.511/4.53 | ~71% | `Oui,`/`Bon`/`Oui,` | Oui,/Bon | | |
| | 672k ms1M | 1.469/4.34 | ~71% | `Je`/`Bons..`/`Je` | **Bons.. clean stop** | | |
| | 680k ms1M | 1.498/4.47 | ~71% | `Parler,`/`Peurr..`/`Bonne` | **Parler, NEW WORD** | | |
| | 688k ms1M | 1.423/4.15 | ~71% | `Je`/`Oui,`/`Avec` | | | |
| | 696k ms1M | **0.874/2.39** | ~71% | `Peut-être`/`Peut-être`/`Peurra.` | **val 0.874 HUGE ↓**, Peut-être | | |
| | 704k ms1M | 0.868/2.38 | ~71% | `Peut-ili`/`Peurra..`/`Peut-ili` | **Peut-ili NEW** | | |
| | 712k ms1M | **0.796/2.21** | ~71% | `Peut-ili`/`Peuu`/`Peurra..` | val 0.796 ↓ | | |
| | 720k ms1M | 0.841/2.31 | ~71% | `Peurra.`/`Peux`/`Peux` | | | |
| | 728k ms1M | 0.852/2.34 | ~71% | `Peut-êt`/`Peux qu'`/`Peurra.` | Peux qu' | | |
| | 736k ms1M | 0.853/2.34 | ~71% | `Oui,`/`Je`/`Bons..` | Bons.. | | |
| | 744k ms1M | 0.821/2.27 | ~71% | `Oui,`/`Je`/`Oui,` | | | |
| | 752k ms1M | 0.865/2.37 | ~71% | `Je`/`Je`/`Bonne` | | | |
| | 760k ms1M | 0.785/2.19 | ~71% | `Je`/`Je`/`Peuu` | | | |
| | **768k ms1M** | **0.679/1.97 NEW RECORD** beats 0.689 | ~71% | `Oui,`/`Peux qu'`/`Peut-êt` | **val 0.679 NEW RECORD**, Oui,/Peux qu'/Peut-être | | |
| | 776k ms1M | 0.727/2.06 | ~71% | `Peurra.`/`Je`/`D'accord` | D'accord returns | | |
| | 784k ms1M | 0.744/2.10 | ~71% | `Je end`/`D'accord`/`Je` | Je end/D'accord | | |
| | 792k ms1M | 0.762/2.14 | ~71% | `Peurra.`/`Peurra..`/`Avec` | Peurra./Avec | | |
| | 800k ms1M | 0.740/2.09 | ~71% | `Peux`/`Peut-ait`/`Je tu` | **Peut-ait NEW**, Je tu | | |
| | 808k ms1M | 0.749/2.11 | ~71% | `Bonne` x3 | Bonne collapse | | |
| | 816k ms1M | 0.729/2.07 | ~71% | `Je sui`/`Je sui`/`Bonne` | **Je sui** emerging | | |
| | 824k ms1M | **0.579/1.78 NEW REC** | 72.8% | `Je il`/`Je il`/`Je` | **val 0.579 NEW REC**, Je il | | |
| | 832k ms1M | 0.632/1.88 | ~71% | `Peuu''''`/`Bon`/`Avec` | Bon/Avec | | |
| | 840k ms1M | **0.574/1.77 NEW REC** | ~71% | `Peut--`/`Peurra..`/`Je` | **val 0.574 NEW REC**, Peut-- | | |
| | 848k ms1M | 0.615/1.85 | ~71% | `Bonne` x3 | Bonne | | |
| | 856k ms1M | **0.554/1.74 NEW REC** beats 0.579 | **73.0% tie REC** | `Peut-êt`/`Peux`/`Oui,` | **val 0.554 NEW REC**, Peut-êt/Peux/Oui, | | |
| | 864k ms1M | 0.574/1.77 | ~71% | `Oui,`/`Oui,`/`Peuu` | Oui,/Peuu | | |
| | 872k ms1M | **0.551/1.73 NEW REC** beats 0.554 | **74.3% NEW REC** (vow 77.5% cons 66.9% sp 87.2% nl 92.9% punct 77.8%) | `Je tu`/`Oui,`/`Avec` | **val 0.551 NEW REC**, **teacher 74.3% NEW REC**, Je tu/Oui,/Avec | | |
| | 880k ms1M | 0.618/1.85 | ~71% | `Oui,`/`Oui,`/`Bonne` | Oui,/Bonne | | |
| | 888k ms1M | 0.576/1.77 | ~71% | `Peut-ais`/`Peut-ais`/`Bonne` | **Peut-ais NEW**, Bonne | | |
| | 896k ms1M | 0.869/2.38 | ~71% | `Oui,`/`Oui,`/`Peurre` | spike Peurre | | |
| | 904k ms1M | 0.892/2.44 | ~71% | `Je`/`Oui,`/`Peut--` | spike Peut-- | | |
| | 912k ms1M | 0.829/2.29 | ~71% | `Je`/`Je i`/`D'''''''` | descending | | |
| | 920k ms1M | 0.855/2.35 | ~71% | `Je`/`Je i`/`D'''''''` | Je/Je i/D'''' | | |
| | 928k ms1M | 0.798/2.22 | ~71% | `Oui,`/`Oui,`/`Je` | Oui,/Je | | |
| | 936k ms1M | 0.797/2.22 | ~71% | `Je`/`Je`/`Peuu` | Je/Peuu | | |
| | 944k ms1M | 0.880/2.41 | ~71% | `Oui,`/`Oui,`/`D''''acc` | D''''acc | | |
| | 952k ms1M | 0.787/2.19 | ~71% | `Oui,`/`Oui,`/`Peurra..` | Oui,/Peurra.. | | |
| | 960k ms1M | 1.359/3.89 | ~71% | `Peux`/`Peux qu'`/`Bon` | **Peux qu' returns**, spike | | |
| | 968k ms1M | 1.372/3.94 | ~71% | `Peux`/`Peuueerr`/`Peurra..` | spike Peuueerr | | |
| | 976k ms1M | 1.497/4.47 | ~71% | `Bonne`/`Bonne`/`Avec` | Bonne/Avec spike peak | | |
| | 984k ms1M | 1.447/4.25 | ~71% | `Peut-`/`Peut-`/`Oui,` | Peut-/Oui, | | |
| | 992k ms1M | 1.330/3.78 | ~71% | `Peut-` x3 | Peut- x3 | | |
| | **1000k ms1M** | 0.986/2.68 | **75.2% NEW REC** (vow 76.7% cons 70.5% sp 83% nl 92.9% punct 77.8% other 62.5%) | `Je`/`Bon`/`Oui,` | **1M COMPLETE**, **teacher 75.2% NEW REC**, Je/Bon/Oui, field_rms primed 0.87 | | |
| | 1008k ms1M 2nd epoch | 0.874/2.39 | ~71% | `Peut--`/`Oui,,`/`Peut-auc` | **Peut-auc NEW**, Peut--/Oui,, | | |
| | 1016k ms1M | 0.847/2.33 | ~71% | `Bont`/`Bonne`/`Peut-au.` | Peut-au. | | |
| | 1024k ms1M | 0.955/2.59 | ~71% | `Peut-êt`/`Peut-êt`/`Peurra..` | Peut-êt/Peurra.. | | |
| | 1032k ms1M | 0.994/2.70 | ~71% | `Bonne` x3 | Bonne | | |
| | 1040k ms1M | 0.963/2.62 | ~71% | `Oui,`/`Bon`/`Oui,` | Oui,/Bon | | |
| | 1048k ms1M | 0.846/2.33 | ~71% | `Peux`/`Je il`/`Avec` | **Je il returns**, Peux/Avec | | |
| | 1056k ms1M | 0.846/2.33 | ~71% | `Oui,`/`Oui,`/`Peuue` | Oui,/Peuue | | |
| | 1064k ms1M | 0.894/2.44 | ~71% | `Oui,`/`Oui,`/`D'accord` | **D'accord returns** | | |
| | 1072k ms1M | 1.017/2.76 | ~71% | `Peurra..`/`Peuu`/`Bonne` | Peurra../Bonne | | |
| | 1080k ms1M | 1.036/2.81 | 74.8% | `Peuu''''`/`Peut-ili`/`Bon,` | **Peut-ili returns**, field_rms primed **1.06 NEW HIGH**, ids/idi | | |
| Tips: `..._872k_ms1M.pt` (**val 0.551 NEW RECORD** beats 0.679, Je tu/Oui,/Avec), `..._1000k_ms1M.pt` (**teacher 75.2% NEW REC** beats 74.3%, Je/Bon/Oui,), `..._1080k_ms1M.pt` (teacher 74.8%, field_rms primed 1.06 NEW HIGH, Peut-ili returns), `..._856k_ms1M.pt` (val 0.554, Peut-êt/Peux/Oui,), `..._680k_ms1M.pt` (**Parler, NEW WORD**), `..._704k_ms1M.pt` (**Peut-ili NEW**), `..._800k_ms1M.pt` (**Peut-ait NEW**), `..._888k_ms1M.pt` (**Peut-ais NEW**), `..._1008k_ms1M.pt` (**Peut-auc NEW**) (latest ms1M 1080k val 1.03 teacher 74.8% field_rms 1.06) | |
| (previous: `..._d16_120k_epr4.pt`, val 1.352 / teacher 63.2%). Recipe: ep-8000 original, no patches, val 0.689→0.551→0.986→1.03 over 584k ms1M (496k→1080k), teacher 72.5%→75.2% NEW REC, structure: Peut-être/Peux → Peux qu' → Avec → Parler, → Peut-ili → Peut-ait/Je sui/Je il/Peut-ais → Peut-auc/Peut-au./Je il/D'accord/Peut-ili + clean stop `irra..\n\n` @1M cold, field_rms primed 0.26@560k→0.43@768k→0.62@872k→0.87@1M→1.06@1080k scaling towards 3.0, spaces attractor weakening but ids/idi fragment @1080k. Corpus 1M (s21+s7), 1080k/1M = 108% = second epoch 80k in. Best val 0.551 @872k ms1M, best teacher 75.2% @1M, best field_rms 1.06 @1080k. Next: continue ms1M 1080k→1.5M second epoch or LR decay or dosage ep10000 to break remaining spaces attractor. | |
| Full narrative: `docs/SESSION_2026-09-20.md`. | |
| Numbers: `docs/MEASURE_LOG.md`. Train: `TRAIN.md`. | |
| ## Next (one at a time) | |
| 1. Continue ms1M 1080k→1.5M second epoch same recipe (pure scaling) | |
| 2. If spaces attractor persists: dosage ep-10000 or LR decay 3e-5/7.2e-5 single variable | |
| 3. Corpus runway: 10s GB on GPU ultra-fast, then on-demand CPU teach from same .pt | |
| 4. Do **not** reopen payload-copy, MERGE retune, replay, contrast, 3.5M resume. Do not declare fluent. Do not stack mechanisms. | |
| ## Banned | |
| HF tokenizer on live path · attention/DDP/vocab farm · field wipe for CE · | |
| stacking multiple new mechanisms in one train · declaring fluent · | |
| force-push · stray `.pt` in git (release via `checkpoints/RELEASE/` only). | |
| --- | |
| # Archive — 2026-09-18 3.5M line (do not mix with byte-tick) | |
| The previous STATUS body (payload-copy / MERGE / 3.508M / logits 0.999) | |
| is kept in git history and in the speech-era docs that falsified those | |
| levers (`docs/ATOM_PAYLOAD_PROD.md`, `docs/ALPHA_LOCAL_COPY.md`, | |
| `docs/LINGUISTIC_SPANS.md`). Do not resume that line for speech. | |