kkuette commited on
Commit
0fae432
·
verified ·
1 Parent(s): bafaa0e

Final run numbers (step 19600)

Browse files
Files changed (1) hide show
  1. README.md +40 -27
README.md CHANGED
@@ -23,10 +23,9 @@ datasets:
23
  - armanc/scientific_papers
24
  ---
25
 
26
- <!-- This file is the model card for the public HF release of the 350M phase-1
27
- model. ⟨angle-bracket⟩ fields are placeholders to fill at release time
28
- with the final run numbers. Source of truth for claims: FINDINGS.md and
29
- the paper (DOI 10.5281/zenodo.21225721). -->
30
 
31
  ![Fractale — the model reads page by page, writes 8 self-written notes, and thinks through them](assets/fractale-banner.png)
32
  <!-- PNG, not SVG: the HF Hub does not render SVG images in model cards.
@@ -194,13 +193,14 @@ covers the **model weights and code**, not the training texts; generated
194
  output may occasionally reproduce fragments of training data subject to
195
  their original terms.
196
 
197
- **Recipe.** 8× A100-80GB (DDP), batch 32/GPU, ⟨19600⟩ steps ≈ 550k
198
- tokens/step; AdamW (3e-4) + Muon (7.5e-4, `√cols`-normalized with
199
- `muon_ref_mem_dim` correction) ; WSD schedule (step decay from step ⟨2000⟩);
200
- grad clip 1.0; a NaN guard skips the update when the all-reduced grad norm is
201
- non-finite, and the persistent bank state is sanitized between files (a NaN
202
- written into a carried bank otherwise contaminates every later step).
203
- Total compute: ~30 h ⟨$300⟩ the entire run was self-funded.
 
204
 
205
  **Training incident, disclosed.** At ~step 2500 the run hit a forward-pass
206
  NaN that contaminated the carried bank; it was caught, the run resumed from
@@ -208,14 +208,20 @@ the last verified-clean checkpoint (step 2500), and the learning-rate
208
  schedule was brought forward (decay from step 2000 instead of 60%) — the
209
  skip-rate telemetry showed full-LR updates were pushing the weights into the
210
  overflow region. The NaN guard and bank sanitization above were added as a
