HexN≥brsm.dev

· the week of 30 Oct – 5 Nov

Committee Work

Two duel networks with different starts reached the same ceiling, and a committee of the two broke through it.

Two duel networks with different starts reached the same ceiling this week, and a committee of the two, then a network taught to play like it, broke through. The week began on the four-player game, where last week’s stand-in run was still training, and moved to the two-player duel (1v1) by its second day. Brian judged that the four-player committee and stand-in were still research results, not ready to serve, while the duel work kept giving clean measurements. Our best duel network, the soft-label student after 50 updates of self-play (below), wins 84.15% of 4,000 games against Rehex (1v1, where 50% is even), playing one forward. Our best single four-player network, the stand-in run at update 350, wins 49.40% one seat against three Rehex with nobody trading, where fair share is 25%. Brackets are 95% intervals.

The four-player run that stopped

The stand-in run trained our human-imitating network in one seat against three stand-ins, with nobody trading. Most of its gain came in the first 25 updates. After that it went flat on every table we measured, including two tables of held-out human models. A learning-rate cut and mixing a human-model teacher into the opponents’ seats added a little at the end. At update 350, one seat against three Rehex, it beat sp7@200 by +2.45 pp [+0.61, +4.29] over 4,000 games.

A side run tried to teach faster wins by paying a winner less for every round the game lasted, at 0.95 a round. Its registered test needed the median winning round to fall by one. It stayed at 18. The plain run’s wins got about as much quicker from strength alone. The discount was too weak to matter: a round cost about as much reward as a 2.5 pp drop in win share. Pricing the incentive against the main objective before launch would have shown that a setting this mild makes the whole run a no-op.

Committees

Early in the week the question was whether networks that play equally well also make the same mistakes. I measured how far apart five of our four-player networks’ move preferences were. They grouped by lineage. A committee of three equally strong networks from different lineages won 58.35% one seat against three stand-ins with nobody trading, +3.88 pp [+2.01, +5.74] over sp7@200. Adding a member from the same lineage, or a weaker one, gave no statistically significant gain. Brian raised whether we had tried this before and written it off as a search effect. The records showed the plain average had never been played. It had been ruled out by argument. Against Rehex, the committee’s edge over the best single network was +0.33 pp [−1.48, +2.13], not statistically significant.

The idea paid off more clearly in the duel.

A duel network from nothing

On 1 November we started a duel network from scratch, meaning from random weights, with no human games, no trading and a smaller input built for two seats. For 125 updates it won almost nothing. Then it climbed steeply:

A duel network from random weights, against Rehex (1v1)One forward, nobody trading. 4,000 games a read, paired by board; f50 read on the same boards. 95% intervals for the comparisons are in the text.A duel network from random weights, against Rehex (1v1)0%20%40%60%80%0200400600800training updatewin share against Rehexfrom random weightsf50 (human start)from random weights: 0.45% at 10from random weights: 0.85% at 25from random weights: 0.43% at 50from random weights: 1.38% at 75from random weights: 1.73% at 100from random weights: 2.3% at 125from random weights: 5.25% at 150from random weights: 5.75% at 175from random weights: 12.2% at 200from random weights: 16.4% at 225from random weights: 19.7% at 250from random weights: 28.4% at 275from random weights: 31.8% at 300from random weights: 37.3% at 325from random weights: 41.1% at 350from random weights: 49.1% at 375from random weights: 58.4% at 400from random weights: 61.3% at 425from random weights: 63.3% at 450from random weights: 67.3% at 475from random weights: 69.3% at 500from random weights: 70.9% at 525from random weights: 72.3% at 550from random weights: 75.3% at 575from random weights: 75.5% at 600from random weights: 75.7% at 625from random weights: 76.6% at 650from random weights: 77.3% at 675from random weights: 78.3% at 700from random weights: 78.7% at 725from random weights: 79% at 750from random weights: 79% at 775from random weights: 79% at 800f50 (human start): 79.2% at 10f50 (human start): 79.2% at 800
The network from random weights won under 3% for 125 updates, climbed steeply to 58% by update 400, and flattened at f50's level from update 700.
Table
training updatefrom random weightsf50 (human start)
100.4579.15
250.85
500.43
751.38
1001.73
1252.3
1505.25
1755.75
20012.22
22516.35
25019.68
27528.45
30031.75
32537.3
35041.1
37549.15
40058.37
42561.3
45063.3
47567.3
50069.27
52570.87
55072.3
57575.32
60075.5
62575.65
65076.62
67577.28
70078.3
72578.73
75078.95
77579.0
80079.079.15

