Quazim0t0 commited on
Commit
7bd9dd5
Β·
verified Β·
1 Parent(s): 786f87d

5.7M 2x2: seed 2 destales the both-vs-std Wiki win

Browse files
Files changed (1) hide show
  1. README.md +58 -38
README.md CHANGED
@@ -200,7 +200,8 @@ before they opened). That is an inference knock-out on this checkpoint,
200
  not a model trained without MC. The 114M twin also dropped fractal RoPE,
201
  so it is not an MC-only ablation. A 5.7M 2Γ—2 that *does* isolate the
202
  knobs is in [`5m-ablation/`](5m-ablation/README.md). MC alone did not
203
- help there. MC+fractal together did, at train length, one seed.
 
204
 
205
  If you write a loader: this branch is a full-sequence op. It uses the whole
206
  `x` given to `forward`. Naive KV cache feeds it one token, it rebuilds
@@ -318,48 +319,66 @@ does exist. That is the isolation test. It is not this 114M card.
318
 
319
  ### 5.7M matched 2Γ—2 (10k steps)
320
 
321
- Same blend as the nomc twin. Four runs. Only `use_memory_cache` and
322
- `use_fractal_rope` change.
 
 
323
 
324
- | run | MC | RoPE | WikiText-2 PPL @1024 | unique PPL @1024 | unique @2048 | unique @4096 |
325
- |---|---|---|---:|---:|---:|---:|
326
- | std | off | geometric | 34.82 | 46.75 | **56.57** | **98.51** |
327
- | mc | on | geometric | 41.23 | 161 | 199 | 267 |
328
- | fractal | off | Ξ³=1 | 40.49 | 145 | 218 | 303 |
329
- | both | on | Ξ³=1 | **32.82** | **26.67** | 76.41 | 159 |
330
 
331
- Val loss at 10k: both 4.87, std 4.96, fractal 5.00, mc 5.06.
 
 
 
 
 
332
 
333
- **MC alone does not help at this size.** Worse PPL, worse stretch.
334
- **Fractal alone does not help.** Worse PPL, worse stretch.
335
- **Swapping fractal onto finished std weights after training** (nothing
336
- else on): unique 1024 goes 46.75 β†’ 54.95, 2048 56.57 β†’ 60.58. Post-hoc
337
- switch does not help.
338
- **Both together** is the only cell that beats std *at train length*.
339
- Past 1024 it falls off faster than std (bin 1024–1280 already 101 vs
340
- std 46). Stretching the window is a win for plain geometric, not for
341
- MC. MQAR is 0/16 on every cell.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
342
 
343
  That is a 5.7M / 10k result. It is not a 114M result. 10k may also be
344
  early for the zero-init mix-in: |tanh(gate)| ~0.25 here vs ~0.60 on the
345
  114M DPO. The paper's growing memory is with **context length**, not
346
  steps. Gate-opening over training is this code. A longer 5M run is
347
- untested. Weights: [`5m-ablation/`](5m-ablation/README.md).
348
-
349
- **Why both, if each knob alone is worse.** I do not have a second
350
- seed, so this could still be luck. What I measured:
351
-
352
- - `both` actually uses the branch. Unique PPL 26.67 β†’ 33.93 when
353
- `mc_gate` is zeroed. `mc` alone is 161 β†’ 170 on an already-bad net.
354
- - Gate *strength* is similar (`mean |tanh|` ~0.25 vs ~0.26). The
355
- difference is **sign**. `mc` (geometric) has mixed +/βˆ’ gates; layer 0
356
- never left zero. `both` (fractal) has layers 1–4 the same sign
357
- (positive). Same residual, one net fights itself, the other does not.
358
- - Hypothesis, not proof: at this width, segment routing next to a
359
- geometric schedule did not settle; next to Cantor frequencies it
360
- did. Fractal without the branch is just a worse positional prior
361
- here. To actually pin that down you need another seed, or freeze
362
- RoPE and only train MC.
 
363
 
364
  The 114M nomc twin is still two knobs. Do not read 9.26 Wiki (twin
365
  40.5k, current blend) vs 9.08 (`base_62k`, Dolma history) as MC.
@@ -660,8 +679,8 @@ If you copy one piece of architecture, copy the Memory Cache branch
660
  below). I have not proven it helps at 114M. Paper recall tests on this
661
  62k base are chance with the branch on or off. A matched 5.7M 2Γ—2 on
662
  the current blend says **MC alone did not help PPL or long context**;
663
- **MC+fractal together** was the only cell that beat the nothing-on
664
- baseline at train length. That is 5M / 10k, one seed, and |tanh(gate)|
665
  there is ~0.25 vs ~0.60 on this 114M DPO β€” the mix-in may still be
666
  opening. The paper does not say "train longer and MC appears"; it says
667
  memory grows with **how many segments the sequence has**. The
@@ -707,7 +726,8 @@ see that section).
707
  **What is still missing at 114M.** A train that changes only MC,
708
  fractal left on. The nomc twin also dropped fractal RoPE, so it is not
709
  that experiment. The 5.7M 2Γ—2 *is* that experiment at small scale:
710
- MC alone did not help; MC+fractal together did, at 1024, one seed.
 
711
  Weights and write-up: [`5m-ablation/`](5m-ablation/README.md). Paper
712
  recall tests (S-NIAH, MQAR) on this 62k base are at chance with MC on
713
  or off; they do not prove MC. If you copy the branch anyway, copy the
 
200
  not a model trained without MC. The 114M twin also dropped fractal RoPE,
201
  so it is not an MC-only ablation. A 5.7M 2Γ—2 that *does* isolate the
202
  knobs is in [`5m-ablation/`](5m-ablation/README.md). MC alone did not
