| D1 |
2026-10-29 |
Repository lives at Recherche-UQO/ia/prisme-slm (new ia/ category of the UQO series); Python 3.12 venv via uv, PyTorch 2.15 (CPU/MPS), fp32 training. |
Series convention; bf16 autocast gave no speed-up on MPS (15.3k vs 15.0k tok/s on M3 Ultra). |
| D2 |
2026-10-29 |
A dedicated bank_norm RMSNorm precedes the bank/z projections. |
The pre-final-norm residual stream has growing norm; projecting it raw would couple editor dynamics to residual scale. Costs d parameters. |
| D3 |
2026-10-29 |
Workspace/controller parameter counts are NOT forced to the brief's figures. |
The brief's figures are reproduced exactly by a closed form (4dw+Mw+17w²+6wf_w+15.5w+4); the implemented design needs 7 fewer w×w projections per config (bank is read directly; readout uses raw slot values; controller shares one state MLP across the 24 actions so that scoring costs O(A·w²) not O(A·w·f_w)). Reconciliation reported in results/tables/param_counts.json. |
| D4 |
2026-10-29 |
STOP is absorbing in forced-action training too. |
Needed for incremental/full-prefix equivalence (test revealed the mismatch). |
| D5 |
2026-10-29 |
Cost proxy c(a) in the controller's Q is the analytic ops ratio of the action (not a learned ĉ); the ĉ head is kept as a diagnostic regressor. |
Per-action cost is deterministic given k(a) and T; learning it adds noise without information. |
| D6 |
2026-10-29 |
Synthetic splits are deduplicated by exact text across splits (train written first); eval items colliding with train are dropped and counted. |
Low-depth cells have few distinct items; 995 train dups, 256 dev_iid dups removed. |
| D7 |
2026-10-29 |
Phase 4 uses a character-level tokenizer and a 2.1M-parameter backbone trained from scratch on the synthetic train split. |
Self-contained learnability test independent of the web corpus/tokenizer. |
| D8 |
2026-10-29 |
103M pilot backbone: 196.6M tokens (12k steps × 32 × 512) of FineWeb-Edu, one seed; parameter-matched plain decoder baseline (ffn 2144, 102.16M) trained with the identical recipe on a second node. |
~3.7 h per run at 14.8k tok/s on an M3 Ultra; seeds are varied at the editor/controller stage where the pilot's decisive comparison lives. |
| D9 |
2026-10-29 |
readout_scale: Δ = readout_scale · U(r(S_f) − r(S0)), with readout_scale a fixed constant set once at bootstrap to the measured rms of the backbone residual stream (5.6 for the tiny backbone). |
Scale mismatch blocked the U = 0 bootstrap (see FAILURES). The final RMSNorm makes logits invariant to the joint scale of h and Δ, so this is a reparametrisation of U's learning rate; identity properties are unchanged (tests pass). |