unparallelled commited on
Commit
30fcbeb
·
verified ·
1 Parent(s): fcc3574

Upload docs/RESULTS_l3long_2026-09-09.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. docs/RESULTS_l3long_2026-09-09.md +80 -0
docs/RESULTS_l3long_2026-09-09.md ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # l3long (run 17) -- does MORE step count at 16k flatten the NIAH slope?
2
+
3
+ Stopped early at step 2450 of 4000 on 2026-09-09 18:2x UTC for instance teardown.
4
+
5
+ ## Question
6
+
7
+ l1/l2/l3 all landed on an 8k->16k slope of -18 to -29 pp/doubling and tied at 16k
8
+ (l2 35.0 vs l3 35.0). Document length was exhausted as a lever inside a 16k
9
+ window. Step count was the remaining untested lever.
10
+
11
+ ## Setup
12
+
13
+ parent blumodelcp_run6_step_750.ckpt (run7', same parent as l3@400)
14
+ context_length 16384 (YaRN scale 4.000 x orig_maxpos 4096)
15
+ data lendata/b3_16384_32768 (16k-32k docs, truncated to the window)
16
+ global_batch 524288 tokens (grad_accum 32)
17
+ max_lr/min_lr 6e-4 / 6e-5
18
+ schedule WSD, warmup 100, stable 3800, decay tail 100 (decay from 3900)
19
+ rewarmup CP_REWARMUP_PEAK 0.3 -> flat 1.8e-4
20
+ rate 11.56 s/step measured
21
+
22
+ IMPORTANT: this is a 16k run, NOT a 32k run. The "32768" in the data path is the
23
+ document-length bucket, not the context window. No 32k extension has been run.
24
+
25
+ ## NIAH single-needle accuracy (%)
26
+
27
+ | prompt_len | armA_c | l1 | l2 | l3 | l3long@1000 | l3long@2000 |
28
+ |---|---|---|---|---|---|---|
29
+ | 4096 | 73.0 | 75.0 | 80.0 | 74.0 | 65.0 | 68.0 |
30
+ | 8192 | 53.0 | 48.0 | 62.0 | 64.0 | 55.0 | 54.0 |
31
+ | 16360 | 33.0 | 30.0 | 35.0 | 35.0 | 36.0 | 43.0 |
32
+
33
+ ## Reading
34
+
35
+ Step count IS a live lever at 16k, unlike document length. At 16360 l3long went
36
+ 36.0 -> 43.0 between step 1000 and 2000: +7 pp from step count alone, and +8 pp
37
+ over the previous ladder best (l2/l3 tied at 35.0). That is the largest margin
38
+ anything has opened at 16k in this series.
39
+
40
+ Short context is recovering rather than degrading: 4096 went 65.0 -> 68.0 and
41
+ 8192 held flat at 54-55.
42
+
43
+ Two caveats that keep this suggestive rather than settled:
44
+ 1. l3long is still 12 pp behind l2 at 4096 (68 vs 80). The short-context cost is
45
+ real, only shrinking.
46
+ 2. 100 samples per cell, so +7 pp is roughly 1.5 sigma.
47
+ 3. Every l3long number is UNDECAYED (decay would not have begun until step
48
+ 3900). l3/l2 at step 400 are decayed. The comparison is biased AGAINST
49
+ l3long, so its wins are conservative and its 4096 deficit is overstated by
50
+ an unknown amount.
51
+
52
+ ## Operational finding: silent checkpoint loss
53
+
54
+ CP_CKPT_KEEP prunes .ckpt files but NOT their .zero_g1 optimizer sidecars. At
55
+ CP_CKPT_FREQ=25 that leaked ~49 GB of orphans and filled a 193 GB disk. Every
56
+ save from step 1275 to 1625 then failed while training carried on normally,
57
+ because a failed save only emits
58
+
59
+ [WARN] checkpoint save at step NNNN failed: Failed to flush checkpoint to: ...
60
+
61
+ No crash, no backpressure, no exit code. 75 minutes of checkpointing was lost and
62
+ the run would have rolled back to step 1250 had it died.
63
+
64
+ Mitigation used here: ckpt_janitor.sh, a detached 5-minute loop that deletes
65
+ sidecars with no surviving .ckpt, removes .tmp older than 10 minutes, and warns
66
+ below 25 GB free. It reclaimed 928 MB per cycle, exactly offsetting the leak.
67
+
68
+ The real fix belongs in CheckpointManager: prune the sidecar with its .ckpt, and
69
+ treat a failed flush as fatal rather than a warning.
70
+
71
+ ## Next
72
+
73
+ 1. Decay check: STEPS=1100 STABLE=900 from the step-1000 ckpt, to size how much
74
+ of the 4096 deficit is just the missing decay tail.
75
+ 2. ext_32k.sh -- written, never run. YaRN-extend l2 to 32768 (2 x 16384), 750
76
+ steps. Needs both H200s at a projected 130.8 GB/GPU (91.4%); it self-gates
77
+ with a 3-step OOM probe. PARENT IS lenbucket_l2_blumodelcp_run2_step_400.ckpt
78
+ -- do not delete that checkpoint.
79
+ 3. Resume l3long from step 2450 to 4000 if the trend is worth confirming; the
80
+ sidecars are uploaded so the optimizer state survives.