10 August 2020

Stockfish NNUE = +90 Elo

According to my notes, it's been three months since I last visited the main chess engine forums (see the tab 'TCEC/CCC Links' at the top of this page). What have the engine mavens been discussing since then? In a word, or rather in an acronym, the conversations have been dominated by 'NNUE'. That observation fits well with the last two posts in this blog's TCEC/CCC series:-

NNUE is shaping up to be the most important advance in computer chess since Alphazero and its offshoot Leela. What is it and how does it work? In NNUE (chessprogramming.org), the wiki explains,

A Neural Network architecture intended to replace the evaluation of Shogi, chess and other board game playing alpha-beta searchers running on a CPU.

Typical of many technical wikis, you have to understand the subject to understand the wiki page. One reference goes to NNUE accessible explanation (talkchess.com) with a good number of talking points including a pointer to a technical paper at arxiv.org, which is never easy reading. A couple of Stockfish-specific discussions are at:-

The official Stockfish fork lives at nodchip/Stockfish: UCI chess engine (github.com). A recent Fishcooking post, NNUE evaluation merged in master, informed,

If 'Use NNUE = false', NNUE is never used. If 'Use NNUE = true', the NNUE eval is used if the material imbalance (including Pawns) is not more than around 2.5 Pawns, else the classic eval. For greater material imbalance the double speed of classic eval outweights [the] more accurate NNUE eval. Probably in such clear cases subtle positional factors play only a minor role.

Gary Linscott, who played a key role in both Stockfish and Leela, said, 'Congratulations! Seeing a +90 Elo patch that replaces the entire eval seems almost unreal.' I hope some kind, understanding soul will eventually produce something like 'NNUE for Dummies'. There is a lot to keep track of here.

No comments: