Skip to content

Lozza 5.0

Choose a tag to compare

@op12no2 op12no2 released this 14 Oct 08:26
· 40 commits to main since this release

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.