imagining syntax

Text set in serif type with a dotted bar in the margin was drafted by an LLM (claude-fable-5) and sometimes reviewed by the author. The rest is the author's own. How to read this site

peak_umm_iter

20260509_153511_peak_umm_iter · complete · published 2026-07-16 · seed 42

Intent

These notes were backfilled on 2026-07-05 from a run executed on 9 and 10 May 2026, before the experiment-manifest format existed, so both the manifest and this write-up are retroactive. The run is Stage 2 of the two-stage imsyn run peak-iter pipeline. Its Stage 3 analysis, the merged coarse-and-dense tables merged_metric.csv and refined_peaks.csv and the two figures copied into images/, lives in runs/_analysis/20260509_153511_peak_umm_iter/. The run directory's measurements.csv holds only each Z's nine-point dense bracket, so the low-Z peaks that fall at the source sweep's coarse waypoints appear only in those merged tables, and the per-α peaks reported below are read from them. The --source-sweep path in experiment.yaml points at the source run's location after the same backfill.

This run finds, more precisely for every Z, the iteration at which unseen_mismatch peaks. It starts from the coarse argmax per Z in the source sweep, then samples a dense nine-point geometric bracket of iterations around it with ten seeds at each point, so the peak can be read from a finer grid.

Background

Background: The coarse grid left the peak timing open \@{peakumm-background}

paper_long_iter, the paper's companion long-iteration sweep, recorded unseen_mismatch at only six coarse training iterations, which is too few to say when each Zipfian setting reaches its best generalization.

Hypothesis

Hypothesis: Three ways the coarse grid under-samples the peak \@{peakumm-hypothesis}

The six coarse waypoints under-sample the peak in three specific ways. For mid and high Z the true peak iteration should fall inside the coarse bracket rather than at one of its endpoints; the peak iteration should decrease monotonically with Z; and wherever the coarse grid straddled a narrow peak, the refined peak value should exceed the coarse one.

Setup

model
GPT (nanoGPT-derived), weight-tied embeddings · block 50 · dropout 0.1 · vocab 167 tokens
training
AdamW (β 0.9/0.95, wd 0.1) · lr 0.0006 constant (no warmup, no decay) · batch 32 · 10000 iterations · fresh init per replicate (seeds derived from base seed) · 10 seeds (base 42)
training data
PCFG, zipfian noun–verb pairing (oneshot where noted) · 12,000 sentences per dataset (9,600 train — 1 epoch = 300 iters) · unseen holdout 10
code
commit 5423d0c

data regime (all arms): single-dataset-recycled — 1 dataset(s) × 10000 iters each = 33.33 epochs per dataset

Replicate this experiment

Get the code at this exact version:

git clone https://github.com/ClaireHobbs/imagining-syntax
cd imagining-syntax
git checkout 5423d0c
pip install -e ".[dev]"

Download the config (experiment.yaml) and run:

imsyn exp run experiment.yaml

Checks

PASS children_complete PASS replicate_coverage PASS instrument_consistent

Results — unseen_mismatch (mean ± sd over 10 seeds)

Evaluation data: seen_* generated at each grid point's own training α · unseen_* = held-out pairings, uniform (α-independent) · 1000 pairs per condition
armpeak over α (end of training)per-seedflags
dense_bracket 37.7 ±7.3 @ α=0.1

Conclusions

Conclusion: The three regimes of peak timing \@{peakumm-three-regimes}

Reading each Z at the training iteration where its unseen_mismatch is highest sorts the sweep into three regimes. The dense bracket of waypoints bears out the hypothesis through the middle of the Z range and shows where the idea of a peak stops applying.

Referenced by (1 direct)
Result: The uniform end never peaks within the window \@{peakumm-uniform-no-peak}

At the uniform end, from Z = 0.0 to about 0.7, there is no interior peak. unseen_mismatch is still drifting upward at the last waypoint the run sampled, so the highest value it reaches sits at the right edge of the bracket, between 9123 and 10000 steps, rather than at a maximum the run passed through. The values are low there, from 30.39 at Z = 0.2 to 46.25 at Z = 0.7. Uniform pairings do not reach an agreement peak inside 10000 steps, and what the pipeline records as their peak is the latest iteration it measured.

