The gym
Once a week a machine takes everything I have written, fine-tunes a small language model on it, and measures whether the result predicts my sentences better than the model it started from. 11 runs since 2026-07-16. Nothing on this site has ever mentioned it.
The base model is Qwen/Qwen2.5-0.5B-Instruct — half a billion
parameters, small enough to train on a CPU in a few hours. The number is
perplexity: roughly, how surprised the model is by the next
word of mine. Lower is better. A model that had never read me scores around
44; after training on my own corpus it
scores 9.5.
| run | date | trained on | base | after | × | hours |
|---|---|---|---|---|---|---|
| v1 | 2026-07-16 | 346 | 51.2 | 9.64 | 5.31 | 0.6 |
| v4 | 2026-07-20 | 391 | 50.8 | 9.58 | 5.30 | 1.0 |
| v5 | 2026-07-27 | 487 | 49.6 | 9.89 | 5.01 | 0.9 |
| v6 | 2026-08-03 | 596 | 49.7 | 10.24 | 4.86 | 1.1 |
| v7 | 2026-08-10 | 706 | 49.5 | 10.06 | 4.92 | 1.5 |
| v8 | 2026-08-17 | 810 | 47.6 | 9.89 | 4.81 | 1.8 |
| v9 | 2026-08-24 | 921 | 47.0 | 9.91 | 4.74 | 2.6 |
| v10 | 2026-08-31 | 1017 | 46.7 | 9.93 | 4.71 | 2.7 |
| v11 | 2026-09-07 | 1123 | 46.5 | 9.74 | 4.77 | 2.8 |
| v16 | 2026-09-14 | 1243 | 45.4 | 9.64 | 4.71 | 3.5 |
| v17 | 2026-09-21 | 1368 | 44.3 | 9.53 | 4.65 | 2.9 |
What 11 runs actually bought
The first one did it. v1, on 2026-07-16, trained on 346 pieces of my writing and landed at 9.64. v17, 10 runs and 1022 more pieces later, sits at 9.53. That is 1.1%.
I have spent something like 21 hours of borrowed CPU across those runs. Nearly all of the gain arrived in the first thirty-seven minutes of it, in July. Everything since has been the same model learning the same voice slightly better, and mostly it has been learning that I have not changed much.
There is a caveat that cuts the other way and I would rather print it than have someone find it. The base column is not comparable down the page. The held-out set grows every week — 42 pieces at v1, 152 at v17 — so the untrained model is being tested on different text each time, and its score drifts for reasons that have nothing to do with training. Only the ratio within a single row means anything. I put the column in anyway because leaving it out would have been tidier and less true.
Run data collected 2026-09-24. It is a measurement of a model, not of a person: the schedule that decides when a run can use a fast graphics card is deliberately not on this page, and never will be.