atom-ai / docs /MEASURE_LOG.md
thefinalboss's picture
ATOM (atom-ai): code snapshot (100fae0 + batched-train), README with measured numbers, curated checkpoints
9f1076a verified
|
Raw History Blame Contribute Delete
25.1 kB

ATOM speech cuts — measured log

Sandbox: d=16→d32, byte-tick, CPU ~37–72 tick/s. One mechanism per row. No fluency claim yet — but scaling real.

Pass rule: two prompts emit ≥4 Latin letters and the strings differ.

Free-run aux L_roll probe (2026-09-23, ms1M-continue-d32)

Lever: multi-tick free-run CE (--free-run-aux-every 10 --free-run-aux-horizon 4 --free-run-aux-weight 1.0, default OFF). Tip baseline: *_d32_ms1M_lrd.pt @3764k. Probe suffix *_frroll.pt (live 5M train_until_coherent untouched; --allow-parallel-train). Recipe otherwise = ms1M lrd (d32, hard, no-merge, last-atom-readout, field-loss 0.05).

tip cut honest probe chat scraps la/α RMS mean note
3764k baseline lrd (no L_roll) identical Oui,,\n'uuttilisateur:::: PASS=False all Bonne / uuttilisateur 2.02 single attractor
3764k→+4k frroll L_roll H=4 /10 distinct (Bonne suis… / Oui,, ends… / Oui,,…accord / Bonne idi…ilisateur) PASS=True diversifies (Peut-- re…, Bonne parle…, Bonne ques…) 3.15 attractor broke; not fluent
3800k→+8k lascale L_roll + S=0.15 distinct (Bon en…Assistant / Bon en re…eti) PASS=True scrap (ne en pen…, ne ien en…, ne ien…) — no Peut-être 3.51 (scaled; raw la≈58.9) Peut-être attractor broke; dual Bon-en basin; α_rms fell ~7.4→2.5 so la still ~3.5×; not fluent; ckpt *_3808000_*_lascale.pt (800 L_roll fires, val byte_ppl≈3.37)
3768k→+32k frroll (→3800k) same L_roll collapsed identical Peut-être re ends d'acc PASS=False still scrap-diverse (Bonne is rès d'accord…, Comment t'accord…, e rends…ilisateur) 6.54 re-collapsed to new phrase attractor; chats not fully collapsed; la dominates more; not fluent; ckpt atom_native_step_3800000_d32_ms1M_frroll.pt (32k steps, 3200 L_roll fires, 1.77 tick/s, val byte_ppl≈1.91)

FR read: +4k briefly unlocked prompt-distinct debris; extending to +32k did not push toward fluent phrases — probe diversity reversed into a stronger shared Peut-être… basin while last_atom/α logit RMS rose (~2→6.5). Live 5M lrd continued in parallel (untouched).

Next lever --last-atom-scale 0.15 (+8k from 3800k frroll, L_roll still on): broke the Peut-être basin (PASS=True, two Bon en… scraps) but chats degraded toward letter-soup; scaled la/α mean 3.51 (not ~1 — α_rms shrank). Not fluent. Live 5M untouched.

step cut train loss wrap generate (honest) note
8–13k span-16 6.1–6.9 soup / T T T contract wrong
10k byte-tick 2.70 space / newline CE works, unigram
20k last-atom readout 1.68 tis tis tis letters exist
24k + φ oscillatory binding 5.09→4.67 te te te more letters, less diversity
28k-r + replay high-CE 2.99→0.008 tis/pisi quarantine — ring memorized
28k-e + efference from 24k 2.99→4.82 tail Je first lexical Je
32k + dentate 2-gram 2.41→5.37 wrap all Je / Je tenta Je attractor
36k-cont same cut continue 2.95→5.54 Je Je Je worse — do not resume
32k + n-gram anti-repeat decode only — Je Jestiste / Je pe te pe ? best chat; weights untouched
36k-big 32k + 223 kB combo 2.95→1.61 Je pe tisilisi best CE since last-atom
39.5k-hf 36k-big + CATIE FR 180 kB 4.67→3.49 pe Je pe Jis te external chat domain