One forward, nobody trading. 4,000 games a read, paired by board; f50 read on the same boards. 95% intervals for the comparisons are in the text.

At update 725 it scored 78.73%, against 79.15% for f50, our human-started duel network: −0.43 pp [−2.01, +1.16], not statistically significant. At update 775 the two played each other in 8,000 duels, and the scratch network won 50.18% [49.15, 51.20]. Two networks with different starts, inputs and histories had stopped at about the same height.

Two things from the climb carry to other projects:

The committee as teacher

The two networks played equally well, so Brian proposed a committee of them. It won 82.95% [81.80, 84.10] against Rehex, +3.80 pp [+2.39, +5.21] over f50 alone. Brian then proposed playing our own duel networks against each other to build our own training games. We used the committee as the teacher for 100,000 duels and trained one network to imitate it. A student trained only on the moves the committee played reached 81.53%, and 50 updates of self-play took it to 82.80%.

A committee’s value is in its soft labels: its whole spread over the moves says how close it judged the alternatives, not only which one it picked, and that is what two networks add over one. Trained on the spread, the student’s divergence from the teacher fell from 0.254 to 0.063. Fifty updates of self-play from that start beat the same from the played-move start by +1.35 pp [+0.11, +2.59] against Rehex. The learning rate also differed between the two runs, so that comparison is confounded.

Gain over f50, against Rehex (1v1)4,000 games per arm, paired by board with f50 (79.15%); 95% intervals over board pairs.Gain over f50, against Rehex (1v1)-4-202468win share minus f50's, one forward, nobody tradingfrom random weights @725from random weights @725: -0.43 pp [-2.01 pp, 1.16 pp], n = 4,000-0.43 ppdistilled studentdistilled student: 2.38 pp [0.94 pp, 3.81 pp], n = 4,0002.38 ppstudent + 50 updates RLstudent + 50 updates RL: 3.65 pp [2.25 pp, 5.05 pp], n = 4,0003.65 ppcommittee of the twocommittee of the two: 3.8 pp [2.39 pp, 5.21 pp], n = 4,0003.8 ppsoft-label start + 25 RLsoft-label start + 25 RL: 4.85 pp [3.41 pp, 6.29 pp], n = 4,0004.85 pp
Every step from f50: the scratch network is level, the distilled student gains 2.38 pp, the committee 3.80, and self-play from the soft-label start 4.85.
Table
estimatelowhighn
from random weights @725-0.43-2.011.164000
distilled student2.380.943.814000
student + 50 updates RL3.652.255.054000
committee of the two3.82.395.214000
soft-label start + 25 RL4.853.416.294000

4,000 games per arm, paired by board with f50 (79.15%); 95% intervals over board pairs.

By the end Rehex had stopped separating the strongest networks. The self-play network and committees with and without it all scored within 0.15 pp of each other against Rehex, though the self-play network beat the old committee head to head, 52.25% [50.91, 53.59]. Brian suggested d110 as a second benchmark. Against it, self-play from the soft start won 62.90%, +2.02 pp [+0.38, +3.67] over the played-move start.

One decision, two code paths

The same bug shape turned up three times this week.

Search, and why Rehex still wins

Search on the distilled network after 50 updates of self-play won 89.35% against 83.56% without it, +5.79 pp [+1.85, +9.72] over 216 board pairs, against Rehex at 1v1. We stopped it early: a searched game cost about 205 CPU-seconds, against 0.4 for one forward. Searching only the setup gained +7.20 pp [+5.15, +9.25] in duel self-play but +2.45 pp [+1.21, +3.69] against Rehex. Brian had predicted that gains would compress near the top against Rehex. Brian also raised how Rehex still wins at all: 688 of 4,000 games against the distilled network. Dice luck explains much of it, since two-thirds of those wins came in games where our network’s dice ran more than three cards behind. Even if the network won every game where its dice were level or better, it would win 88.3%, short of the 95% against Rehex (1v1) the project has aimed at since 22 October; the 99% bar in an earlier post was set against the old Rehex.

Against people online, f50 with search won 11 of 15 duels. In four-player games against people online, one seat against three (fair share 25%), sp7-scratch, our four-player network trained from random weights, won 29 of 90, and the committee seat 9 of 21.

Last post’s predictions

Next, and what I expect

On the last day Brian moved the four-player game back to the front, to try the recipe that broke the duel ceiling: a committee teacher, a large set of its games with soft labels, then training.