unparallelled commited on
Commit
31557bf
·
verified ·
1 Parent(s): 2fb5680

Upload docs/EVAL_COMPARISON_2026-09-02.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. docs/EVAL_COMPARISON_2026-09-02.md +0 -70
docs/EVAL_COMPARISON_2026-09-02.md CHANGED
@@ -134,73 +134,3 @@ Caveat recorded: the flux haystack contains ~6 `<|endoftext|>` tokens per
134
  16,360-token prompt (document separators a base model may treat as resets). Not
135
  a factor for the depth-1.0 failure, and the NLL needles used the same filler, so
136
  the two remain comparable on that axis.
137
-
138
- ---
139
-
140
- # ADDENDUM (same day, later) — a YaRN config bug, and why the numbers above are provisional
141
-
142
- ## The bug
143
-
144
- `YARNOps.cpp:57` defaults `YARN_ORIG_MAXPOS` to **1024**, but the base model (run8)
145
- trained at `context_length 4096`. So every run in this project — training, the NLL
146
- probes, and all the generative numbers above — emitted:
147
-
148
- ```
149
- [YaRN][warn] seq_len(16384) != scale(4.000)*orig_maxpos(1024.0)=4096.0
150
- -- cache scaled for a different context than it is sized for
151
- ```
152
-
153
- The YaRN interpolation ramp targeted 4096 positions while the cache was *sized* 16384.
154
- Setting `YARN_ORIG_MAXPOS=4096` makes `scale x orig == seq_len` exactly and moves the
155
- ramp from `low=7 high=25` to `low=14 high=32`.
156
-
157
- ## What the fix does — niah_single, buggy -> corrected
158
-
159
- context base arm_a arm_b arm_c
160
- 1,024 84 -> 90 78 -> 86 64 -> 70 76 -> 82
161
- 2,048 82 -> 94 66 -> 78 56 -> 64 70 -> 80
162
- 4,096 74 -> 16 ! 62 -> 54 48 -> 42 60 -> 48
163
- 8,192 40 -> 36 36 -> 42 36 -> 32 40 -> 44
164
- 16,360 0 -> 17 0 -> 17 0 -> 4 0 -> 18
165
-
166
- At 16,360 with N=100/cell the depth curve goes from flat zero to:
167
- d0.50 0-5%, d0.75 20-30%, d1.00 55-65%. That is 0/100 -> 17/100, p<0.001.
168
-
169
- So the cache bug was suppressing real ability **at every depth and every length**, not
170
- only at 16k. Depth 0.0 (needle at the window start) improves too: base 75 -> 85%,
171
- arm_a 35 -> 55% when pooled over 1k+2k.
172
-
173
- ## The unexplained 4,096 collapse
174
-
175
- Every model drops at 4,096 under the corrected cache, and `base` falls **74% -> 16%**.
176
- A 58-point collapse at one length for one model, while its neighbours at 2k and 8k both
177
- improve, is not a smooth capability change. The suspicious coincidence: 4,096 is
178
- exactly `orig_maxpos`, so the ramp hits a boundary case there.
179
-
180
- **This has not been diagnosed, and it invalidates the corrected-cache reach column** —
181
- `base`'s "best reach" appears to fall 3,482 -> 2,048 purely because that one row went
182
- to zero. Isolation needed: re-run base at 4,096 with N=100 to confirm it reproduces
183
- rather than being a 50-sample fluke, and bracket at 3,840 / 4,352 to see whether the
184
- failure is pinned to exactly `orig_maxpos`.
185
-
186
- ## What this means for the main report above
187
-
188
- - STILL HOLDS: no U-shape in either metric (pure recency, no primacy bump at depth 0)
189
- under both cache parameterisations; arm_b worst in every measurement; forward
190
- retrieval works and backward retrieval does not; the NLL/generative ranking
191
- disagreement (NLL puts arm_c first, generation puts the untrained base first).
192
- - NOW PROVISIONAL: every reach number, including the "saturates at 2,700-3,500
193
- tokens" headline and the "NLL overstates 2-4.7x" factor. All of those were measured
194
- under the buggy cache, and the corrected-cache column cannot replace them until the
195
- 4,096 anomaly is understood.
196
- - PREMATURE: retraining with the corrected value. Training on a parameterisation that
197
- has a pathological point would bake the pathology in.
198
-
199
- ## Correction to a claim in section 6 above
200
-
201
- I wrote that reach and the p90 training-document length (2,721) are "the same number."
202
- That is arithmetically true but I selected the percentile that matched — the mean
203
- (1,340) and median (826) are both well below the measured reach. The defensible claim
204
- is that reach lands in the **upper range** of the document-length distribution, not that
205
- it equals p90. The mechanism (99.7% of documents end before 16k, so no gradient signal
206
- for attending further) is unaffected.
 
134
  16,360-token prompt (document separators a base model may treat as resets). Not
135
  a factor for the depth-1.0 failure, and the NLL needles used the same filler, so
136
  the two remain comparable on that axis.