Creating this in my spare time, mainly using it to learn more about optimization and computer games. I'm uploading it here so I can keep backups of it and not lose it when my laptop finally dies.
Version 11.1 uses a (768x16 -> 2048)x2 -> 8 neural network to evaluate positions, which was trained on incremental self-play data starting with the network from version 10.5. The current size of the dataset is around 4.5 billion positions.
Version 10.5 used a (768x5 -> 1536)x2 -> 8 network, and used ~8 billion positions from a collection of Lc0 datasets.
All networks are trained using Bullet
Using make
is the easiest way, as this calls dotnet publish
with the proper parameters.
If your processor supports Avx512, you can also use make 512
to compile a binary that fully uses those instructions during NNUE inference.
[!NOTE] Requires at least .NET 8.0 or higher to build.
[!IMPORTANT] NNUE networks are served in a separate repository to keep the size of this main repository small. The makefile will automatically take care of this by retrieving the network specified in the network.txt file in the repo root, but note that compiling directly via
dotnet publish
/build
will fail unless you download the latest network file and manually place it in the directory (or have previously used the makefile).
Uses its own NNUE evaluation, and began proper parameter testing with SPRT. 9.3.1 was the last version to be named "LTChess".
Some major speed improvements to both searches and move generation. It was rated a bit above 2500 bullet/blitz on Lichess.
A decent rating increase, and a lot fewer "dumb" moves. Many of the commits between 8.0 and 8.4 improved some of the early architectural decisions, and it is now far easier to debug and improve the code. It was rated a bit above 2400 bullet/blitz on Lichess.
A large rating increase (around 250) and was far more polished. It was rated a bit above 2000 bullet on Lichess.
If you have any ideas or comments, feel free to create an issue or pull request!