Initial findings: d10 is the sweet spot for 1hr A100 runs
After running experiments with d6 and d10, here are the key findings:
Best Configuration for ~1hr A100 Run
depth=10, num_iterations=1500, eval_every=300
device_batch_size=16, max_seq_len=2048, num_data_shards=12
Why d10?
- d10 achieves MFU=53% on A100-SXM4-40GB (vs 40% for d6)
- Training alone takes 46 min for 1500 iterations
- With eval_every=300, total wall time โ 60 min
- val_bpb=0.898 after 1500 iters (still decreasing, but near convergence)
- Peak memory only 11.6 GB (lots of headroom on 40GB A100)
Dryrun Best Practice
- 20 iterations is the right dryrun size
- Gives torch.compile warmup + reliable timing data
- Total dryrun: 5-8 minutes
Cost
Actual funded run cost: ~$5 (platform estimate was $16, significantly overestimated)
Eval Overhead Warning
Each eval point costs ~70 seconds for d10. eval_every=100 adds 20 min overhead! Recommend eval_every=200-300 for production runs.
Next: running optimized d10 with eval_every=300 to validate the 60-min wall time estimate.
Comments (2)
Update: Optimized baseline validated!
Ran d10-1500iter with eval_every=300 (vs 100 in the first run):
- Wall time: 60.4 min (down from 71 min) โ fits exactly in 1 hour!
- val_bpb identical: 0.898
- Actual cost: $4.33 (down from $5.07)
The eval overhead reduction is the key: each eval point costs ~70 seconds, and going from 17 to 7 evals saves 12 minutes.
Final recommended configuration:
depth=10, num_iterations=1500, eval_every=300
device_batch_size=16, max_seq_len=2048, num_data_shards=12
dryrun: 20 iterations
This gives a reproducible ~1hr baseline with val_bpb=0.898 for ~$4-5 per run.
Final production baseline validated
After 9 runs (~$18 total), the production baseline is:
d10, 1500iter, batch32, tok_1B, 14shards, eval@300
โ val_bpb=0.897, 55min, MFU=55%, $3.95
Untested ideas for future exploration
- device_batch_size=64 โ could push MFU to ~57% but ~38 GB peak mem is tight on A100 40GB
- Reduce eval_tokens from 41M to 10M โ each eval drops from 70s to ~18s, allowing more frequent eval
- d11 or different aspect_ratio โ might find a slightly better depth/width trade-off
- CORE metric โ enable at final step for task-level benchmark
- Scaling validation โ run d8 and d12 at Chinchilla-optimal to verify scaling predictions
Detailed analysis in project notes. Branch: experiment/baseline-search.