thefinalboss commited on
Commit
3bec5ee
·
verified ·
1 Parent(s): 160b76a

Add curated checkpoints, checkpoints/README.md and mixed French corpus shards

Browse files
checkpoints/README.md ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Checkpoints
2
+
3
+ This is a curated set, not every checkpoint that was trained. **None of these models writes coherent French.** Use them to
4
+ reproduce the measurements in the top-level README, to inspect the model, or to continue training.
5
+
6
+ All `.pt` files are ordinary ATOM checkpoints (`AtomNativeModel` format, d=32, 479,548 parameters). They load with
7
+ `tools/chat_atom_native.py`, `tools/run_atom_native.py --resume` and `tools/train_batched.py --init`. The checkpoints carry
8
+ optimizer state, which is why they are ~3.8 MB. The GPU checkpoint is ~10 MB because it also carries the per-stream runtime state for 512 streams.
9
+
10
+ Metric: next-byte cross-entropy in nats/byte (normal / field-alone), measured by the run's own progress script. "Dialogue" and "varied" are
11
+ the true held-out sets `data/heldout/val_dialogue.txt` and `data/heldout/val_varied.txt` (4 and 6 windows × 512 bytes). "val2048" is the old
12
+ 4-window validation inside the template corpus.
13
+
14
+ ## Recommended
15
+
16
+ | file | size | run | step | val numbers (source) | use it for |
17
+ |---|---|---|---|---|---|
18
+ | `byte_tick_bptt_k128_mix/atom_native_step_1720000_d32_bptt_k128_mix.pt` | 3,816,181 B | K128 BPTT continued on the 7.4 MB mixed French corpus | 1,720,000 | not evaluated yet (the run was still training at upload time) | **latest**; default for chat and for resuming |
19
+ | `byte_tick_bptt_k128_mix/atom_native_step_1680000_d32_bptt_k128_mix.pt` | 3,816,181 B | same | 1,680,000 | dialogue **1.0053** / 1.0317, varied 2.0600 / 2.0768, val2048 1.0693 / 1.0962 (`docs/artifacts/mix_long_memory/bptt_k128_mix_progress.tsv`) | **best held-out dialogue** of the run |
20
+ | `byte_tick_bptt_k128_mix/atom_native_step_1600000_d32_bptt_k128_mix.pt` | 3,816,181 B | same | 1,600,000 | dialogue 1.0212 / 1.0337, varied **2.0581** / 2.0701, val2048 1.0961 / 1.1227 (same TSV) | **best held-out varied (book) text** |
21
+ | `byte_tick_bptt_fresh/atom_native_step_1232000_d32_bptt_fresh.pt` | 3,815,607 B | fresh init + BPTT K=64 on the template corpus (`data/corpus_fr_medium*.txt`) | 1,232,000 | val2048 **0.3560** / 0.3945 (`docs/artifacts/decfix_bptt/bptt_fresh_progress.tsv`) | best fresh K64 row; recites template lines |
22
+ | `byte_tick_bptt_fresh_k128/atom_native_step_1104000_d32_bptt_fresh_k128.pt` | 3,816,649 B | fresh init + BPTT K=128 on the template corpus | 1,104,000 | val2048 **0.3954** / 0.4653 (`bptt_fresh_k128_progress.tsv`); held-out dialogue 1.2856 / 1.2914, varied 6.7716 / 6.5909 (`docs/artifacts/mix_long_memory/k128_1104k_before_mix.tsv`) | best fresh K128 row; starting point of the mixed-corpus run |
23
+ | `gpu_smoke_b512/atom_native_step_4000_smoke_b512.pt` | 10,096,441 B | GPU smoke test: batched B=512 on an RTX 5090, `--init` from the K128-mix checkpoint 1,616,000, 4,000 ticks (2.05 M bytes) | 4,000 (batched ticks) | val CE 1.2957 → **1.2307** (field-alone 1.3174 → 1.2644) from tick 1000 to 4000 (`gpu_smoke_b512/progress.tsv`; `train_batched.py` val protocol, 4 windows over the held-out files, so not directly comparable to the TSV above) | proof that GPU checkpoints load and chat on CPU |
24
+
25
+ Each directory also contains the run's `run_metrics_*.json` (or `progress.tsv` for the GPU run) exactly as the trainer wrote it.
26
+ In `run_metrics_*.json`, `shard_paths` show absolute paths from the training machine; they are informational only.
27
+
28
+ ## `RELEASE/` (historical)
29
+
30
+ These are 42 snapshots from **before** the root-cause fixes. They use the old recipe, with no BPTT through the field, and were trained mostly on the template corpus: a d16 120k tip,
31
+ the d32 s21 series (32k … 496k), and the 2.90M / 2.925M dialogue/hard-readout tips. See `RELEASE/README.md` and the `*.run_metrics.json` next to each file.
32
+ They load and run, but they are not recommended: for example, `atom_native_2_925M_hard25k.pt` emits byte noise. They are kept for comparison with the history in `docs/`.
33
+
34
+ ## Install (CPU)
35
+
36
+ ```bash
37
+ git lfs install
38
+ git clone https://huggingface.co/thefinalboss/atom-ai
39
+ cd atom-ai
40
+ python3 -m venv .venv
41
+ .venv/bin/pip install --index-url https://download.pytorch.org/whl/cpu torch # CPU wheel; any torch >= 2.1 works
42
+ .venv/bin/pip install -r requirements.txt # numpy (+ pytest)
43
+ ```
44
+
45
+ Do not use `pip install -e .`. The legacy `pyproject.toml` pulls in `transformers`/`datasets`, which ATOM never imports.
46
+ All tools are run from the repo root with `PYTHONPATH=.`. Tested with Python 3.13 and torch 2.14.1+cpu.
47
+
48
+ ## Chat on CPU
49
+
50
+ ```bash
51
+ PYTHONPATH=. .venv/bin/python tools/chat_atom_native.py \
52
+ --checkpoint checkpoints/byte_tick_bptt_k128_mix/atom_native_step_1720000_d32_bptt_k128_mix.pt \
53
+ --prompt "Bonjour, comment ça va ?" --device cpu
54
+ ```
55
+
56
+ Useful flags: `--temperature 0.7 --top-k 8` (defaults), `--deterministic` (greedy; currently loops on `Je suis d'accord ?`),
57
+ `--max-length 256`, `--interactive`, `--no-role-prime` (do not wrap as `Utilisateur:/Assistant:`), `--legacy-gen-labels` (reproduces the
58
+ pre-fix decode bug, for comparison only). One reply takes about 2 s on one CPU thread.
59
+
60
+ ## Resume training on CPU (single stream, exact recipe of the K128-mix run)
61
+
62
+ This is one 8,000-step chunk from the latest checkpoint. The stream offset is `(step − 1,104,000) mod 7,394,592` bytes, so for 1,720,000 it is 616,000.
63
+
64
+ ```bash
65
+ PYTHONPATH=. OMP_NUM_THREADS=1 .venv/bin/python -u tools/run_atom_native.py \
66
+ --stream --data-glob 'data/corpus_fr_mix_[0-9]*.txt' --loop-shards --chunk-bytes 65536 \
67
+ --stream-skip-bytes 616000 \
68
+ --resume checkpoints/byte_tick_bptt_k128_mix/atom_native_step_1720000_d32_bptt_k128_mix.pt \
69
+ --output-dir checkpoints/my_k128_mix --checkpoint-name atom_native_step_1728000_my_k128_mix.pt --steps 8000 \
70
+ --d-model 32 --n-modes 32 --n-atoms-max 64 --max-span-bytes 1 \
71
+ --field-obligatory-hard --no-enable-merge --no-payload-copy --last-atom-readout \
72
+ --efference-every 0 --learning-rate 2e-3 --surface-learning-rate 2e-3 --seed 20260913 \
73
+ --atom-flush-every 64 --episode-length 8000 --episode-reset --slow-every 1 \
74
+ --field-loss-weight 0.05 --field-contrast-weight 0 --allow-parallel-train \
75
+ --last-atom-dropout 0.5 --field-leak 0.05 --field-bptt 128 --field-leak-learnable
76
+ ```
77
+
78
+ Single-stream CPU speed is about 100 steps (= bytes) per second on one core, and more threads do not help at d=32.
79
+ `scripts/train_bptt.sh` chains such chunks automatically and resumes from the newest checkpoint in `OUT`. Its variables are documented in
80
+ `docs/MIX_DATA_LONG_MEMORY.md`. Note that it (like several older scripts) starts with `cd /workspace/exports/atom-ai`, the original machine's path, so edit that line
81
+ before using it elsewhere. Measure a checkpoint on the held-out sets with
82
+ `docs/artifacts/mix_long_memory/tsv_mix.py <out.tsv> <ckpt.pt> <run_metrics.json>`.
83
+
84
+ ## Batched training (GPU, or CPU for testing): `tools/train_batched.py`
85
+
86
+ B independent byte streams run in lockstep with the same recipe (K=128 BPTT, learnable leak, LR 2e-3). 1 tick = B bytes.
87
+ The full runbook is in `docs/BATCHED_TRAINING.md`.
88
+
89
+ GPU box setup (creates `.venv`, installs a CUDA torch, runs the CUDA==CPU tests and a benchmark):
90
+
91
+ ```bash
92
+ bash scripts/setup_gpu_box.sh
93
+ # if torch cannot see the GPU: TORCH_INDEX=https://download.pytorch.org/whl/cu128 bash scripts/setup_gpu_box.sh
94
+ ```
95
+
96
+ Continue the latest CPU checkpoint on the GPU (resumable; re-running the same command resumes from the newest checkpoint in `OUT`):
97
+
98
+ ```bash
99
+ mkdir -p logs/batched
100
+ nohup env DATA_GLOB='data/corpus_fr_mix_[0-9]*.txt' VAL_GLOB='data/heldout/*.txt' B=512 DEVICE=cuda \
101
+ INIT=checkpoints/byte_tick_bptt_k128_mix/atom_native_step_1720000_d32_bptt_k128_mix.pt \
102
+ TOTAL=4000000 CKPT_EVERY=8000 \
103
+ bash scripts/train_batched.sh >> logs/batched/master.log 2>&1 < /dev/null &
104
+ # monitor: tail -f logs/batched/master.log ; column -t -s$'\t' checkpoints/batched_b512/progress.tsv | tail
105
+ # stop: kill $(cat checkpoints/batched_b512/driver.pid)
106
+ ```
107
+
108
+ The same run can be started directly, e.g. as a small CPU test (checked for this upload with `-B 4 --total-ticks 128`):
109
+
110
+ ```bash
111
+ PYTHONPATH=. .venv/bin/python -u tools/train_batched.py \
112
+ --data-glob 'data/corpus_fr_mix_[0-9]*.txt' --val-glob 'data/heldout/*.txt' \
113
+ --init checkpoints/byte_tick_bptt_k128_mix/atom_native_step_1720000_d32_bptt_k128_mix.pt \
114
+ -B 8 --device cpu --threads 1 --output-dir checkpoints/bt_test --suffix bt_test \
115
+ --total-ticks 400 --ckpt-every 200 --log-every 50
116
+ ```
117
+
118
+ Measured throughput: RTX 5090 at K=128 ran ~85.9k bytes/s at B=1024, ~125k at B=1536 and ~145k at B=1792 (CUDA peak memory 14.4 / 21.5 / 25.1 GB;
119
+ `docs/artifacts/batched_training/bench_gpu_quickpod_rtx5090*.json`). On one CPU thread, B=32 / B=128 give ×19 / ×41 the bytes per CPU-second of the legacy single-stream loop.
120
+ `--init` starts the batched tick counter at 0 (the loaded step is recorded). Batched checkpoints are written as `atom_native_step_<tick>_<suffix>.pt`,
121
+ and they chat on CPU with the same command as above.
122
+
123
+ For a multi-GB French corpus see `scripts/fr_big/` (download + build of Wikipedia FR, Gutenberg FR and OpenSubtitles FR into ~256 MB shards; not included here).
checkpoints/byte_tick_bptt_fresh/atom_native_step_1232000_d32_bptt_fresh.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5bb47fb1dc821ef168b0a1693db720a3105b0c7dd8cfef737ad3936aaaeac399
3
+ size 3815607
checkpoints/byte_tick_bptt_fresh/run_metrics_1232000_d32_bptt_fresh.json ADDED
@@ -0,0 +1,234 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "stream": true,
3
+ "data_path": null,
4
+ "data_glob": "data/corpus_fr_medium*.txt",
5
+ "shard_paths": [
6
+ "/workspace/exports/atom-ai/data/corpus_fr_medium.txt",
7
+ "/workspace/exports/atom-ai/data/corpus_fr_medium_s21.txt"
8
+ ],
9
+ "data_bytes": 1000453,
10
+ "data_characters": null,
11
+ "atomizer_version": "atomizer-v1-byte-span",
12
+ "feature_dim": 320,
13
+ "packet_count": null,
14
+ "train_packet_count": null,
15
+ "validation_packet_count": 2048,
16
+ "mean_packet_bytes": null,
17
+ "max_packet_bytes": null,
18
+ "min_packet_bytes": null,
19
+ "bytes_seen": 262144,
20
+ "config": {
21
+ "d_model": 32,
22
+ "n_modes": 32,
23
+ "n_atoms_max": 64,
24
+ "max_span_bytes": 1,
25
+ "episode_length": 8000,
26
+ "episode_reset": true,
27
+ "atom_flush_every": 64,
28
+ "learning_rate": 0.002,
29
+ "surface_learning_rate": 0.002,
30
+ "steps": 8000,
31
+ "start_step": 1224000,
32
+ "seed": 20260913,
33
+ "surface_alphabet": 256,
34
+ "field_max_rms": 3.0,
35
+ "energy_decay_bounds": [
36
+ 0.3,
37
+ 0.95
38
+ ],
39
+ "stream": true,
40
+ "chunk_bytes": 65536,
41
+ "loop_shards": true,
42
+ "stream_buffer": 2048,
43
+ "stream_prefetch": true,
44
+ "stream_skip_packets": 223548,
45
+ "last_atom_readout": true,
46
+ "last_atom_scale": 1.0,
47
+ "last_atom_scale_adaptive": false,
48
+ "last_atom_scale_min": 0.0,
49
+ "last_atom_scale_max": 1.0,
50
+ "field_hard_couple_scale": 0.0,
51
+ "last_atom_dropout": 0.5,
52
+ "field_leak": 0.05,
53
+ "field_leak_spectrum": null,
54
+ "field_leak_spectrum_gain": "none",
55
+ "field_leak_spectrum_slow_frac": 1.0,
56
+ "slow_mode_readout": false,
57
+ "slow_readout_rank": 64,
58
+ "slow_readout_ahat": "exclude",
59
+ "slow_readout_lr": null,
60
+ "slow_memory_loss": 0.0,
61
+ "slow_memory_lags": [
62
+ 16,
63
+ 32,
64
+ 64
65
+ ],
66
+ "slow_memory_target": "bag",
67
+ "efference_every": 0,
68
+ "free_run_aux_every": 0,
69
+ "free_run_aux_horizon": 4,
70
+ "free_run_aux_weight": 1.0,
71
+ "enable_merge": false,
72
+ "payload_copy": false,
73
+ "merge_coherence_threshold": 0.45,
74
+ "merge_energy_floor": 0.08,
75
+ "field_loss_weight": 0.05,
76
+ "field_contrast_weight": 0.0,
77
+ "field_ignorance_weight": 0.08,
78
+ "field_ignorance_ablate_shared": false,
79
+ "field_ignorance_prompt_bank": false,
80
+ "field_obligatory_readout": true,
81
+ "field_obligatory_hard": true,
82
+ "printable_aux_weight": 0.0,
83
+ "field_next_packet_weight": 0.0,
84
+ "slow_every": 1,
85
+ "field_bptt": 64,
86
+ "field_leak_learnable": true
87
+ },
88
+ "packets_seen": 262144,
89
+ "stream_epoch": 0,
90
+ "train": {
91
+ "steps": 8000,
92
+ "efference_every": 0,
93
+ "free_run_aux_every": 0,
94
+ "free_run_aux_horizon": 4,
95
+ "free_run_aux_weight": 1.0,
96
+ "efference_steps": 0,
97
+ "field_bptt": 64,
98
+ "bptt_windows": 125,
99
+ "field_leak_learnable_rates": [
100
+ 0.1651015728712082,
101
+ 0.2223760485649109,
102
+ 0.19814087450504303,
103
+ 0.16405101120471954,
104
+ 0.14837774634361267,
105
+ 0.2066447138786316,
106
+ 0.2014492303133011,
107
+ 0.11219972372055054,
108
+ 0.12348398566246033,
109
+ 0.10896243155002594,
110
+ 0.06129872426390648,
111
+ 0.10106329619884491,
112
+ 0.384555459022522,
113
+ 0.5364075303077698,
114
+ 0.17985180020332336,
115
+ 0.1374603509902954,
116
+ 0.177724689245224,
117
+ 0.21974866092205048,
118
+ 0.2793871760368347,
119
+ 0.1863066852092743,
120
+ 0.23682813346385956,
121
+ 0.13955748081207275,
122
+ 0.1764942854642868,
123
+ 0.1738881915807724,
124
+ 0.1693471372127533,
125
+ 0.16529005765914917,
126
+ 0.13834939897060394,
127
+ 0.1200307309627533,
128
+ 0.19962647557258606,
129
+ 0.288830041885376,
130
+ 0.20705798268318176,
131
+ 0.23813004791736603
132
+ ],
133
+ "free_run_aux_steps": 0,
134
+ "last_atom_scale": 1.0,
135
+ "last_atom_scale_adaptive": false,
136
+ "last_atom_scale_min": 0.0,
137
+ "last_atom_scale_max": 1.0,
138
+ "field_hard_couple_scale": 0.0,
139
+ "last_atom_dropout": 0.5,
140
+ "field_leak": 0.05,
141
+ "field_leak_spectrum": null,
142
+ "field_leak_spectrum_gain": "none",
143
+ "field_leak_spectrum_slow_frac": 1.0,
144
+ "slow_mode_readout": false,
145
+ "slow_readout_ahat": "exclude",
146
+ "slow_readout_lr": null,
147
+ "slow_memory_loss": 0.0,
148
+ "slow_memory_lags": [
149
+ 16,
150
+ 32,
151
+ 64
152
+ ],
153
+ "slow_memory_target": "bag",
154
+ "slow_memory_loss_mean": null,
155
+ "slow_memory_loss_last_1000": null,
156
+ "start_step": 1224000,
157
+ "total_steps": 1232000,
158
+ "episode_length": 8000,
159
+ "episode_reset": true,
160
+ "atom_flush_every": 64,
161
+ "elapsed_seconds": 58.50372852999135,
162
+ "transitions_per_second": 136.74342133422968,
163
+ "first_loss": 1.4675815105438232,
164
+ "final_loss": 0.0031006068456918,
165
+ "final_total_perplexity": 1.003105418699034,
166
+ "finite_losses": true,
167
+ "finite_parameters": true,
168
+ "nan_or_inf": false,
169
+ "field_rms_before_max": 0.024285878986120224,
170
+ "field_rms_after_max": 0.024285878986120224,
171
+ "field_scale_min": 1.0,
172
+ "field_norm_max": 0.7764889597892761,
173
+ "field_limited_steps": 0,
174
+ "field_limited_fraction": 0.0,
175
+ "final_dynamics": {
176
+ "coupling_scale": 1.5999668836593628,
177
+ "energy_decay": 0.8711663484573364,
178
+ "phase_sync": 0.9322643876075745,
179
+ "energy_decay_before": 0.8711663484573364,
180
+ "energy_decay_repaired": false,
181
+ "energy_decay_bounds": [
182
+ 0.3,
183
+ 0.95
184
+ ]
185
+ },
186
+ "final_atoms_before_validation": 58,
187
+ "stream": true,
188
+ "bytes_seen": 262144
189
+ },
190
+ "validation": {
191
+ "transitions": 256,
192
+ "loss": 0.4576556962065297,
193
+ "total_perplexity": 1.5803647837882906,
194
+ "byte_loss": 0.4540158328897905,
195
+ "byte_perplexity": 1.5746229281089386,
196
+ "source": "stream_ring"
197
+ },
198
+ "checkpoint": "checkpoints/byte_tick_bptt_fresh/atom_native_step_1232000_d32_bptt_fresh.pt",
199
+ "reload": {
200
+ "n_atoms": 0,
201
+ "field_norm": 0.28036776185035706,
202
+ "time": 79.9986801147461,
203
+ "finite": true
204
+ },
205
+ "generation": {
206
+ "The future of AI is": {
207
+ "temperature": 0.8,
208
+ "top_k": 5,
209
+ "max_length": 20,
210
+ "bytes_hex": "5061732064652070",
211
+ "text": "Pas de p",
212
+ "reload_text": "Pas de p",
213
+ "reload_match": true
214
+ },
215
+ "Bonjour, je m'appelle": {
216
+ "temperature": 0.8,
217
+ "top_k": 5,
218
+ "max_length": 20,
219
+ "bytes_hex": "5061732074726f70",
220
+ "text": "Pas trop",
221
+ "reload_text": "Pas trop",
222
+ "reload_match": true
223
+ },
224
+ "Valkyria Chronicles III is": {
225
+ "temperature": 0.8,
226
+ "top_k": 5,
227
+ "max_length": 20,
228
+ "bytes_hex": "4a65207375697320",
229
+ "text": "Je suis ",
230
+ "reload_text": "Je suis ",
231
+ "reload_match": true
232
+ }
233
+ }
234
+ }
checkpoints/byte_tick_bptt_fresh_k128/atom_native_step_1104000_d32_bptt_fresh_k128.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4dc9d83ed4effa047c8df6e8a182a7a03bedf0f214f3e88aea5ec6503319a08b
3
+ size 3816649
checkpoints/byte_tick_bptt_fresh_k128/run_metrics_1104000_d32_bptt_fresh_k128.json ADDED
@@ -0,0 +1,234 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "stream": true,
3
+ "data_path": null,
4
+ "data_glob": "data/corpus_fr_medium*.txt",
5
+ "shard_paths": [
6
+ "/workspace/exports/atom-ai/data/corpus_fr_medium.txt",
7
+ "/workspace/exports/atom-ai/data/corpus_fr_medium_s21.txt"
8
+ ],
9
+ "data_bytes": 1000453,
10
+ "data_characters": null,
11
+ "atomizer_version": "atomizer-v1-byte-span",
12
+ "feature_dim": 320,
13
+ "packet_count": null,
14
+ "train_packet_count": null,
15
+ "validation_packet_count": 2048,
16
+ "mean_packet_bytes": null,
17
+ "max_packet_bytes": null,
18
+ "min_packet_bytes": null,
19
+ "bytes_seen": 131072,
20
+ "config": {
21
+ "d_model": 32,
22
+ "n_modes": 32,
23
+ "n_atoms_max": 64,
24
+ "max_span_bytes": 1,
25
+ "episode_length": 8000,
26
+ "episode_reset": true,
27
+ "atom_flush_every": 64,
28
+ "learning_rate": 0.002,
29
+ "surface_learning_rate": 0.002,
30
+ "steps": 8000,
31
+ "start_step": 1096000,
32
+ "seed": 20260913,
33
+ "surface_alphabet": 256,
34
+ "field_max_rms": 3.0,
35
+ "energy_decay_bounds": [
36
+ 0.3,
37
+ 0.95
38
+ ],
39
+ "stream": true,
40
+ "chunk_bytes": 65536,
41
+ "loop_shards": true,
42
+ "stream_buffer": 2048,
43
+ "stream_prefetch": true,
44
+ "stream_skip_packets": 95548,
45
+ "last_atom_readout": true,
46
+ "last_atom_scale": 1.0,
47
+ "last_atom_scale_adaptive": false,
48
+ "last_atom_scale_min": 0.0,
49
+ "last_atom_scale_max": 1.0,
50
+ "field_hard_couple_scale": 0.0,
51
+ "last_atom_dropout": 0.5,
52
+ "field_leak": 0.05,
53
+ "field_leak_spectrum": null,
54
+ "field_leak_spectrum_gain": "none",
55
+ "field_leak_spectrum_slow_frac": 1.0,
56
+ "slow_mode_readout": false,
57
+ "slow_readout_rank": 64,
58
+ "slow_readout_ahat": "exclude",
59
+ "slow_readout_lr": null,
60
+ "slow_memory_loss": 0.0,
61
+ "slow_memory_lags": [
62
+ 16,
63
+ 32,
64
+ 64
65
+ ],
66
+ "slow_memory_target": "bag",
67
+ "efference_every": 0,
68
+ "free_run_aux_every": 0,
69
+ "free_run_aux_horizon": 4,
70
+ "free_run_aux_weight": 1.0,
71
+ "enable_merge": false,
72
+ "payload_copy": false,
73
+ "merge_coherence_threshold": 0.45,
74
+ "merge_energy_floor": 0.08,
75
+ "field_loss_weight": 0.05,
76
+ "field_contrast_weight": 0.0,
77
+ "field_ignorance_weight": 0.08,
78
+ "field_ignorance_ablate_shared": false,
79
+ "field_ignorance_prompt_bank": false,
80
+ "field_obligatory_readout": true,
81
+ "field_obligatory_hard": true,
82
+ "printable_aux_weight": 0.0,
83
+ "field_next_packet_weight": 0.0,
84
+ "slow_every": 1,
85
+ "field_bptt": 128,
86
+ "field_leak_learnable": true
87
+ },
88
+ "packets_seen": 131072,
89
+ "stream_epoch": 0,
90
+ "train": {
91
+ "steps": 8000,
92
+ "efference_every": 0,
93
+ "free_run_aux_every": 0,
94
+ "free_run_aux_horizon": 4,
95
+ "free_run_aux_weight": 1.0,
96
+ "efference_steps": 0,
97
+ "field_bptt": 128,
98
+ "bptt_windows": 63,
99
+ "field_leak_learnable_rates": [
100
+ 0.13960112631320953,
101
+ 0.20525416731834412,
102
+ 0.12362688034772873,
103
+ 0.22679980099201202,
104
+ 0.19011618196964264,
105
+ 0.2006656676530838,
106
+ 0.18863052129745483,
107
+ 0.13466861844062805,
108
+ 0.1541769951581955,
109
+ 0.11504282802343369,
110
+ 0.07188660651445389,
111
+ 0.08401831984519958,
112
+ 0.1887102723121643,
113
+ 0.38703152537345886,
114
+ 0.20451544225215912,
115
+ 0.21816956996917725,
116
+ 0.20279471576213837,
117
+ 0.23330043256282806,
118
+ 0.20438706874847412,
119
+ 0.21167437732219696,
120
+ 0.19299842417240143,
121
+ 0.16187530755996704,
122
+ 0.14983811974525452,
123
+ 0.17153199017047882,
124
+ 0.1774502992630005,
125
+ 0.15822280943393707,
126
+ 0.23028582334518433,
127
+ 0.18020951747894287,
128
+ 0.19170816242694855,
129
+ 0.21261583268642426,
130
+ 0.1362137347459793,
131
+ 0.20936228334903717
132
+ ],
133
+ "free_run_aux_steps": 0,
134
+ "last_atom_scale": 1.0,
135
+ "last_atom_scale_adaptive": false,
136
+ "last_atom_scale_min": 0.0,
137
+ "last_atom_scale_max": 1.0,
138
+ "field_hard_couple_scale": 0.0,
139
+ "last_atom_dropout": 0.5,
140
+ "field_leak": 0.05,
141
+ "field_leak_spectrum": null,
142
+ "field_leak_spectrum_gain": "none",
143
+ "field_leak_spectrum_slow_frac": 1.0,
144
+ "slow_mode_readout": false,
145
+ "slow_readout_ahat": "exclude",
146
+ "slow_readout_lr": null,
147
+ "slow_memory_loss": 0.0,
148
+ "slow_memory_lags": [
149
+ 16,
150
+ 32,
151
+ 64
152
+ ],
153
+ "slow_memory_target": "bag",
154
+ "slow_memory_loss_mean": null,
155
+ "slow_memory_loss_last_1000": null,
156
+ "start_step": 1096000,
157
+ "total_steps": 1104000,
158
+ "episode_length": 8000,
159
+ "episode_reset": true,
160
+ "atom_flush_every": 64,
161
+ "elapsed_seconds": 57.065072412005975,
162
+ "transitions_per_second": 140.19083235784825,
163
+ "first_loss": 16.306896209716797,
164
+ "final_loss": 0.07207974791526794,
165
+ "final_total_perplexity": 1.074741049004484,
166
+ "finite_losses": true,
167
+ "finite_parameters": true,
168
+ "nan_or_inf": false,
169
+ "field_rms_before_max": 0.017805438488721848,
170
+ "field_rms_after_max": 0.017805438488721848,
171
+ "field_scale_min": 1.0,
172
+ "field_norm_max": 0.568874716758728,
173
+ "field_limited_steps": 0,
174
+ "field_limited_fraction": 0.0,
175
+ "final_dynamics": {
176
+ "coupling_scale": 1.254072666168213,
177
+ "energy_decay": 0.32255834341049194,
178
+ "phase_sync": 0.9864845871925354,
179
+ "energy_decay_before": 0.32255834341049194,
180
+ "energy_decay_repaired": false,
181
+ "energy_decay_bounds": [
182
+ 0.3,
183
+ 0.95
184
+ ]
185
+ },
186
+ "final_atoms_before_validation": 58,
187
+ "stream": true,
188
+ "bytes_seen": 131072
189
+ },
190
+ "validation": {
191
+ "transitions": 256,
192
+ "loss": 0.528362570520585,
193
+ "total_perplexity": 1.696152703097949,
194
+ "byte_loss": 0.524585546465928,
195
+ "byte_perplexity": 1.6897583769016438,
196
+ "source": "stream_ring"
197
+ },
198
+ "checkpoint": "checkpoints/byte_tick_bptt_fresh_k128/atom_native_step_1104000_d32_bptt_fresh_k128.pt",
199
+ "reload": {
200
+ "n_atoms": 0,
201
+ "field_norm": 0.14853636920452118,
202
+ "time": 79.9986801147461,
203
+ "finite": true
204
+ },
205
+ "generation": {
206
+ "The future of AI is": {
207
+ "temperature": 0.8,
208
+ "top_k": 5,
209
+ "max_length": 20,
210
+ "bytes_hex": "426f6e6e65207175",
211
+ "text": "Bonne qu",
212
+ "reload_text": "Bonne qu",
213
+ "reload_match": true
214
+ },
215
+ "Bonjour, je m'appelle": {
216
+ "temperature": 0.8,
217
+ "top_k": 5,
218
+ "max_length": 20,
219
+ "bytes_hex": "4176656320706c61",
220
+ "text": "Avec pla",
221
+ "reload_text": "Avec pla",
222
+ "reload_match": true
223
+ },
224
+ "Valkyria Chronicles III is": {
225
+ "temperature": 0.8,
226
+ "top_k": 5,
227
+ "max_length": 20,
228
+ "bytes_hex": "44276163636f7264",
229
+ "text": "D'accord",
230
+ "reload_text": "D'accord",
231
+ "reload_match": true
232
+ }
233
+ }
234
+ }
checkpoints/byte_tick_bptt_k128_mix/atom_native_step_1600000_d32_bptt_k128_mix.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:33e4cd75ab1bb9d7a825b32af9fca12865e88bdd2332fda4af2e983f5cf9d56b
3
+ size 3816181
checkpoints/byte_tick_bptt_k128_mix/atom_native_step_1680000_d32_bptt_k128_mix.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:12e032796371f50e37718a2c6848c4159ffe770f9ae6e2b3c6a427f3d5a2a52b
3
+ size 3816181
checkpoints/byte_tick_bptt_k128_mix/atom_native_step_1720000_d32_bptt_k128_mix.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fed48094cea4f0be4d4b53dcbd5a8cf89921a7abb3844271a5fa68751f9a0b7e
3
+ size 3816181
checkpoints/byte_tick_bptt_k128_mix/run_metrics_1600000_d32_bptt_k128_mix.json ADDED
@@ -0,0 +1,237 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "stream": true,
3
+ "data_path": null,
4
+ "data_glob": "data/corpus_fr_mix_[0-9]*.txt",
5
+ "shard_paths": [
6
+ "/workspace/exports/atom-ai/data/corpus_fr_mix_000.txt",
7
+ "/workspace/exports/atom-ai/data/corpus_fr_mix_001.txt",
8
+ "/workspace/exports/atom-ai/data/corpus_fr_mix_002.txt",
9
+ "/workspace/exports/atom-ai/data/corpus_fr_mix_003.txt"
10
+ ],
11
+ "data_bytes": 7394592,
12
+ "data_characters": null,
13
+ "atomizer_version": "atomizer-v1-byte-span",
14
+ "feature_dim": 320,
15
+ "packet_count": null,
16
+ "train_packet_count": null,
17
+ "validation_packet_count": 2048,
18
+ "mean_packet_bytes": null,
19
+ "max_packet_bytes": null,
20
+ "min_packet_bytes": null,
21
+ "bytes_seen": 65536,
22
+ "config": {
23
+ "d_model": 32,
24
+ "n_modes": 32,
25
+ "n_atoms_max": 64,
26
+ "max_span_bytes": 1,
27
+ "episode_length": 8000,
28
+ "episode_reset": true,
29
+ "atom_flush_every": 64,
30
+ "learning_rate": 0.002,
31
+ "surface_learning_rate": 0.002,
32
+ "steps": 8000,
33
+ "start_step": 1592000,
34
+ "seed": 20260913,
35
+ "surface_alphabet": 256,
36
+ "field_max_rms": 3.0,
37
+ "energy_decay_bounds": [
38
+ 0.3,
39
+ 0.95
40
+ ],
41
+ "stream": true,
42
+ "chunk_bytes": 65536,
43
+ "loop_shards": true,
44
+ "stream_buffer": 2048,
45
+ "stream_prefetch": true,
46
+ "stream_skip_packets": 0,
47
+ "last_atom_readout": true,
48
+ "last_atom_scale": 1.0,
49
+ "last_atom_scale_adaptive": false,
50
+ "last_atom_scale_min": 0.0,
51
+ "last_atom_scale_max": 1.0,
52
+ "field_hard_couple_scale": 0.0,
53
+ "last_atom_dropout": 0.5,
54
+ "field_leak": 0.05,
55
+ "field_leak_spectrum": null,
56
+ "field_leak_spectrum_gain": "none",
57
+ "field_leak_spectrum_slow_frac": 1.0,
58
+ "slow_mode_readout": false,
59
+ "slow_readout_rank": 64,
60
+ "slow_readout_ahat": "exclude",
61
+ "slow_readout_lr": null,
62
+ "slow_memory_loss": 0.0,
63
+ "slow_memory_lags": [
64
+ 16,
65
+ 32,
66
+ 64
67
+ ],
68
+ "slow_memory_target": "bag",
69
+ "efference_every": 0,
70
+ "free_run_aux_every": 0,
71
+ "free_run_aux_horizon": 4,
72
+ "free_run_aux_weight": 1.0,
73
+ "enable_merge": false,
74
+ "payload_copy": false,
75
+ "merge_coherence_threshold": 0.45,
76
+ "merge_energy_floor": 0.08,
77
+ "field_loss_weight": 0.05,
78
+ "field_contrast_weight": 0.0,
79
+ "field_ignorance_weight": 0.08,
80
+ "field_ignorance_ablate_shared": false,
81
+ "field_ignorance_prompt_bank": false,
82
+ "field_obligatory_readout": true,
83
+ "field_obligatory_hard": true,
84
+ "printable_aux_weight": 0.0,
85
+ "field_next_packet_weight": 0.0,
86
+ "slow_every": 1,
87
+ "field_bptt": 128,
88
+ "field_leak_learnable": true,
89
+ "stream_skip_bytes": 488000
90
+ },
91
+ "packets_seen": 65536,
92
+ "stream_epoch": 0,
93
+ "train": {
94
+ "steps": 8000,
95
+ "efference_every": 0,
96
+ "free_run_aux_every": 0,
97
+ "free_run_aux_horizon": 4,
98
+ "free_run_aux_weight": 1.0,
99
+ "efference_steps": 0,
100
+ "field_bptt": 128,
101
+ "bptt_windows": 63,
102
+ "field_leak_learnable_rates": [
103
+ 0.2589353322982788,
104
+ 0.33240318298339844,
105
+ 0.14712077379226685,
106
+ 0.23442696034908295,
107
+ 0.21832816302776337,
108
+ 0.30121657252311707,
109
+ 0.2626681923866272,
110
+ 0.15994516015052795,
111
+ 0.19780592620372772,
112
+ 0.16097243130207062,
113
+ 0.10915376245975494,
114
+ 0.1730736494064331,
115
+ 0.3482528030872345,
116
+ 0.7338636517524719,
117
+ 0.42805999517440796,
118
+ 0.5028843283653259,
119
+ 0.32569214701652527,
120
+ 0.48313575983047485,
121
+ 0.34425604343414307,
122
+ 0.3276020288467407,
123
+ 0.3864366114139557,
124
+ 0.2443476915359497,
125
+ 0.227683424949646,
126
+ 0.23513294756412506,
127
+ 0.3145107328891754,
128
+ 0.3147050440311432,
129
+ 0.36194443702697754,
130
+ 0.2797192633152008,
131
+ 0.2787001132965088,
132
+ 0.29079070687294006,
133
+ 0.23655368387699127,
134
+ 0.42117777466773987
135
+ ],
136
+ "free_run_aux_steps": 0,
137
+ "last_atom_scale": 1.0,
138
+ "last_atom_scale_adaptive": false,
139
+ "last_atom_scale_min": 0.0,
140
+ "last_atom_scale_max": 1.0,
141
+ "field_hard_couple_scale": 0.0,
142
+ "last_atom_dropout": 0.5,
143
+ "field_leak": 0.05,
144
+ "field_leak_spectrum": null,
145
+ "field_leak_spectrum_gain": "none",
146
+ "field_leak_spectrum_slow_frac": 1.0,
147
+ "slow_mode_readout": false,
148
+ "slow_readout_ahat": "exclude",
149
+ "slow_readout_lr": null,
150
+ "slow_memory_loss": 0.0,
151
+ "slow_memory_lags": [
152
+ 16,
153
+ 32,
154
+ 64
155
+ ],
156
+ "slow_memory_target": "bag",
157
+ "slow_memory_loss_mean": null,
158
+ "slow_memory_loss_last_1000": null,
159
+ "start_step": 1592000,
160
+ "total_steps": 1600000,
161
+ "episode_length": 8000,
162
+ "episode_reset": true,
163
+ "atom_flush_every": 64,
164
+ "elapsed_seconds": 75.00176022500091,
165
+ "transitions_per_second": 106.66416329430758,
166
+ "first_loss": 10.275494575500488,
167
+ "final_loss": 2.529386043548584,
168
+ "final_total_perplexity": 12.54580119607875,
169
+ "finite_losses": true,
170
+ "finite_parameters": true,
171
+ "nan_or_inf": false,
172
+ "field_rms_before_max": 0.020766643807291985,
173
+ "field_rms_after_max": 0.020766643807291985,
174
+ "field_scale_min": 1.0,
175
+ "field_norm_max": 0.6637617945671082,
176
+ "field_limited_steps": 0,
177
+ "field_limited_fraction": 0.0,
178
+ "final_dynamics": {
179
+ "coupling_scale": 1.3370531797409058,
180
+ "energy_decay": 0.3041408360004425,
181
+ "phase_sync": 0.9343012571334839,
182
+ "energy_decay_before": 0.3041408360004425,
183
+ "energy_decay_repaired": false,
184
+ "energy_decay_bounds": [
185
+ 0.3,
186
+ 0.95
187
+ ]
188
+ },
189
+ "final_atoms_before_validation": 58,
190
+ "stream": true,
191
+ "bytes_seen": 65536
192
+ },
193
+ "validation": {
194
+ "transitions": 256,
195
+ "loss": 1.9196898239679285,
196
+ "total_perplexity": 6.818843099543278,
197
+ "byte_loss": 1.9157627062716642,
198
+ "byte_perplexity": 6.792117212339081,
199
+ "source": "stream_ring"
200
+ },
201
+ "checkpoint": "checkpoints/byte_tick_bptt_k128_mix/atom_native_step_1600000_d32_bptt_k128_mix.pt",
202
+ "reload": {
203
+ "n_atoms": 0,
204
+ "field_norm": 0.19758206605911255,
205
+ "time": 79.9986801147461,
206
+ "finite": true
207
+ },
208
+ "generation": {
209
+ "The future of AI is": {
210
+ "temperature": 0.8,
211
+ "top_k": 5,
212
+ "max_length": 20,
213
+ "bytes_hex": "426f6e6e65207175",
214
+ "text": "Bonne qu",
215
+ "reload_text": "Bonne qu",
216
+ "reload_match": true
217
+ },
218
+ "Bonjour, je m'appelle": {
219
+ "temperature": 0.8,
220
+ "top_k": 5,
221
+ "max_length": 20,
222
+ "bytes_hex": "426f6e6e65207175",
223
+ "text": "Bonne qu",
224
+ "reload_text": "Bonne qu",
225
+ "reload_match": true
226
+ },
227
+ "Valkyria Chronicles III is": {
228
+ "temperature": 0.8,
229
+ "top_k": 5,
230
+ "max_length": 20,
231
+ "bytes_hex": "4176656320706c61",
232
+ "text": "Avec pla",
233
+ "reload_text": "Avec pla",
234
+ "reload_match": true
235
+ }
236
+ }
237
+ }
checkpoints/byte_tick_bptt_k128_mix/run_metrics_1680000_d32_bptt_k128_mix.json ADDED
@@ -0,0 +1,237 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "stream": true,
3
+ "data_path": null,
4
+ "data_glob": "data/corpus_fr_mix_[0-9]*.txt",
5
+ "shard_paths": [
6
+ "/workspace/exports/atom-ai/data/corpus_fr_mix_000.txt",
7
+ "/workspace/exports/atom-ai/data/corpus_fr_mix_001.txt",
8
+ "/workspace/exports/atom-ai/data/corpus_fr_mix_002.txt",
9
+ "/workspace/exports/atom-ai/data/corpus_fr_mix_003.txt"
10
+ ],
11
+ "data_bytes": 7394592,
12
+ "data_characters": null,
13
+ "atomizer_version": "atomizer-v1-byte-span",
14
+ "feature_dim": 320,
15
+ "packet_count": null,
16
+ "train_packet_count": null,
17
+ "validation_packet_count": 2048,
18
+ "mean_packet_bytes": null,
19
+ "max_packet_bytes": null,
20
+ "min_packet_bytes": null,
21
+ "bytes_seen": 65536,
22
+ "config": {
23
+ "d_model": 32,
24
+ "n_modes": 32,
25
+ "n_atoms_max": 64,
26
+ "max_span_bytes": 1,
27
+ "episode_length": 8000,
28
+ "episode_reset": true,
29
+ "atom_flush_every": 64,
30
+ "learning_rate": 0.002,
31
+ "surface_learning_rate": 0.002,
32
+ "steps": 8000,
33
+ "start_step": 1672000,
34
+ "seed": 20260913,
35
+ "surface_alphabet": 256,
36
+ "field_max_rms": 3.0,
37
+ "energy_decay_bounds": [
38
+ 0.3,
39
+ 0.95
40
+ ],
41
+ "stream": true,
42
+ "chunk_bytes": 65536,
43
+ "loop_shards": true,
44
+ "stream_buffer": 2048,
45
+ "stream_prefetch": true,
46
+ "stream_skip_packets": 0,
47
+ "last_atom_readout": true,
48
+ "last_atom_scale": 1.0,
49
+ "last_atom_scale_adaptive": false,
50
+ "last_atom_scale_min": 0.0,
51
+ "last_atom_scale_max": 1.0,
52
+ "field_hard_couple_scale": 0.0,
53
+ "last_atom_dropout": 0.5,
54
+ "field_leak": 0.05,
55
+ "field_leak_spectrum": null,
56
+ "field_leak_spectrum_gain": "none",
57
+ "field_leak_spectrum_slow_frac": 1.0,
58
+ "slow_mode_readout": false,
59
+ "slow_readout_rank": 64,
60
+ "slow_readout_ahat": "exclude",
61
+ "slow_readout_lr": null,
62
+ "slow_memory_loss": 0.0,
63
+ "slow_memory_lags": [
64
+ 16,
65
+ 32,
66
+ 64
67
+ ],
68
+ "slow_memory_target": "bag",
69
+ "efference_every": 0,
70
+ "free_run_aux_every": 0,
71
+ "free_run_aux_horizon": 4,
72
+ "free_run_aux_weight": 1.0,
73
+ "enable_merge": false,
74
+ "payload_copy": false,
75
+ "merge_coherence_threshold": 0.45,
76
+ "merge_energy_floor": 0.08,
77
+ "field_loss_weight": 0.05,
78
+ "field_contrast_weight": 0.0,
79
+ "field_ignorance_weight": 0.08,
80
+ "field_ignorance_ablate_shared": false,
81
+ "field_ignorance_prompt_bank": false,
82
+ "field_obligatory_readout": true,
83
+ "field_obligatory_hard": true,
84
+ "printable_aux_weight": 0.0,
85
+ "field_next_packet_weight": 0.0,
86
+ "slow_every": 1,
87
+ "field_bptt": 128,
88
+ "field_leak_learnable": true,
89
+ "stream_skip_bytes": 568000
90
+ },
91
+ "packets_seen": 65536,
92
+ "stream_epoch": 0,
93
+ "train": {
94
+ "steps": 8000,
95
+ "efference_every": 0,
96
+ "free_run_aux_every": 0,
97
+ "free_run_aux_horizon": 4,
98
+ "free_run_aux_weight": 1.0,
99
+ "efference_steps": 0,
100
+ "field_bptt": 128,
101
+ "bptt_windows": 63,
102
+ "field_leak_learnable_rates": [
103
+ 0.274522066116333,
104
+ 0.3533155024051666,
105
+ 0.15473133325576782,
106
+ 0.2395753115415573,
107
+ 0.22116175293922424,
108
+ 0.31720712780952454,
109
+ 0.27202317118644714,
110
+ 0.16598258912563324,
111
+ 0.20310036838054657,
112
+ 0.16193081438541412,
113
+ 0.10908772796392441,
114
+ 0.18383222818374634,
115
+ 0.35520121455192566,
116
+ 0.75541752576828,
117
+ 0.43806663155555725,
118
+ 0.529101550579071,
119
+ 0.33727988600730896,
120
+ 0.5073504447937012,
121
+ 0.3601907193660736,
122
+ 0.3478285074234009,
123
+ 0.41036245226860046,
124
+ 0.2591860592365265,
125
+ 0.2394794225692749,
126
+ 0.24186107516288757,
127
+ 0.33263686299324036,
128
+ 0.3232515752315521,
129
+ 0.37150341272354126,
130
+ 0.2870956361293793,
131
+ 0.28565606474876404,
132
+ 0.30195820331573486,
133
+ 0.24409471452236176,
134
+ 0.4355026185512543
135
+ ],
136
+ "free_run_aux_steps": 0,
137
+ "last_atom_scale": 1.0,
138
+ "last_atom_scale_adaptive": false,
139
+ "last_atom_scale_min": 0.0,
140
+ "last_atom_scale_max": 1.0,
141
+ "field_hard_couple_scale": 0.0,
142
+ "last_atom_dropout": 0.5,
143
+ "field_leak": 0.05,
144
+ "field_leak_spectrum": null,
145
+ "field_leak_spectrum_gain": "none",
146
+ "field_leak_spectrum_slow_frac": 1.0,
147
+ "slow_mode_readout": false,
148
+ "slow_readout_ahat": "exclude",
149
+ "slow_readout_lr": null,
150
+ "slow_memory_loss": 0.0,
151
+ "slow_memory_lags": [
152
+ 16,
153
+ 32,
154
+ 64
155
+ ],
156
+ "slow_memory_target": "bag",
157
+ "slow_memory_loss_mean": null,
158
+ "slow_memory_loss_last_1000": null,
159
+ "start_step": 1672000,
160
+ "total_steps": 1680000,
161
+ "episode_length": 8000,
162
+ "episode_reset": true,
163
+ "atom_flush_every": 64,
164
+ "elapsed_seconds": 79.34130910399836,
165
+ "transitions_per_second": 100.83019917800732,
166
+ "first_loss": 3.9205265045166016,
167
+ "final_loss": 0.005072177387773991,
168
+ "final_total_perplexity": 1.005085062655744,
169
+ "finite_losses": true,
170
+ "finite_parameters": true,
171
+ "nan_or_inf": false,
172
+ "field_rms_before_max": 0.016347821801900864,
173
+ "field_rms_after_max": 0.016347821801900864,
174
+ "field_scale_min": 1.0,
175
+ "field_norm_max": 0.5221506357192993,
176
+ "field_limited_steps": 0,
177
+ "field_limited_fraction": 0.0,
178
+ "final_dynamics": {
179
+ "coupling_scale": 1.3326725959777832,
180
+ "energy_decay": 0.30556628108024597,
181
+ "phase_sync": 0.8960594534873962,
182
+ "energy_decay_before": 0.30556628108024597,
183
+ "energy_decay_repaired": false,
184
+ "energy_decay_bounds": [
185
+ 0.3,
186
+ 0.95
187
+ ]
188
+ },
189
+ "final_atoms_before_validation": 58,
190
+ "stream": true,
191
+ "bytes_seen": 65536
192
+ },
193
+ "validation": {
194
+ "transitions": 256,
195
+ "loss": 1.1553669280856411,
196
+ "total_perplexity": 3.175188269559367,
197
+ "byte_loss": 1.1512991201693827,
198
+ "byte_perplexity": 3.1622984480139547,
199
+ "source": "stream_ring"
200
+ },
201
+ "checkpoint": "checkpoints/byte_tick_bptt_k128_mix/atom_native_step_1680000_d32_bptt_k128_mix.pt",
202
+ "reload": {
203
+ "n_atoms": 0,
204
+ "field_norm": 0.1693684607744217,
205
+ "time": 79.9986801147461,
206
+ "finite": true
207
+ },
208
+ "generation": {
209
+ "The future of AI is": {
210
+ "temperature": 0.8,
211
+ "top_k": 5,
212
+ "max_length": 20,
213
+ "bytes_hex": "4a65207375206427",
214
+ "text": "Je su d'",
215
+ "reload_text": "Je su d'",
216
+ "reload_match": true
217
+ },
218
+ "Bonjour, je m'appelle": {
219
+ "temperature": 0.8,
220
+ "top_k": 5,
221
+ "max_length": 20,
222
+ "bytes_hex": "4a65207375206427",
223
+ "text": "Je su d'",
224
+ "reload_text": "Je su d'",
225
+ "reload_match": true
226
+ },
227
+ "Valkyria Chronicles III is": {
228
+ "temperature": 0.8,
229
+ "top_k": 5,
230
+ "max_length": 20,
231
+ "bytes_hex": "4a65207375206427",
232
+ "text": "Je su d'",
233
+ "reload_text": "Je su d'",
234
+ "reload_match": true
235
+ }
236
+ }
237
+ }
checkpoints/byte_tick_bptt_k128_mix/run_metrics_1720000_d32_bptt_k128_mix.json ADDED
@@ -0,0 +1,237 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "stream": true,
3
+ "data_path": null,
4
+ "data_glob": "data/corpus_fr_mix_[0-9]*.txt",
5
+ "shard_paths": [
6
+ "/workspace/exports/atom-ai/data/corpus_fr_mix_000.txt",
7
+ "/workspace/exports/atom-ai/data/corpus_fr_mix_001.txt",
8
+ "/workspace/exports/atom-ai/data/corpus_fr_mix_002.txt",
9
+ "/workspace/exports/atom-ai/data/corpus_fr_mix_003.txt"
10
+ ],
11
+ "data_bytes": 7394592,
12
+ "data_characters": null,
13
+ "atomizer_version": "atomizer-v1-byte-span",
14
+ "feature_dim": 320,
15
+ "packet_count": null,
16
+ "train_packet_count": null,
17
+ "validation_packet_count": 2048,
18
+ "mean_packet_bytes": null,
19
+ "max_packet_bytes": null,
20
+ "min_packet_bytes": null,
21
+ "bytes_seen": 65536,
22
+ "config": {
23
+ "d_model": 32,
24
+ "n_modes": 32,
25
+ "n_atoms_max": 64,
26
+ "max_span_bytes": 1,
27
+ "episode_length": 8000,
28
+ "episode_reset": true,
29
+ "atom_flush_every": 64,
30
+ "learning_rate": 0.002,
31
+ "surface_learning_rate": 0.002,
32
+ "steps": 8000,
33
+ "start_step": 1712000,
34
+ "seed": 20260913,
35
+ "surface_alphabet": 256,
36
+ "field_max_rms": 3.0,
37
+ "energy_decay_bounds": [
38
+ 0.3,
39
+ 0.95
40
+ ],
41
+ "stream": true,
42
+ "chunk_bytes": 65536,
43
+ "loop_shards": true,
44
+ "stream_buffer": 2048,
45
+ "stream_prefetch": true,
46
+ "stream_skip_packets": 0,
47
+ "last_atom_readout": true,
48
+ "last_atom_scale": 1.0,
49
+ "last_atom_scale_adaptive": false,
50
+ "last_atom_scale_min": 0.0,
51
+ "last_atom_scale_max": 1.0,
52
+ "field_hard_couple_scale": 0.0,
53
+ "last_atom_dropout": 0.5,
54
+ "field_leak": 0.05,
55
+ "field_leak_spectrum": null,
56
+ "field_leak_spectrum_gain": "none",
57
+ "field_leak_spectrum_slow_frac": 1.0,
58
+ "slow_mode_readout": false,
59
+ "slow_readout_rank": 64,
60
+ "slow_readout_ahat": "exclude",
61
+ "slow_readout_lr": null,
62
+ "slow_memory_loss": 0.0,
63
+ "slow_memory_lags": [
64
+ 16,
65
+ 32,
66
+ 64
67
+ ],
68
+ "slow_memory_target": "bag",
69
+ "efference_every": 0,
70
+ "free_run_aux_every": 0,
71
+ "free_run_aux_horizon": 4,
72
+ "free_run_aux_weight": 1.0,
73
+ "enable_merge": false,
74
+ "payload_copy": false,
75
+ "merge_coherence_threshold": 0.45,
76
+ "merge_energy_floor": 0.08,
77
+ "field_loss_weight": 0.05,
78
+ "field_contrast_weight": 0.0,
79
+ "field_ignorance_weight": 0.08,
80
+ "field_ignorance_ablate_shared": false,
81
+ "field_ignorance_prompt_bank": false,
82
+ "field_obligatory_readout": true,
83
+ "field_obligatory_hard": true,
84
+ "printable_aux_weight": 0.0,
85
+ "field_next_packet_weight": 0.0,
86
+ "slow_every": 1,
87
+ "field_bptt": 128,
88
+ "field_leak_learnable": true,
89
+ "stream_skip_bytes": 608000
90
+ },
91
+ "packets_seen": 65536,
92
+ "stream_epoch": 0,
93
+ "train": {
94
+ "steps": 8000,
95
+ "efference_every": 0,
96
+ "free_run_aux_every": 0,
97
+ "free_run_aux_horizon": 4,
98
+ "free_run_aux_weight": 1.0,
99
+ "efference_steps": 0,
100
+ "field_bptt": 128,
101
+ "bptt_windows": 63,
102
+ "field_leak_learnable_rates": [
103
+ 0.2812689244747162,
104
+ 0.3619617223739624,
105
+ 0.15832066535949707,
106
+ 0.2400067150592804,
107
+ 0.2243746519088745,
108
+ 0.318925678730011,
109
+ 0.272644966840744,
110
+ 0.16585779190063477,
111
+ 0.20562595129013062,
112
+ 0.16399800777435303,
113
+ 0.1094951331615448,
114
+ 0.18695788085460663,
115
+ 0.35893818736076355,
116
+ 0.7612906098365784,
117
+ 0.4403144121170044,
118
+ 0.5398162007331848,
119
+ 0.3397994935512543,
120
+ 0.5101497769355774,
121
+ 0.37088844180107117,
122
+ 0.36206647753715515,
123
+ 0.4253099262714386,
124
+ 0.26382380723953247,
125
+ 0.23801271617412567,
126
+ 0.2422337830066681,
127
+ 0.3436702787876129,
128
+ 0.32509443163871765,
129
+ 0.3688523471355438,
130
+ 0.2930602729320526,
131
+ 0.2839611768722534,
132
+ 0.3078254163265228,
133
+ 0.24626755714416504,
134
+ 0.4446651041507721
135
+ ],
136
+ "free_run_aux_steps": 0,
137
+ "last_atom_scale": 1.0,
138
+ "last_atom_scale_adaptive": false,
139
+ "last_atom_scale_min": 0.0,
140
+ "last_atom_scale_max": 1.0,
141
+ "field_hard_couple_scale": 0.0,
142
+ "last_atom_dropout": 0.5,
143
+ "field_leak": 0.05,
144
+ "field_leak_spectrum": null,
145
+ "field_leak_spectrum_gain": "none",
146
+ "field_leak_spectrum_slow_frac": 1.0,
147
+ "slow_mode_readout": false,
148
+ "slow_readout_ahat": "exclude",
149
+ "slow_readout_lr": null,
150
+ "slow_memory_loss": 0.0,
151
+ "slow_memory_lags": [
152
+ 16,
153
+ 32,
154
+ 64
155
+ ],
156
+ "slow_memory_target": "bag",
157
+ "slow_memory_loss_mean": null,
158
+ "slow_memory_loss_last_1000": null,
159
+ "start_step": 1712000,
160
+ "total_steps": 1720000,
161
+ "episode_length": 8000,
162
+ "episode_reset": true,
163
+ "atom_flush_every": 64,
164
+ "elapsed_seconds": 74.49479142199561,
165
+ "transitions_per_second": 107.39005838249639,
166
+ "first_loss": 15.9537992477417,
167
+ "final_loss": 1.1094855070114136,
168
+ "final_total_perplexity": 3.032797639849954,
169
+ "finite_losses": true,
170
+ "finite_parameters": true,
171
+ "nan_or_inf": false,
172
+ "field_rms_before_max": 0.021175356581807137,
173
+ "field_rms_after_max": 0.021175356581807137,
174
+ "field_scale_min": 1.0,
175
+ "field_norm_max": 0.6768553256988525,
176
+ "field_limited_steps": 0,
177
+ "field_limited_fraction": 0.0,
178
+ "final_dynamics": {
179
+ "coupling_scale": 1.3405709266662598,
180
+ "energy_decay": 0.3069625794887543,
181
+ "phase_sync": 0.889988124370575,
182
+ "energy_decay_before": 0.3069625794887543,
183
+ "energy_decay_repaired": false,
184
+ "energy_decay_bounds": [
185
+ 0.3,
186
+ 0.95
187
+ ]
188
+ },
189
+ "final_atoms_before_validation": 58,
190
+ "stream": true,
191
+ "bytes_seen": 65536
192
+ },
193
+ "validation": {
194
+ "transitions": 256,
195
+ "loss": 2.015277966503163,
196
+ "total_perplexity": 7.5028126219644085,
197
+ "byte_loss": 2.0113292363094653,
198
+ "byte_perplexity": 7.473244456001308,
199
+ "source": "stream_ring"
200
+ },
201
+ "checkpoint": "checkpoints/byte_tick_bptt_k128_mix/atom_native_step_1720000_d32_bptt_k128_mix.pt",
202
+ "reload": {
203
+ "n_atoms": 0,
204
+ "field_norm": 0.20565296709537506,
205
+ "time": 79.9986801147461,
206
+ "finite": true
207
+ },
208
+ "generation": {
209
+ "The future of AI is": {
210
+ "temperature": 0.8,
211
+ "top_k": 5,
212
+ "max_length": 20,
213
+ "bytes_hex": "4f75692c20746f75",
214
+ "text": "Oui, tou",
215
+ "reload_text": "Oui, tou",
216
+ "reload_match": true
217
+ },
218
+ "Bonjour, je m'appelle": {
219
+ "temperature": 0.8,
220
+ "top_k": 5,
221
+ "max_length": 20,
222
+ "bytes_hex": "41766563206c6169",
223
+ "text": "Avec lai",
224
+ "reload_text": "Avec lai",
225
+ "reload_match": true
226
+ },
227
+ "Valkyria Chronicles III is": {
228
+ "temperature": 0.8,
229
+ "top_k": 5,
230
+ "max_length": 20,
231
+ "bytes_hex": "41766563206c6169",
232
+ "text": "Avec lai",
233
+ "reload_text": "Avec lai",
234
+ "reload_match": true
235
+ }
236
+ }
237
+ }
checkpoints/gpu_smoke_b512/atom_native_step_4000_smoke_b512.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d5fb5e1bd86cea3650f61e5678558401d527b434cf50e335e87a7774dc8f7c6f
3
+ size 10096441
checkpoints/gpu_smoke_b512/progress.tsv ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ time tick bytes_total bytes_per_s train_loss byte_ce persist grad_norm leak_mean val_ce val_field_alone ckpt samples
2
+ 2026-09-30T21:05:11 1000 512000 39045 1.8098 1.8059 0.0780 0.170 0.3053 1.2957 1.3174 checkpoints/smoke_b512/atom_native_step_1000_smoke_b512.pt {"Bonjour, comment ça va ?": "Je d'escord une cheauverte, que la cheur quellantre cairente ces puirent à tourariont li ren l", "Qui es-tu ?": "Avec toute set mégérat.\nUtilisateur: Tu es de claisent à lis de, d'un les prordeveux, don de", "Il était une fois": "Avec toute set mégérat.\nUtilisateur: Tu es de claisent à lis d'hamant, pomme à sons.\n\n"}
3
+ 2026-09-30T21:05:31 2000 1024000 37840 1.7619 1.7580 0.0781 0.116 0.3064 1.2615 1.2934 checkpoints/smoke_b512/atom_native_step_2000_smoke_b512.pt {"Bonjour, comment ça va ?": "Oui, que pelle ent�. Des, sa chala posse autres pé supitais couter etre pes, de tromme l'il po", "Qui es-tu ?": "Oui, que d'aimons epps l'irce qu'il dempies pris étatre qui avec toure ce phourcurées, dans s", "Il était une fois": "Oui, que d'ai avoun, je perle vais de consire que actraient léchi du de tes d'accord ?\nC'amait"}
4
+ 2026-09-30T21:05:51 3000 1536000 38582 1.7347 1.7308 0.0773 0.117 0.3073 1.2457 1.2780 checkpoints/smoke_b512/atom_native_step_3000_smoke_b512.pt {"Bonjour, comment ça va ?": "Je susi d'accord une sestent à de le conss les pématait quet les. Arton, cron véfli, a fait ", "Qui es-tu ?": "Avec tout precrertevec loier de contaient les de nois.\nAssistant: D'accord je t'éce quide le t", "Il était une fois": "Avec toins tapoit agacler épours de que d'acce que sorent deur l'ondes talent plus prosanient "}
5
+ 2026-09-30T21:06:11 4000 2048000 40270 1.7356 1.7317 0.0778 0.098 0.3086 1.2307 1.2644 checkpoints/smoke_b512/atom_native_step_4000_smoke_b512.pt {"Bonjour, comment ça va ?": "Je susi désabonteturs dans par sans est un pas se boit cembluienté poure léchommentèmes de ", "Qui es-tu ?": "Je susi du me machame. Carle que les avaisseur avait elles plus d'inest sersur alis, checle de ", "Il était une fois": "Je susi désa mouve. l'ames a faisse n'entres le faiser suse ses lisser este, qui et lail fait "}
data/corpus_fr_mix_000.txt ADDED
The diff for this file is too large to render. See raw diff
 
data/corpus_fr_mix_001.txt ADDED
The diff for this file is too large to render. See raw diff
 
data/corpus_fr_mix_002.txt ADDED
The diff for this file is too large to render. See raw diff
 
data/corpus_fr_mix_003.txt ADDED
The diff for this file is too large to render. See raw diff