211
- result. Post-resume, all health metrics (bank advantage, in-context ppl,
212
- depth flatness) improved monotonically through the rest of training.
213
-
214
- **Checkpoint provenance.** This checkpoint is `model.pt` = step ⟨19600⟩
215
- (fp32, self-describing `{"cfg", "model"}`) of a single training run of
216
- [`v350_phase1_10b.yaml`](https://github.com/kkuette/thought-bank/blob/main/deepseek_v4_mini/configs/v350_phase1_10b.yaml),
217
- trained with `deepseek_v4_mini.code_defer_native` at thought-bank commit
218
- ⟨commit⟩. The [usage repo](https://github.com/fractale-lm/fractale) vendors its
 
 
 
 
 
 
219
  inference code from that same commit.
220
 
221
  **Curriculum provenance.** Phase 1 is the *batched* recipe (fixed chunks, no
@@ -247,16 +253,23 @@ content shifts the prediction toward the true continuation of a document the
247
  model has never seen. It is an exact content control — same weights, same
248
  target, the only difference is whether the written gists are present.
249
 
 
 
 
250
  | Metric (held-out) | Value |
251
  |---|---|
252
- | GAP, code (codeparrot) | +8.3⟩ nats |
253
- | GAP, web (fineweb) | +6.5⟩ nats |
254
- | GAP by depth (2→8 chunks written) | ⟨flat no FIFO cliff⟩ |
255
- | In-context ppl, code / web | ⟨8.6 / 93⟩ |
256
-
257
- ⟨Final-checkpoint numbers + a plot of GAP over training to be inserted at
258
- release; mid-run trajectory: all three axes (GAP, in-context ppl, depth
259
- flatness) improved monotonically from step 500 to ⟨N⟩.
 
 
 
 
260
 
261
  Two caveats we state up front rather than in fine print:
262
 
 
23
  - armanc/scientific_papers
24
  ---
25
 
26
+ <!-- Model card for Fractale-350M-base (phase-1 final, step 19600).
27
+ Source of truth for claims: FINDINGS.md and the paper
28
+ (DOI 10.5281/zenodo.21225721). -->
 
29
 
30
  ![Fractale — the model reads page by page, writes 8 self-written notes, and thinks through them](assets/fractale-banner.png)
31
  <!-- PNG, not SVG: the HF Hub does not render SVG images in model cards.
 
193
  output may occasionally reproduce fragments of training data subject to
194
  their original terms.
195
 
196
+ **Recipe.** 8× A100-80GB (DDP), batch 32/GPU, 19,600 steps ≈ 550k
197
+ tokens/step (~10.8B tokens seen); AdamW (1.5e-4) + Muon (3.75e-4,
198
+ `√cols`-normalized with `muon_ref_mem_dim` correction); WSD schedule (step
199
+ decay from step 2000); grad clip 1.0; a NaN guard skips the update when the
200
+ all-reduced grad norm is non-finite, and the persistent bank state is
201
+ sanitized between files (a NaN written into a carried bank otherwise
202
+ contaminates every later step). Total compute: ~30 h of pod time $320,
203
+ including the incident replay below — the entire run was self-funded.
204
 
205
  **Training incident, disclosed.** At ~step 2500 the run hit a forward-pass
206
  NaN that contaminated the carried bank; it was caught, the run resumed from
 
208
  schedule was brought forward (decay from step 2000 instead of 60%) — the
209
  skip-rate telemetry showed full-LR updates were pushing the weights into the
210
  overflow region. The NaN guard and bank sanitization above were added as a
211
+ result. The guard kept firing for the rest of the run (~16% of updates
212
+ skipped overall, escalating late in training despite LR decay — the drift is
213
+ in the weights, not the LR; root-causing it is on the phase-2 list), yet all
214
+ health metrics (bank advantage, in-context ppl, depth flatness) improved
215
+ monotonically to the end: code-side bank advantage still rose +8.74 → +9.42
216
+ nats over the final 1,100 steps.
217
+
218
+ **Checkpoint provenance.** This checkpoint is `model.pt` = step 19,600 (the
219
+ final step; fp32, self-describing `{"cfg", "model"}`) of a single training
220
+ run of `v350_phase1_10b.yaml`, trained with
221
+ `deepseek_v4_mini.code_defer_native` at thought-bank commit
222
+ [`073bb67`](https://github.com/kkuette/thought-bank/commit/073bb67) (branch
223
+ `claude/status-check-2fa903` — config and stability patches exactly as run).
224
+ The [usage repo](https://github.com/fractale-lm/fractale) vendors its
225
  inference code from that same commit.
226
 
227
  **Curriculum provenance.** Phase 1 is the *batched* recipe (fixed chunks, no
 
253
  model has never seen. It is an exact content control — same weights, same
254
  target, the only difference is whether the written gists are present.
255
 
256
+ Final checkpoint (step 19,600), held-out documents, 3090 eval harness
257
+ (re-run noise ~±0.3 nats):
258
+
259
  | Metric (held-out) | Value |
260
  |---|---|
261
+ | GAP, code (codeparrot) | **+9.42 nats** (CE 12.86 reset → 3.45 carried) |
262
+ | GAP, web (fineweb) | **+7.27 nats** |
263
+ | GAP at position 0 (bank only, first deferred token block) | +9.45 nats (code) |
264
+ | GAP by depth (2→8 chunks written) | flat, d2 d8, both sources — no FIFO cliff |
265
+ | In-context ppl, code / web | 8.4 / 94 |
266
+
267
+ The trajectory over training is the point, not just the endpoint: from step
268
+ 500 to 19,600 the code GAP rose +1.04 → +9.42 nats (web +2.05 → +7.27) and
269
+ in-context ppl fell monotonically (code 237 → 8.4). The gap widened from
270
+ *both* sides — the bank-only arm kept sharpening while the no-bank arm
271
+ degraded — i.e. the model grew **more dependent on its memory** as training
272
+ progressed, which is exactly the behaviour the objective selects for.
273
 
274
  Two caveats we state up front rather than in fine print:
275