user15223: Apparently there was a major update to Stockfish recently such that it gained +50 elo (per regression tests). I'm told that the difference is coming from the new NNUE (efficiently updatable neural network) eval function. In other words Stockfish is now a hybrid engine utilizing AB search & NN eval.
Questions:

Is this picture correct?
If so, how is the NNUE being trained? Is it only being trained on Stockfish games, or does it also utilize games by other engines?
If NNUE is being trained on Stockfish games, does that mean Stockfish's original handwritten eval will continue to be tested and improved on? Or will Stockfish NNUE be trained on Stockfish NNUE games in the future (i.e. the handwritten eval is now obsolete and will not be developed anymore)?
Does this mean Stockfish's update process will now take longer? In the sense that for every new patch, a new NNUE would need to be trained, and then the new patch + new network plays against the old patch + old network?


user23100: Answers to your question:

Is this picture correct?

You got it exactly right. It's exactly that- ab search with NN eval.

If so, how is the NNUE being trained? Is it only being trained on Stockfish games, or does it also utilize games by other engines?

Basically, it's given a bunch of positions and the SF eval at a certain depth, and is trained from that data. I'm not sure where the positions come from but I believe SF self-play.

If NNUE is being trained on Stockfish games, does that mean Stockfish's original handwritten eval will continue to be tested and improved on? Or will Stockfish NNUE be trained on Stockfish NNUE games in the future (i.e. the handwritten eval is now obsolete and will not be developed anymore)?

Yeah, handwritten eval will continue to be worked on. It's also worth noting that SF (the one after the merge) technically uses its old eval in certain types of positions- sadly I can't go into more detail since it's constantly changing with new elo-gaining patches, but as I understand it, classical eval is meant to be used in "messier" positions, while NNUE is used in quieter positions.

Does this mean Stockfish's update process will now take longer? In the sense that for every new patch, a new NNUE would need to be trained, and then the new patch + new network plays against the old patch + old network?

Nope, patches should come at the same speed (currently they're coming at a much faster rate due to obvious improvements being all over, like, I  go to sleep, I wake up, already several patches gaining elo....). As I understand, there'd be no need for a new NNUE.

15223: <p>Apparently there was a major update to Stockfish recently such that it gained +50 elo (<a href="https://github.com/glinscott/fishtest/wiki/Regression-Tests" rel="noreferrer">per regression tests</a>). I'm told that the difference is coming from the new NNUE (efficiently updatable neural network) eval function. In other words Stockfish is now a hybrid engine utilizing AB search &amp; NN eval.</p>
<p>Questions:</p>
<ul>
<li>Is this picture correct?</li>
<li>If so, how is the NNUE being trained? Is it only being trained on Stockfish games, or does it also utilize games by other engines?</li>
<li>If NNUE is being trained on Stockfish games, does that mean Stockfish's original handwritten eval will continue to be tested and improved on? Or will Stockfish NNUE be trained on Stockfish NNUE games in the future (i.e. the handwritten eval is now obsolete and will not be developed anymore)?</li>
<li>Does this mean Stockfish's update process will now take longer? In the sense that for every new patch, a new NNUE would need to be trained, and then the new patch + new network plays against the old patch + old network?</li>
</ul>
 23100: <p>Answers to your question:</p>
<blockquote>
<p>Is this picture correct?</p>
</blockquote>
<p>You got it exactly right. It's exactly that- ab search with NN eval.</p>
<blockquote>
<p>If so, how is the NNUE being trained? Is it only being trained on Stockfish games, or does it also utilize games by other engines?</p>
</blockquote>
<p>Basically, it's given a bunch of positions and the SF eval at a certain depth, and is trained from that data. I'm not sure where the positions come from but I believe SF self-play.</p>
<blockquote>
<p>If NNUE is being trained on Stockfish games, does that mean Stockfish's original handwritten eval will continue to be tested and improved on? Or will Stockfish NNUE be trained on Stockfish NNUE games in the future (i.e. the handwritten eval is now obsolete and will not be developed anymore)?</p>
</blockquote>
<p>Yeah, handwritten eval will continue to be worked on. It's also worth noting that SF (the one after the merge) technically uses its old eval in certain types of positions- sadly I can't go into more detail since it's constantly changing with new elo-gaining patches, but as I understand it, classical eval is meant to be used in &quot;messier&quot; positions, while NNUE is used in quieter positions.</p>
<blockquote>
<p>Does this mean Stockfish's update process will now take longer? In the sense that for every new patch, a new NNUE would need to be trained, and then the new patch + new network plays against the old patch + old network?</p>
</blockquote>
<p>Nope, patches should come at the same speed (currently they're coming at a much faster rate due to obvious improvements being all over, like, I  go to sleep, I wake up, already several patches gaining elo....). As I understand, there'd be no need for a new NNUE.</p>
