modded-nanogpt training speedrun

modded-nanogpt speedrun records

Definition

modded-nanogpt is a public competition to train a GPT-2-scale language model to a fixed target validation loss in as little wall-clock time as possible. The target is fixed by the rules, so a record is the same capability reached with less compute — an efficiency series rather than a capability series — and an AI-set record is directly comparable with a human one.

A "discovery" is one record accepted into the README's table, dated and credited to a named entrant. Every record carries a day-precise date and an author, which is what allows the AI share to be counted rather than estimated. The fixed-hardware assumption comes from the leaderboard's own rules; the vendored CSV carries only the record number, date, minutes, agent, credited AI system, and a note, so nothing in the data itself pins the machine.

Facts

The collection-wide cumulative index redraws this series as the standing record's value over time:

Standing record for training minutes over time.

Method

The rows are transcribed by hand, since attributing a record needs judgment the README states only in prose. fetch.py is therefore a staleness probe rather than a fetcher: it reads the upstream README and reports if a record past the vendored series has been accepted. check.py recomputes the fact lines above from the CSV.

figure.py reads nanogpt-records.csv, converts each date to a year fraction, and draws minutes as a step function through all 89 rows with kind=record. Each record is a point coloured by the agent column, red where it is ai and blue where it is human, with the AI points drawn larger and labelled from the ai_system column. The y axis is logarithmic, with ticks set explicitly at 1.5, 2, 3, 5, 10, 20 and 45; a linear axis would compress the whole 2025–2026 stretch into the bottom of the frame. January 2026 onward is shaded, as in every figure here.

One discontinuity in the series has a documented cause. Records 22 to 24, in May 2025, are slower than record 21 of January 2025 as printed in the README's own table, because the leaderboard changed how it times a run after record 21: ten formerly untimed warmup steps became timed, worth about 850ms, and torch._inductor.config.coordinate_descent_tuning was banned, worth about three seconds. Upstream re-timed record 21 under the new rules at 2.997 minutes and again on the then-current torch at 3.014. Against 3.014, records 22 to 24 at 2.990, 2.979 and 2.966 are improvements rather than a regression. Both re-timings are vendored as kind=retiming rows and drawn as open markers. Apart from the two re-timings, nothing is plotted with an open marker on this series, because every record row carries a firm date and an acknowledged holder.

Limitations

AI attribution

Five of the 89 records are credited to AI-agent companies: hiverge.ai, Locus, Aster, Station and Recursive, at the dates and times listed in the fact lines above, each measuring roughly one percent against the record it displaced. The README's entry for record 60 (Locus) is an explicit fused Triton kernel [@kellerjordan2026moddednanogpt], and the CSV note for record 87 records a faster ReLU^2 kernel "credited to @cong_ml and AI System Recursive". hiverge.ai also holds the first acknowledged AI record on the CIFAR-10 speedrun, so the AI-set records on the two ML speedruns partly belong to the same small set of firms. No other record in the CSV carries an agent value of ai.

Two adjacent results are AI-credited off this leaderboard. TTT-Discover's test-time-training harness, running the open gpt-oss-120b model, found TriMul GPU kernels 15 to 51% faster than the best human submission depending on GPU type [@yuksekgonul2026learning]. Karpathy left an agent tuning nanochat for about two days in March 2026; it worked through roughly 700 changes, about 20 of which improved validation loss, after which Karpathy himself tested, transferred and stacked them and measured an 11% cut in time to GPT-2 [@karpathy2026autoresearch].

Sources