Working on the first NNUE release

Finally I have found the energy to work on the first NNUE release of rofChade. I already started this summer with rewriting the NNUE support in rofChade, and developed some tools for generating positions, recalculating positions and recalculating the gameresult of game positions.

With these tools I created 1 Billion positions, and recalculated the positions with the old evaluation of rofChade with depth 10, but could’t find the energy to start working on a trainer.

As happened before, the upcoming CSVN tournament (which in the end was canceled due to new covid regulations in the Netherlands) was the final push to really start with a trainer. Eventually I decided to use Stockfishes pytorch trainer for the training part and started training. Thank you for making the trainer available for everybody!

After some initial issues I was able to create a “standard” HALFKA network trained on the 1B positions and the result was already impressive. + 100 elo….. This test version runs in Frank Quisinsky FCP Tourney-2022, he was kind enough to let the initial version run in the tournament! You can find the tournament here: https://www.amateurschach.de/

In the meantime I was able to get around 40 more elo out of the current dataset with the old evaluation, by finetuning the trainer parameters.

I did a recalculation of the dataset with the first NNUE network, but after some 10 days of recalculation with 126 threads, the results of the training are disappointing. I hope there is a bug in the NNUE recalc software, otherwise I will have to start with different recalc strategies.

I’m not yet where I want to be with the first “official” release of a NNUE rofChade, but I’m getting closer…..