Repository navigation
Lozza 5.0
Switched to Bullet for training and to a perspective network: (768 → 128)x2 → 1 SqrReLU, quantised (QA 255, QB 64). Trained on 320M self-generated FENs. Cumulative SPRT against Lozza 4.0: +112 ± 28 at 60+1 and +118 ± 29 at 20+0.2.
Changes
- Swap to bullet (768 -> 128)x2 -> 1 SqrReLU.
- Use RAdam optimiser.
- Use a save_rate of 1 and train on superbatch net with minimum mean batch loss.
- Generate more data. 320M FENs total.
- Tweak datagen.js to save FENs in bullet text format.
- Use 10k soft nodes for datagen.
- Fix beta pruning!
- Use Math.imul() instead of * in netFastEval() to force integer multiplication.
- Simplify PSTs away.
- Simplify lonePawns away.
- Micro optimisation to piece Zobrist access.
- Fix lower/upper bound logic.
- Add network command showing network info and stats.
- Add a serialise (weights) command for use when making releases.
- Fix board.fen() WRT black queen castling rights.
- Optimise accessing 'them' weights a bit more.
- Use performance.now() not Date.now().
Rating
CCRL 40/40: 3060 · CCRL Blitz: 3071
Usage
Use lozza.js with Node.js in any UCI chess GUI (Arena, Cute Chess, etc.), or in a web page/web worker.
Binaries
While Lozza is intended for web use, I can supply binaries on request. Please email me op12no2@gmail.com noting the target platform; thanks.