Referenced by (1 direct)

Through the transition band, Z from about 0.8 to 1.1, interior peaks appear between roughly 1400 and 2000 steps, with wide disagreement across the ten seeds. Z = 0.8 peaks at 1427 steps and 62.99, Z = 0.9 at 1697 and 70.74, Z = 1.0 at 2018 and 74.93, and Z = 1.1 at 2018 and 80.6. The spread is at its largest here and narrows as Z rises: the standard deviation across seeds falls from 31.4 at Z = 0.8 to 13.0 at Z = 1.1, and at the peak waypoint the worst seed climbs from 0.0 at Z = 0.8 to 53.2 at Z = 1.1 while the best stays near 100. This is the band where seeds divide between agreeing with the subject and agreeing with the nearest noun, the seed bimodality the B_recent work studies.

Result: The peak iteration decreases with Z \@{peakumm-peak-earlier-with-z}

At the concentrated end, from Z = 1.2 upward, the peaks are early and high, and they move earlier as Z rises. The peak iteration falls from about 2000 steps at Z = 1.2 to 245 steps at Z = 3.0, while the peak value holds from the mid 80s to the mid 90s, from 85.77 at Z = 1.3 to the sweep's highest, 95.67 at Z = 1.6, reached at 849 steps.

The seeds also come together: at Z = 1.6 the ten of them run from 90.0 to 100.0, against the 0.0-to-96.4 range at Z = 0.8. For the most concentrated settings the peak arrives before the coarse grid could have seen it. The coarse argmax for every Z from 2.1 to 3.0 sat at 300 steps, the earliest coarse waypoint, and the dense bracket, which reaches down to 100 steps, places the true peak between 245 and 383 steps, at 245 for Z = 2.8 through 3.0.

Across the interior band the peak iteration decreases with Z, which reproduces the coarse trend from paper_long_iter at finer resolution (images/peak_iter_vs_alpha.png). The decrease is a direction rather than a strict law: there are local reversals, for instance Z = 1.4 peaking at 849 steps and Z = 1.5 at 1200.

Result: The coarse grid under-resolved the peaks \@{peakumm-coarse-underresolved}

Where the coarse grid straddled a narrow peak, the dense bracket recovered a higher value at an iteration the coarse grid had skipped (images/peak_iter_grid.png). At Z = 0.8 the coarse argmax was 2400 steps at 44.86, and the refined peak is 1427 steps at 62.99, about eighteen points higher; at Z = 1.6 the coarse argmax was 600 steps at 75.77 and the refined peak is 849 steps at 95.67, about twenty points higher.

Referenced by (1 direct)

Several interior peaks land on iterations the coarse waypoints never included, such as 2018 steps at Z = 1.1 and 1.2 and 849 steps at Z = 1.4 and 1.6.

One figure in the generated results table needs its context. RESULTS.md lists a single peak over α of 37.7 ±7.3 at Z = 0.1 for unseen_mismatch, which the generic sweep report takes at 10000 steps, the last iteration shared across arms, over only the low-Z arms whose bracket reached that far. It is the same value as Z = 0.1's own right-edge peak, and it describes the uniform end at the end of training, not the peak-timing result this run was built to find. The per-α peaks above, which reach 95.67, are that result.

Three things are settled. The best iteration for unseen_mismatch depends on Z, it decreases with Z through the interior band, and the six coarse waypoints did under-resolve it, both in where the peak falls and in how high it reaches. Two things this design leaves open. The uniform end, Z at 0.7 and below, never peaks within 10000 steps, so its true peak time is outside the window this run observed. And the concentrated end peaks so early that a few settings crest before the coarse grid's first point, which the dense bracket can see only because it reaches below 300 steps.

Comparison figures

peak_iter_grid.png
peak_iter_grid.png
peak_iter_vs_alpha.png
peak_iter_vs_alpha.png

Children

Child peak unseen_mismatchStatus
dense_bracket 95.7 done

experiment.yaml