Research archive

ATC packed-4 20M tuning at 128K tokens per batch

Archived reference. Read the current results →

Historical report; retained as an experimental record.

Historical report. Settings and conclusions describe the recorded experiment. See the current documentation for maintained guidance.

Measured on 2026-09-11: 72 successful runs covering 24 LR/beta2 configurations, each with runtime seeds 42, 43, and 44. Beta1 is fixed at 0.9.

The best tested ATC recipe is configs/packed4-20m-atc.yaml: LR 0.0056, beta2 0.99, with mean final full-validation loss 3.595506 ± 0.003221 nats. Values after ± and error bars are sample standard deviations across seeds, not confidence intervals.

The search is a complete grid of six learning rates from 0.0024 to 0.016 and beta2 0.95, 0.98, 0.99, 0.999. ATC computes and clips local gradients, applies the complete local AdamW update, including weight decay, then mixes parameters. Optimizer moments remain local. Adaptive consensus is disabled.

Results

ATC learning-rate response and beta2 heatmap

PDF · PNG.

Selection minimizes mean final-checkpoint full-validation cross-entropy across all three seeds, breaking exact ties by lower LR, then beta2. All finite outcomes are retained. The winner is inside both tested parameter ranges. The small seed count and validation-based selection limit conclusions about statistical significance and global optimality; there is no independent test estimate.

RankLRBeta2Mean loss (nats)Sample SD
10.00560.993.5955060.003221
20.00560.983.5964400.008910
30.00560.9993.6008310.005306
40.0040.993.6031390.005687
50.0040.9993.6036800.003883
60.0040.983.6111850.003510
70.00560.953.6218410.006250
80.0080.953.6244920.015674
90.00240.9993.6258980.001529
100.0080.993.6297060.022798
110.0080.983.6385870.031525
120.0040.953.6388920.008257
130.00240.993.6389420.004437
140.00240.983.6456630.002732
150.00240.953.6691290.003097
160.01120.953.7032470.039032
170.01120.983.7128300.029933
180.01120.993.7650670.038261
190.0160.953.8237090.001921
200.0080.9993.8474200.144914
210.0160.983.9050990.016081
220.01120.9994.0651870.127460
230.0160.994.0918810.074687
240.0160.9994.4958820.047780

At LR 0.0056, beta2 0.99 leads beta2 0.98 by only 0.000934 nats, smaller than the observed seed variation. Beta2 0.999 ranks third at the same LR and worsens sharply at LR 0.008 and above. These results favor the lower LR region for ATC, while providing limited evidence to distinguish the top beta2 choices.

Comparison with AWC

The best tested AWC recipe, LR 0.008, beta1 0.95, and beta2 0.99, measured 3.595559 ± 0.005025. The selected ATC mean is 0.000053 nats lower. These are separately selected validation results using different beta1 and LR values, not an independent test comparison or proof of an algorithmic advantage. The mean difference is far smaller than the observed seed variation.

The following 21 comparisons use matching LR, beta1, beta2, and runtime seeds. All overlapping configurations from the complete AWC dataset are included; beta1 is 0.9 in every matched comparison. Negative differences favor ATC. All shared model, batch, budget, evaluation, and cache settings were audited against the AWC results. Nondeterministic execution does not promise bitwise replay.

LRBeta2ATC meanAWC meanATC − AWC
0.00240.953.6691293.676714-0.007585
0.00240.983.6456633.658486-0.012823
0.00240.993.6389423.641324-0.002382
0.00240.9993.6258983.637937-0.012039
0.0040.993.6031393.608885-0.005745
0.00560.953.6218413.636359-0.014518
0.00560.983.5964403.606178-0.009738
0.00560.993.5955063.604343-0.008837
0.00560.9993.6008313.612911-0.012080
0.0080.953.6244923.620824+0.003668
0.0080.983.6385873.601910+0.036677
0.0080.993.6297063.608260+0.021446
0.0080.9993.8474203.698712+0.148707
0.01120.953.7032473.676571+0.026676
0.01120.983.7128303.703557+0.009273
0.01120.993.7650673.735541+0.029526
0.01120.9994.0651874.042032+0.023155
0.0160.953.8237093.798987+0.024722
0.0160.983.9050993.858660+0.046438
0.0160.994.0918814.093433-0.001552
0.0160.9994.4958824.626482-0.130600

Protocol

SettingValue
Learning rate0.0024, 0.004, 0.0056, 0.008, 0.0112, 0.016
AdamW beta2 / beta10.95, 0.98, 0.99, 0.999 / 0.9
Runtime seeds42, 43, 44
Workers / topologyFour 20,403,520-parameter models / one_peer_exponential
Global batch / local microbatch131,072 targets / 32 sequences per worker
Context length1,024
Training budget408,068,096 global targets; 102,017,024 per worker
Epochs / updates40 / 3,119, including shortened epoch-ending steps
Other optimizer settingsWeight decay 0.1, epsilon 1e-8, local clipping 1.0
LR schedule5% linear warmup, cosine decay to 10% of peak LR
Epoch evaluationGlobally averaged model, fixed 1,024-block subset
Final evaluationGlobally averaged model, full C4 split: 197,411,295 targets
ExecutionGH200 120GB, BF16 autocast, FP32 weights, compiled SDPA, fused AdamW
RetentionOne final packed training checkpoint per run

The data preprocessing seed remains 42 and validation seed remains 12345; runtime seeds vary initialization and sample order. Each job simulates all four workers on one GPU. Physical inter-node communication costs are not measured.

Audit and reproduction

All 72 Slurm jobs completed with exit code 0. The audit verified the exact resolved recipe, ATC metadata, model sizes, training/validation counts, step and epoch counts, final-checkpoint presence, frozen source hashes, and common runtime versions. The dataset has 72 unique seeded recipes and 24 complete three-seed groups. The runtime source digest matches the frozen inputs for every run.

All ATC runs use identical frozen training sources. Compared with the AWC source, only configuration, training, and packed-benchmark files changed for the scheme option. Resolved configurations, dependency metadata, source patches, artifact locations, job IDs, and SHA-256 hashes are retained in the results JSON. Jobs used isolated compiler caches, up to 24 concurrent GPUs, and a 30-minute allocation limit.

Reproduce the selected ATC configuration with the prepared cache:

uv run tiny-llm train --config configs/packed4-20m-atc.yaml

Repeat with --set runtime.seed=43 and 44 in separate output directories. To reproduce other grid points, override optimizer.lr and optimizer.beta2. configs/packed4-20m-awc.yaml selects the best tested AWC recipe. Regenerate figures:

uv run python doc/data/recipe_sweep_packed4_atc_20m_128k/plot.py
View Markdown source ↗
Search current documentation

Historical reports are available in the archive.