203
+ help there. MC+fractal together beat std at train length on seed 1
204
+ and did not on seed 2.
205
 
206
  If you write a loader: this branch is a full-sequence op. It uses the whole
207
  `x` given to `forward`. Naive KV cache feeds it one token, it rebuilds
 
319
 
320
  ### 5.7M matched 2Γ—2 (10k steps)
321
 
322
+ Same blend as the nomc twin. Four runs on seed 1. Seed 2 retrained
323
+ `std` and `both` only. Only `use_memory_cache` and `use_fractal_rope`
324
+ change. Eval is deterministic (repeat matched to the printed digits).
325
+ The seed gap is training, not measurement.
326
 
327
+ WikiText-2 PPL @1024 (20 windows):
 
 
 
 
 
328
 
329
+ | run | MC | RoPE | seed 1 | seed 2 |
330
+ |---|---|---|---:|---:|
331
+ | std | off | geometric | 34.82 | **30.86** |
332
+ | mc | on | geometric | 41.23 | β€” |
333
+ | fractal | off | Ξ³=1 | 40.49 | β€” |
334
+ | both | on | Ξ³=1 | **32.82** | 33.32 |
335
 
336
+ Unique-text PPL (native):
337
+
338
+ | | 512 | 1024 | 2048 | 4096 |
339
+ |---|---:|---:|---:|---:|
340
+ | std seed 1 | 45.14 | 46.75 | **56.57** | **98.51** |
341
+ | std seed 2 | **13.66** | **13.35** | **17.07** | **38.19** |
342
+ | mc seed 1 | 143 | 161 | 199 | 267 |
343
+ | fractal seed 1 | 131 | 145 | 218 | 303 |
344
+ | both seed 1 | 26.01 | **26.67** | 76.41 | 159 |
345
+ | both seed 2 | 31.25 | 32.03 | 76.82 | 176 |
346
+
347
+ Seed 1 val loss at 10k: both 4.87, std 4.96, fractal 5.00, mc 5.06.
348
+
349
+ **MC alone does not help at this size.** Worse PPL, worse stretch
350
+ (seed 1; not retrained).
351
+ **Fractal alone does not help.** Same.
352
+ **Swapping fractal onto finished std weights after training** still
353
+ does not help at 1024: seed 1 unique 46.75 β†’ 54.95; seed 2 13.35 β†’
354
+ 16.20.
355
+ **Both together** beat std at train length on seed 1 (Wiki 32.82 vs
356
+ 34.82). On seed 2, std won (30.86 vs 33.32). That 1024 win did not
357
+ replicate. Past 1024, both still falls off faster than std on both
358
+ seeds. Stretching the window is a win for geometric. MQAR is 0/16
359
+ every cell, both seeds.
360
 
361
  That is a 5.7M / 10k result. It is not a 114M result. 10k may also be
362
  early for the zero-init mix-in: |tanh(gate)| ~0.25 here vs ~0.60 on the
363
  114M DPO. The paper's growing memory is with **context length**, not
364
  steps. Gate-opening over training is this code. A longer 5M run is
365
+ untested. Weights: [`5m-ablation/`](5m-ablation/README.md) (seed 1).
366
+ Seed 2 lives with the 5M grid, not in this upload.
367
+
368
+ **Why both, if each knob alone is worse.** Seed 1 looked like an
369
+ interaction. Seed 2 did not copy the Wiki win. What still holds:
370
+
371
+ - `both` actually uses the branch, both seeds. Unique PPL seed 1
372
+ 26.67 β†’ 33.93 when `mc_gate` is zeroed; seed 2 32.03 β†’ 42.45.
373
+ `mc` alone is 161 β†’ 170 on an already-bad net (seed 1).
374
+ - Gate *strength* on seed 1 is similar (`mean |tanh|` ~0.25 vs
375
+ ~0.26). The difference is **sign**. `mc` (geometric) mixed +/βˆ’;
376
+ layer 0 never left zero. `both` (fractal) layers 1–4 the same
377
+ sign. Hypothesis, not proof, and it does not explain seed 2's
378
+ std unique-PPL crash from 46.75 to 13.35.
379
+ - I would not claim MC+fractal is the winner at 5M. I would claim
380
+ MC-only and fractal-only lost on the seed I ran, both is mixed
381
+ across two seeds, and std's unique-text number is seed-noisy.
382
 
383
  The 114M nomc twin is still two knobs. Do not read 9.26 Wiki (twin
384
  40.5k, current blend) vs 9.08 (`base_62k`, Dolma history) as MC.
 
679
  below). I have not proven it helps at 114M. Paper recall tests on this
680
  62k base are chance with the branch on or off. A matched 5.7M 2Γ—2 on
681
  the current blend says **MC alone did not help PPL or long context**;
682
+ **MC+fractal together** beat std at train length on seed 1 and lost
683
+ on seed 2. That is 5M / 10k, two seeds on std/both, and |tanh(gate)|
684
  there is ~0.25 vs ~0.60 on this 114M DPO β€” the mix-in may still be
685
  opening. The paper does not say "train longer and MC appears"; it says
686
  memory grows with **how many segments the sequence has**. The
 
726
  **What is still missing at 114M.** A train that changes only MC,
727
  fractal left on. The nomc twin also dropped fractal RoPE, so it is not
728
  that experiment. The 5.7M 2Γ—2 *is* that experiment at small scale:
729
+ MC alone did not help; MC+fractal together beat std at 1024 on seed 1
730
+ and not on seed 2.
731
  Weights and write-up: [`5m-ablation/`](5m-ablation/README.md). Paper
732
  recall tests (S-NIAH, MQAR) on this 62k base are at chance with MC on
733
  or off; they do not prove MC. If you copy the branch anyway, copy the