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

schedopt_bo_r7

20260722_135240_schedopt_bo_r7 · complete · published 2026-07-23 · seed 1000

part of investigation alpha-curriculumschedule-optschedopt-v2

Intent

Step E of the schedopt re-freeze continuation (Phase 4), round 7: eight candidate schedules from the four-parameter modulation family, the three-parameter ramp multiplied by (1 + A·w) with amplitude A in [0, 1] and w pinned to burst_16's realized tooth wave (period 400/3 steps, duty 0.5, peak-first), proposed by Thompson sampling from a Gaussian process warm-started from every three-parameter evaluation re-expressed at A = 0 and scored at the re-frozen operating point v2 (m_star=95.5, k=350, dwell 2) over the shared search seed pool. The pre-registration (experiments/schedopt/phase4_prereg.md) precedes every run of this phase; v1 and v2 numbers are never merged.

Hypothesis

Hypothesis: The tooth amplitude helps at a speed-measuring objective \@{schedopt-bo-r7-hypothesis}

At least one modulated candidate beats the best smooth schedule on the search pool, and the running optimum's amplitude A is greater than zero. Search-phase s-hat values are never reported as results.

Setup

model
GPT (nanoGPT-derived), weight-tied embeddings — 2 layers × 4 heads × 256 dim (~1,635,584 params) · 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 · 350 iterations · fresh init per replicate (seeds derived from base seed) · 25 seeds (base 1000)
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 66939ad9a458

data regime (all arms): fresh-dataset-per-stage — 14 dataset(s) × 25 iters each = 0.02 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 66939ad9a458
pip install -e ".[dev]"

Download the config (experiment.yaml) and run:

imsyn exp run experiment.yaml

Checks

PASS children_complete PASS replicate_coverage PASS schedule_total_matches_final_waypoint PASS instrument_consistent PASS objective_computable

Results — objective: P(unseen_mismatch ≥ 95.5 by t = 350, dwell 2, smoothing 1)

armŝwilson95median crossing [CI]crossed
r7_c30.840[0.653, 0.936]225.0 [217.6, 278.7]21/25
r7_c50.840[0.653, 0.936]276.7 [220.4, 297.2]21/25
r7_c00.800[0.609, 0.911]224.4 [221.0, 282.9]20/25
r7_c10.800[0.609, 0.911]227.4 [220.2, 282.9]20/25
r7_c60.680[0.484, 0.828]237.6 [222.7, 297.4]17/25
r7_c20.480[0.300, 0.665]232.4 [206.1, 296.9]12/25
r7_c40.000[0.000, 0.133]0/25
r7_c70.000[0.000, 0.133]0/25

Trajectory summary — unseen_mismatch

Evaluation data: seen_* probed at reference α = 1.4 · unseen_* = held-out pairings, uniform (α-independent) · 1000 pairs per condition
armend of training (t = 350)per-seedflags
r7_c0 99.2 ±2.5
r7_c1 92.9 ±12.4 ⚠ seed_split: range 54.6-100.0 (1 low / 18 high of 25)
r7_c2 89.7 ±19.2 ⚠ seed_split: range 24.3-100.0 (1 low / 20 high of 25)
r7_c3 96.8 ±9.4 ⚠ seed_split: range 56.3-100.0 (1 low / 23 high of 25)
r7_c4 79.7 ±3.6
r7_c5 98.3 ±5.5
r7_c6 95.7 ±10.7 ⚠ seed_split: range 47.2-100.0 (1 low / 22 high of 25)
r7_c7 99.4 ±0.7

Conclusions

Conclusion: The winning plateau broadens without rising \@{schedopt-bo-r7-conclusion}

Round 7 widens the modulated winning region but does not improve on it, the first of the two consecutive quiet rounds the pre-registered stop rule requires.

r7_c3 (ramp α 2.06 to 0.93 with late curvature γ 3.58, amplitude A = 0.39) and r7_c5 (3.99 to 4.85, γ 1.94, A = 0.98) both crossed on 0.84 of the pool seeds, tying the round-6 incumbent r6_c5 exactly; r7_c0 (4.45 to 4.89, A = 0.92) and r7_c1 (4.11 to 0.04, γ 1.47, A = 0.83) reached 0.80. The plateau now spans descending and high-flat ramps, with amplitudes from 0.39 to 0.98.

The round's two failures, r7_c4 (2.69 rising to 3.81, A = 0.32) and r7_c7 (4.73 to 2.17 with late curvature, A = 0.60), crossed on no seeds; both keep their valleys at or above the high edge of the productive range for most of the budget, where the round-6 winners' teeth dip well into it. With the best observed value unchanged at 0.84, round 8 decides the stop: a second round without an improvement above 0.02 ends the search. These are search-phase values on the v2 objective, not reportable results.

Comparison figures

curriculum_comparison.png
curriculum_comparison.png
objective_crossing_ecdf.png
objective_crossing_ecdf.png
objective_shat.png
objective_shat.png
objective_survival.png
objective_survival.png
schedules.png
schedules.png

Children

Child peak unseen_mismatchStatus
r7_c0 99.2 done
r7_c1 94.1 done
r7_c2 89.7 done
r7_c3 96.8 done
r7_c4 81.7 done
r7_c5 98.3 done
r7_c6 95.7 done
r7_c7 99.4 done

experiment.yaml