task-v1.md · paper freeze Aug 24 · wall Aug 29 AoEWhat the v1.0 surface could not answer
Framing note (v1.2): the project's claim is one of magnitude — over T = 1→16 refinement moves 0.952 absolute WER against 0.161 absolute identity error, a 5.9× asymmetry — not one of convergence rate. On each metric's own normalised curve the fraction of total gain realised at T = 8 is 94.6% (WER) versus 93.7% (identity), identity marginally later. Earlier glosses reading "steps keep helping intelligibility after identity stops" are withdrawn throughout.
v1.0 declared outcome S1 from a 75-point (width, depth, steps) surface capped at T = 16. The v1.1 extensions push past every boundary that cap imposed: steps to T = 64, allocation across codebook levels, a fourth parameter budget, a training-compute control, and a robustness panel over the metric stack. Six hypotheses were pre-registered before any extension datum existed.
§1Hypothesis scoreboard
| ID | Claim (pre-registered, verbatim in PREREGISTRATION-v1.1.md) | Status | Headline number |
|---|---|---|---|
| H-E1 | Extended test-time scaling: T*WER > 16 and refitted τWER inside the v1.0 CI | partial | T*WER=32 ✓; τ=0.9527 outside [0.8248, 0.8513] ✗ |
| A cross-metric saturation comparison derived from H-E1 was retracted (§2) — it was never pre-registered and did not survive normalisation. | |||
| H-E2 | Iso-latency allocation is depth-first up to d*, under both methods, at ≥80% of budgets | refuted | 5.9% measured / 8.8% fitted |
| H-E3 | Coarse-level NFE allocation beats fine at matched NFE=32 | supported | ΔWER = −0.9289, CI [−0.9595, −0.8999] |
| H-E4 | Scale persistence: Δτ > 0 on the 4-budget (A–D) surface | supported | Δτ = +0.1095, CI [0.0951, 0.1241] over 20M–276M |
| Secondary (extrapolation A+B+C→D) not supported: MAPE 15.1% against a 15% bar, while beating the N-only model 21× (319.3%). d*(N) is exploratory and not reportable — see §9. | |||
| H-E5 | Training-compute control: Δτ at 90k steps, CI excluding 0 | supported | Δτ = +0.1767, CI [0.0803, 0.2849] |
| H-E6 | Confidence-adaptive stopping matches fixed-T16 within 1.0 WER point at ≤0.6× NFE | gated | gate opens Aug 16 |
§2E1 — test-time scaling past the v1.0 cap
21 runs (A3, B3, C1–C5 × 3 seeds) × T ∈ {1,2,4,8,16,24,32,64} on 200 eval items. Every T is computed over the same 200 items: the T ≤ 16 points are re-aggregated read-only from v1.0's per-item rows rather than reused at 400 items, so the curve measures the T range and not a change of subset.
| T | 1 | 2 | 4 | 8 | 16 | 24 | 32 | 64 |
|---|---|---|---|---|---|---|---|---|
| WER | 1.146 | 0.760 | 0.321 | 0.191 | 0.1516 | 0.1376 | 0.1314 | 0.1294 |
| SIM-o | 0.216 | 0.282 | 0.334 | 0.360 | 0.3696 | 0.3710 | 0.3705 | 0.3716 |
| UTMOS | 1.52 | 1.94 | 2.49 | 2.80 | 2.97 | 3.02 | 3.05 | 3.08 |
| fraction of that metric's own total T=1→64 gain realised | T=2 | 4 | 8 | 16 | 24 | 32 |
|---|---|---|---|---|---|---|
| WER | 38.01% | 81.13% | 93.92% | 97.81% | 99.19% | 99.80% |
| 1 − SIM-o | 42.66% | 75.95% | 92.63% | 98.74% | 99.62% | 99.30% |
results/artifacts-v1.1/e1_extended.json → T_star_scale_caveat),
and the raw-scale pair (32 vs 8) may not be compared across metrics at all.§3E3 — where you spend the steps matters as much as how many
15 C-budget runs × 3 frozen per-level schedules at matched total NFE = 32, full 400 items, 18 000 item-rows. Paired item-level bootstrap (2 000 replicates, RNG 7331); pairing is on the eval item, so item difficulty cancels.
| schedule | steps per codebook level | WER | SIM-o | UTMOS | degenerate |
|---|---|---|---|---|---|
| coarse | [25,1,1,1,1,1,1,1] | 0.2191 | 0.3057 | 2.168 | 0.1% |
| uniform | [4,4,4,4,4,4,4,4] | 0.3144 | 0.3477 | 2.514 | 0.5% |
| fine | [1,1,1,1,1,1,1,25] | 1.1481 | 0.2246 | 1.561 | 39.1% |
Primary: WER(coarse) − WER(fine) = −0.9289, CI [−0.9595, −0.8999]. Secondary: WER(coarse) − WER(uniform) = −0.0953, CI [−0.1044, −0.0870]. Both supported. At identical inference cost, moving 32 forward passes from the finest codebook level to the coarsest changes WER by 5.2× and cuts the degenerate rate from 39.1% to 0.1%. Level 0 sets the phonetic content every later level conditions on; level 7 carries residual detail that no amount of iteration can use to repair a wrong coarse plan.
Calibration. Uniform at NFE=32 is T=4 per level, and E1 measures WER 0.321 at T=4 vs 0.191 at T=8. Coarse's 0.219 sits between them, so reallocating the same NFE to the coarse level buys roughly what 1.7× more uniformly-spent NFE would buy — for free.
§4E2 — iso-latency allocation, and a corrected interpretation
Zero-GPU analysis over the frozen v1.0 surface with measured c_layer; serial latency
L = 8·T·d·clayer, 40 log-spaced budgets, optimum found two independent ways (fitted Msep
surface, and measured config×T means).
| v1.0 grid (T ≤ 16, 3 budgets) | extended (T ≤ 64, budget C) | |
|---|---|---|
| depth-first, measured | 5.9% | 37% |
| depth-first, fitted | 8.8% | 9% |
| L where T first hits its max | 726 ms | 9089 ms |
| L where d first reaches d* | 2002 ms | 1198 ms |
H-E2 is refuted on both grids (5.9% and 37%, against an 80% bar), so the pre-registered verdict is unchanged and now shown to be robust.
§5E5 — robustness of the fitted surface
The known v1.0 defect: M_full's width amplitude A hit its pre-registered upper bound
(A = 10.000), leaving α — and therefore ρ = α/β and the H-D1 test — unidentified. The log-amplitude refit makes
log A, log B, log C effectively unbounded and leaves exponent bounds exactly as pre-registered.
The headline survives the reparameterisation. Δτ = 0.1262 CI [0.1043, 0.1474] under log amplitudes, against v1.0's 0.1102 CI [0.0921, 0.1312] — same sign, overlapping CIs, both excluding 0. Δρ = −0.0516 CI [−0.4281, 0.3077] still contains 0, so H-D1 remains unsupported here too. Labeled exploratory-sensitivity: this cannot and does not rescue H-D1's pre-registered status.
§5bE4 — does it survive a 4× larger budget?
D1–D5 × seeds {0,1} at 276M non-embedding parameters, trained at the LR the G1-D remedy adopted, then evaluated on the full T grid. Combined with the frozen v1.0 table this gives a 275-row, four-budget surface spanning 20M → 276M.
| Δτ | 95% CI | |
|---|---|---|
| v1.0, 3 budgets (20–126M) | +0.1102 | [0.0921, 0.1312] |
| v1.1, 4 budgets (20–276M) | +0.1095 | [0.0951, 0.1241] |
§5cE6 — is it just undertraining?
{C1, C3, C5} seed 0 retrained to 90k steps (3× v1.0's 30k). Item-level bootstrap, 1000 replicates — item-level because one seed per config leaves nothing to resample at the run level.
| config | val loss @30k | @90k | cost |
|---|---|---|---|
| C1 | 4.4818 | 4.0907 | 7.0 GPU-h |
| C3 | 4.4702 | 4.1194 | 9.8 GPU-h |
| C5 | 4.4823 | 4.1791 | 13.0 GPU-h |
§6Gates
[B, F, V], so batch composition is part of the RNG state. E1 therefore
synthesises the first 200 items as v1.0's first four 50-item batches.§7Defects found and fixed during v1.1
An adversarial review of the extension code before any result was trusted found three real defects. All are
recorded in full in LOG-v1.1.md; corrections are appended to RESULTS-FEED.md as new
entries, never edits.
| Defect | Impact | Fix |
|---|---|---|
| P0-1 A leftover v1.0 scoring loop scored E1's 200-item dirs against the canonical 400-item list | 200 phantom crashes per dir: WER 0.5634 recorded where the truth is 0.1268. 16 files. Compounded by the skip-if-exists check, which would have silently frozen the wrong file. | Killed the loop; deleted all 16; score_dir now takes its denominator from the target dir's
own synth.json and fails loud if absent. Behaviour-identical for v1.0 (all 225 dirs record 400).
No v1.0 artifact was touched, and E1's own scores_ext200.json files were always correct. |
| P0-2 H-E2's decision rule implemented as the wrong statistic | Reported 62% "agreement" as the test of a hypothesis about depth-first ordering. | Decision statistic is now depth-first fraction under each method; concordance retained as a labeled secondary. Verdict unchanged. |
| P0-3 False claim in a published results entry ("never reaches the d* ridge") | Contradicted by the analysis's own path CSV. | Corrected as a new append-only entry; the artifact now records budgets_included and
n_configs so scope limits travel with the number. |
§9Why no d*(N) claim appears anywhere
Raw optimal depth by budget reads A 18, B 30, C 36, D 14 — a rise-then-collapse story. It is not one, and the artifact now records why so it cannot be read off naively:
- B and C are censored. Their d* sits at the deepest shape those budgets tested (30 and 36), so they are lower bounds, not interior optima — the true optimum may lie beyond the grid.
- D's minimum is a near-tie. d=14 gives WER 0.0978 against d=38's 0.0990 — a gap of 0.0012, well inside noise, with a bump between them.
Only A (18) and D (14) are genuine interior optima and D's is a coin flip. e4_scale.json carries
censored_at_max_depth and margin_to_runner_up per budget. d* was pre-registered as
exploratory with no decision rule, and no d* claim goes in the paper.
§8Reproduction
python src/audit_v11.py --smoke # E-AUDIT: checkpoints + sampler reproducibility
python src/e1_extended.py # E1: runs_ext.csv, T* values, tau refit, H-E1
python src/iso_latency.py # E2: H-E2 on the v1.0 grid
python src/iso_latency.py --runs results/artifacts-v1.1/runs_ext.csv \
--fits-from-e1 --budgets C --out-tag _ext # E2 sensitivity on the extended grid
python src/e3_nfe.py # E3: H-E3, paired item-level bootstrap
python src/logamp.py # E5: log-amplitude refit (exploratory-sensitivity)
python src/launch_e4.py --gpus 0,4 # E4: adopt LR-sweep argmin, launch budget-D grid
python src/supervise_v11.py # drain E4/E6 synth+score onto idle GPUs
python src/e4_analysis.py # E4: 4-budget surface, H-E4
python src/e6_analysis.py # E6: 90k control, H-E5 (item-level bootstrap)
Job dispatch uses src/run_v11.py, which claims jobs with atomic
O_CREAT|O_EXCL lock files so several dispatchers can share one job file as GPUs free up — the fix
for the duplicate-trainer failure recorded in v1.0's log.