Resume

Speech tip for generate: 32k dentate + n-gram anti-repeat in generate_packets. Train tip for more data: 36k-big or **39.5k-hf`. Never resume 28k-replay or 36k-cont.

Ligne A — medium FR corpus, payload-off, uncapped hard mix (2026-09-19)

Sandbox: d=16/n=16/64, max-span 4, stream, hard, MERGE off, payload-copy off, hard mix = obl·α-MLP + 0.3·frozen (RMS cap removed), span-level n-gram anti-repeat. Corpus: data/corpus_fr_medium.txt (500 kB procedural FR dialogue). Probe: tools/probe_speech.py. ~20–40 tick/s. No fluency claim — debris.

step train byte_ppl val byte_ppl det. probe + anti-repeat note
4k ~11 21.3 \nsi \nsi … (single attractor) vowels+spaces exist
8k ~11 21.4 ssi ssi … / \nsin … diverse across prompts
12k ~11 23.3 ssi→sse→se sibilant ladder
16k ~10 143.3 ssa / ssat val spike = cold-field ring artifact
20k ~10 49.0 sat est satsuas first real word est
24k ~10 50.2 tuat / uut / uat / ent (prefix retrain)
28k ~10 44.4 uat / ent / ois / uit / sit teacher vowel acc 9.5%
32k ~42→ 30.3 sai / sai / eit fresh data (skip 4k)
36k ~19 33.3 sai / sut / uit fresh data (skip 8k)
40k ~15 27.1 uateeai / eiteou / …tesisirs long varied chains
44k ~19 24.0 eitet / eitsun / eite fresh data (skip 16k)
48k ~21 23.9 uiteuui / eiteua / reri teacher vowel acc 14.7%

Findings:

  • Train/chat payload mismatch: copy ON at train, OFF at chat gave consonant cycles, copy ON gave vowels — copy was crutch. Fixed by training with --no-payload-copy.
  • Chained --resume chunks re-trained same prefix; fixed with --stream-skip-packets.
  • Old hard checkpoints (capped mix, copy-on) invalid under new forward.

Ligne B — byte-tick + last-atom readout + dentate (2026-09-19/20)

Sandbox: d=16/n=16/64, max-span 1, stream 64 kB chunks, hard, MERGE off, payload-copy off, last-atom readout (2-gram + dentate top-25% + φ). Logits = obl·α-MLP + 0.3·frozen + last-atom. ~48–55 tick/s. No fluency claim — debris with words.

step val byte_ppl det. probe + anti-repeat note
4k 20.3 te re tes ts ti bigram attractor
8k 11.5 de decisateur / dUtilisateur dialogue skeleton: roles
12k 9.3 de reur / iecisateur role fragments
16k 7.9 de reur / outilisateur near-words
24k 7.0 Tu ou uu tou pronoun Tu
32k 6.3 Tu pe tont / Tu ont Tu attractor
40k 5.8 Tu eur / moi tour / mon pe moi/mon emerge
48k 5.3 Tu pe toi ? / Assisateur questions + ?
56k 5.1 tout Oui / Assistant: Tu toi ? correct roles
64k 5.2 Ouisateur: Ouisateur: … attractor relapse
72k 4.2 Tu pe toi ?\nAssistant: Tu pe toi ? best chat: full turns

Teacher-forcing @72k (400 fresh transitions): byte acc 59.5% (vowels 64%, consonants 53%, spaces 83%, newlines 100%, punct 28%). Best chat = atom_native_step_72000_btick.pt.

Ligne B++ — efference copy + le mirage du collapse (2026-09-20)

Efference (bridge #9): --efference-every 10, 1 tick/10 = predict own byte (no-grad) → commit → CE on gold next. 4 tests in test/test_efference.py, ~0% tps cost, 800/8000 eff ticks verified.

step val byte_ppl cold probe (40-pkt prompt) primed probe (saturated field)
80k eff 3.9 (record 1.42) toi ssistant: —
82k eff — toi to tant: on plus (best cold) —
88k eff 4.5 �FF�e� { binary Tu vec toi ?\nAssisateur FRENCH
88k no-eff (A/B) — �FF��FF garbage �e�r�\nUtilisateur: … mixed
88k no-contrast — �FF�e� { bit-identical to eff Tu vec toi ?\nAssisateur bit-identical
96k eff 4.3 �on plustant: … mixed Tu vec toi.\n\n FRENCH + clean stop

Le collapse 88k est un mirage de mesure (régime de champ), pas un dégât. Preuves: A/B sans efference → même soupe, logits 88k plats dès t0 (H=3.67 vs 0.02), α identique 80k/88k → readout seul coupable, 80k α-MLP transplanté dans 88k → français restauré, drift fc2 cos=+0.976 linéaire, ' ' peak +4.4 survit mais MLP booste +2..+3 sur octets poubelle, primer 1500 octets (rms 3.0 = training regime) → 88k parle français. Diagnosis: α-MLP sur-apprend régime saturé, cold probe rms 0.06 OOD. Fix: --episode-reset + contrast 0 cut.

Cut episode-reset (2026-09-20) : 96k→104k, ep-2000 + contraste 0

4 épisodes/chunk (~850 transitoire + ~1150 saturé). Val 1.54→1.477 (ppl 4.13). Cold: toi ?\nAssistant: toi; primed: pen pen… boucle. Teacher span-1 59.8% (punct 22→33%). Note: diagnose_teacher défaut span-4 donne ~22% sur byte-tick; toujours --max-span-bytes 1. Vitesse ~50 tps.

112k ep-4000 : le compromis deux-régimes existe (2026-09-20)

104k→112k, --episode-length 4000 (~20% transitoire). Val 1.423/ppl 3.90 (record égalé), teacher 61.3% (cons 56%, punct 36%). Cold: Tu toi ?\nAssistant: Tu; primed: Tu ?\nAssistant: Tu ?\nAs — français dans les deux régimes, sans boucle. Tip: atom_native_step_112000_epr4.pt.

120k : fin du d16 (2026-09-20)

112k→120k identical. Val 1.352/ppl 3.65 (record), teacher 63.2% (record). Cold toi ?\nAssistant: men; primed Je snsestant: plaistan. Corpus seed-7 vu à 24%.

d=32 par croissance (2026-09-20) : tools/grow_checkpoint.py

Net2Net préservant: lignes doublées tuilées+bruit, colonnes doublées zero-pad (sorties anciennes exactes), embeddings tuilés+bruit, JL entrelacé + frozen grown (branche α exacte sur α tuilé). 3 itérations: tile+noise naïf (×2 magnitudes → soupe), preserve (primed latin T T T), +JL/frozen exact (paradoxalement pire: trajectoire α d32 diffère — saturation à 3000 pas au lieu de ~850 — donc fonction exacte ≠ même comportement: champ et readout co-adaptés). Leçon: pas de init miracle, training ré-adapte (1 chunk suffit). Règle d'épisode d32: ep-6000 (2× saturation).

d32 sur corpus s21 (seed 21, 500k frais, 2026-09-20) + ms1M (s21+s7=1M)

step (s21) val teacher cold primed (3.5k)
grown (init) — — soupe soupe (rms 0.8)
8k 1.765/5.84 56.0% (punct 47%) espaces/? Distant: Distant: rôles !
16k 1.585/4.88 61.3% Ouistant: … rôles à froid Tu ?\nAssistant: Tu ? = best d16
24k 1.507/4.51 61.3% (cons 60%, \n 93%) Oun plaistant:… (boucle) Tu plaistant:… (boucle)
32k 1.490/4.44 63.0% (voy 68%, punct 50%) ?\nAssistant:… (boucle motif) Oui, que pre pre… (boucle)
40k 1.417/4.13 64.7% (voy 67%, cons 60%, sp 81%, nl 93%, punct 53%) On pre ?\nAssistant: On (boucle pre) On pre vec pre vec pre (boucle pre vec)
48k 1.523/4.59 67.5% spaces det + Pe ?\nAs / Tu ?\nAssistant: spaces / Pe que vec toi.
56k ep8000 1.479/4.39 64.5% Peeur: ?\nAssistant: Pe Tu ?\nAssistant: Tu ?\nAs FR both regimes
64k ep8000 1.432/4.19 66.5% Tu ?\nAssistant: Tu ?\nAs best cold = d16 112k Tu plaisateur: Tu plais
72k ep8000 1.889/6.61 66.0% Tu plaisateur: Tu plai Tu plaisateur: Tu plais
80k ep8000 1.791/6.00 65.5% ?\nAssistant: Tu ?\nAssi Tu pent: Tu pes d'acco
88k ep12000 1.842/6.31 64.0% ?\nAssistant: ?\nAssist Tu vec pen pen pen pen
96k ep8000 1.809/6.11 66.0% ?\nAssistant: ?\nAssist Tu vec toi ?\nAssistant:
104k ep8000 1.706/5.51 67.0% ?\nAssistant: Tu ?\nAssi Tu ?\nAssistant: Tu ?\nAs perfect both
112k ep8000 1.645/5.18 69.0% ?\nAssistant: ?\nAssist Tu vec plaisateur: Tu v
120k ep8000 1.716/5.56 66.5% Tu Tu Tu Tu Tu Tu vec plaisateur: Tu
128k ep8000 1.677/5.35 67.2% ?\nAssistant: ?\nAssist Tu plus.\n\n clean stop
136k ep8000 1.370/3.93 68.2% Tu ?\nAssistant: Tu ?\n perfect + clean stop Tu ?\nAssistant: Tu ?\nA perfect
144k ep8000 1.365/3.92 66.2% Tu ?\nAssistant: Tu ?\nAs perfect both Tu ?\nAssistant: Tu ?\nAs perfect both
152k ep8000 1.477/4.38 67.5% ?\nAssistant: ?\nAssist D'accord ?\nAssistant: D D'accord full
160k ep8000 1.346/3.84 67.0% ?\nAssistant: ?\nAssist Tu vec vec plaisateur:
168k ep8000 1.364/3.91 68.0% ?\nAssistant: Tu veur: Tu veur: Tu Tu Tu T
176k ep8000 1.383/3.99 68.0% ?\nAssistant: Tu Tu veur:
184k ep8000 1.399/4.05 67.0% ?\nAssistant: ?\nAssist D'accord ?\nAssistant: D D'accord returns
192k ep8000 1.423/4.15 67.7% vais d'accord ?\nAssist Ouis d'accord ?\nAssista
200k ep8000 1.063/2.90 67.2% Tu Oui, Et toi ?\nAssistan best primed FR
208k ep8000 1.055/2.87 68.0% vec vais d'accord ?\nA Tu veur: Tu Tu
216k ep8000 1.086/2.96 69.0% toi ?\nAssistant: toi both roles FR Tu
224k ep8000 1.077/2.94 66.5% Tu Tu toi
232k ep8000 1.027/2.79 68.2% toi.\n\n clean stop Tu
240k ep8000 1.042/2.84 67.7% ?\nAssistant: Tu Tu
248k ep8000 1.025/2.79 66.5% toi Et toi
256k ep8000 1.133/3.10 68.8% vow 72% rec Tu Tu
264k ep8000 1.188/3.28 70.5% vow 73% rec vais d'accord ?\nAssist Et toi,
272k ep8000 1.256/3.51 69.8% punct 72% rec vais d'accord ?\nAssist Tu
280k ep8000 1.264/3.54 68.5% punct 72% tie Tu Tu
288k ep8000 1.112/3.04 70.3% spaces Tu
296k ep8000 1.123/3.07 68.5% Tu
304k ep8000 1.105/3.02 69.3% spaces spaces
312k ep8000 1.147/3.15 70.0% vow 74% rec soir, soir, Tu
320k ep8000 1.089/2.97 70.3% vow 75% NEW REC suistant::
328k ep8000 0.753/2.12 69.0% suis d'accord ?\nAssist both perfect suis d'accord ?\nAssist both perfect
336k ep8000 0.854/2.35 69.5% spaces spaces
344k ep8000 0.866/2.38 68.5%
352k ep8000 0.837/2.31 69.3% punct 75% NEW REC
360k ep8000 0.833/2.30 67.7%
368k ep8000 0.889/2.43 69.0%
376k ep8000 0.880/2.41 70.8% Je toi / Avec to spaces, Je toi
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 regression but teacher tie rec, spaces
408k ep8000 1.435/4.20 70.8% tie rec Peurre / Je / Bonne Bonne
416k ep8000 1.480/4.39 68.8% D'accord / Je / D'accord D'accord emergence
424k ep8000 1.389/4.01 69.8% Peurr.\n\n / Peurr.\n\n / Je Peurr. clean stop
432k ep8000 1.427/4.17 71.0% NEW REC Bonne / Bonne / Je Bonne, teacher 71% NEW
440k ep8000 1.437/4.21 71.0% tie rec vow 74.4% Je es / Peurr::: / Je Je es
448k ep8000 1.514/4.55 71.3% NEW REC Peurr::: / Peurr::: / Peurr.\n\n Peurr:::
456k ep8000 1.408/4.09 70.8% Peurrle / Peurrle / Je toi Peurrle
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.\n\n / Peurr.\n\n val 0.747 NEW REC, 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 rec 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 from 496k best, D'accord+Peux
512k ms1M 1.045/2.84 ~71% Peurréc / Bons / Bonttteu
520k ms1M 1.098/2.99 ~71% Bon / Bonne / Peurra.\n Bonne, Peurra
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 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..\n Peut-, Peux
592k ms1M 1.163/3.20 ~71% Peurréc / Peut-êt / 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-êt / 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-êt / Peut-êt / 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 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 74.3% NEW REC 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 Je / Bon / Oui, 1M COMPLETE, teacher 75.2% NEW REC, Je/Bon/Oui, field_rms 0.04 cold / 0.87 primed, clean stop irra..\n\n @1M cold
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 0.05 cold / 1.06 primed NEW HIGH, ids/idi

v2 summary: new race

  • Growable: d16 120k → d32 via grow_checkpoint.py (Net2Net, old outputs exact, JL interleaved) → 1 chunk to re-adapt. Chainable to d64/d128 same lineage.
  • Infinite learning: stream + loop-shards + skip-packets, no replay, no MERGE, no payload-copy. Same .pt 0→1080k, val 1.765→0.551, teacher 56%→75.2%, no catastrophic forgetting.
  • CPU-scalable: no attention O(n), 37-50 tps d32 CPU, 8k steps 3-4 min, 1M ~8h CPU, 10-100x on GPU → 10s GB in hours.
  • Live-modifiable + survey: .pt infinitely trainable on CPU after GPU pre-train. Read-only probes probe_field_regimes.py --primer-packets 3500 and diagnose_teacher.py --max-span-bytes 1 show field_rms 0.26→1.06 scaling towards 3.0, clean stop irra..\n\n @1M.
  • Structure without patches: Peut-être/Peux → Peux qu' → Avec → Parler, → Peut-ili → Peut-ait/Je sui/Je il/Peut-ais → Peut-auc/Peut-au./D'accord → almost phrases.

WTF: Train 10s GB ultra-fast on GPU, then teach new domain on CPU from same .pt — no LoRA, no forgetting, live-surveyable.

Local artifacts (not in git)

.pt stays out of git (repo ban). On the sandbox:

  • checkpoints/byte_tick/atom_native_step_32000_dentate.pt
  • checkpoints/byte_tick/atom_native_step_36000_big.pt
  • checkpoints/byte_tick/atom_native_step_39500_hf.pt

Corpus: data/corpus_fr_hf.txt (~2.2 MB, CATIE everyday-conversations FR).