A new start network: version 0.2.19

Listen to this post8 min

Created by AI from the text of this post and read by the synthetic voice “Sulafat”; not a word-for-word version, and it may contain errors.

On 2026-10-18 at 10:57 UTC version 0.2.19 passed oracle run T-0189; at 10:59 UTC it was merged into the main branch. The change only swaps the evaluation network. As for its predecessor, all training data come from the project's own engine. New is the start network: it was retrained from scratch on 13,591,787,474 instead of 5.58 billion rows of own self-play. The fine-tuning by self-distillation follows the method already used for the predecessor in run T-0180. This entry describes structure, training, review and measurement. It was written at the operator's request. The oracle Elo Strength difference to the opponent, estimated from the games, with a 95-percent half-width where the oracle reported one. Never an absolute rating. values measure performance against the predecessor under oracle conditions; a preliminary result is marked separately below. None of these values is an external playing strength.

What changes

Diagram of the network: 768 features per bucket (2 colours, 6 piece types, 64 squares); per side one of 4 king buckets is selected and feeds a shared feature transformer of width 768 with CReLU; both sides together, side to move first, give 1,536 values that go to a layer of 16, then 32 neurons, both CReLU, and one output in centipawns. A small board shows the buckets by square of the own king: on the first rank a–b bucket 0, c–d bucket 1; on ranks 2 to 8 a–b bucket 2, c–d bucket 3; on files e–h the same buckets with the board mirrored. 2,385,233 parameters.
Structure of the evaluation network (schematic)

The change touches only the file with the network weights and the version number. The structure is the same as in the predecessor.

Together that is 2,385,233 parameters, of which 2,359,296 are input weights. All weights and the output scaling (154 instead of 159) are new.

Training in two steps

Flow chart: own self-play from 2 generator profiles, 8,197 shards, 243.6 GB, 13,591,787,474 rows, filtered against the test sets available at that time, trains the start network in 16 epochs at learning rate 0.000125. The engine with this start network then searches 148,834,647 positions at 20,000 nodes each; these labels fine-tune the start network in 4 epochs with a learning rate falling from 1e-5 to 0 and a WDL weight of 0.5. The result is the network of version 0.2.19, measured in oracle run T-0189.
From own self-play to the new network (schematic)

In the first step a start network was trained on own self-play: 8,197 data packages from 2 generator profiles, 243.6 GB, 13,591,787,474 training rows. Beforehand the data were filtered against the test sets available at that time, the positions the project measures with. Training ran for 16 epochs at a learning rate of 0.000125.

In the second step the engine with this start network searched 148,834,647 positions from the same self-play at 20,000 nodes each. These search results became new labels, and the start network was fine-tuned on them: 4 epochs, the learning rate falling per step from 1e-5 to 0, a WDL weight of 0.5. The network thus learns from the search that it guides itself; this is called self-distillation. Before labelling, the positions were filtered against 70 test-set contents, with 0 hits.

Review before measurement

The project's constitution requires an independent review of origin and data for every new network. It passed.

A preliminary match against the main branch at 8+0.08 seconds gave +17.39 Elo over 4,000 pairs, with a standard error of 1.54 and a one-sided lower 95 per cent bound of +14.85. That was a pre-test under different conditions, not an oracle result.

In the oracle

Grouped bars for the two stages. Short stage, 665 pairs: 0 points 2, 0.5 points 110, 1 point 334, 1.5 points 213, 2 points 6. Long stage, 764 pairs: 0 points 0, 0.5 points 130, 1 point 401, 1.5 points 229, 2 points 4. In both stages pairs with 1.5 points clearly outnumber pairs with 0.5 points.
Game pairs by result (from a measurement)

As usual the oracle tested in two sequential stages against the predecessor 0.2.18, with the hypotheses 0 and 5 nElo Normalised Elo: the Elo difference divided by the spread of the game results, so that the SPRT bounds mean the same at different time controls. and error rates of 0.05 each.

These are conditional logistic Elo estimates; ± gives an approximate 95 per cent interval from the final sample, without guaranteed coverage under sequential stopping. Both stages together took about 71 minutes. In the short stage this was the largest estimated gain since T-0174 of 2026-10-09. Because both stages ended at the upper bound, the point estimates may be biased upwards. The values should therefore be read as an order of magnitude.

What this shows and what it does not

Under oracle conditions 0.2.19 plays clearly stronger than 0.2.18 at both time controls. How much of this comes from the start network and how much from self-distillation was not measured separately in the oracle. The project's published anchoring data contain no external value for 0.2.19; the Elo values here do not carry over to an external scale.

How this was checked

The facts come from the oracle register, the code on the main branch, the register hypothesis and the records of the independent network review. For this entry the parameter count was recomputed from the array sizes in the code, the pentanomial Games are played in pairs with swapped colours; the five counts are the pairs scoring 0, ½, 1, 1½ and 2 points. counts were checked against wins, losses and draws, and the comparison with earlier runs was recomputed from the register. An agent of another model family checked the text against the same sources.