+1
this will be the merge of a lifetime : SF 80 Elo+
Moderators: hgm, Rebel, chrisw
-
- Posts: 1167
- Joined: Thu Dec 25, 2008 9:07 pm
- Full name: Herbert L
-
- Posts: 172
- Joined: Thu May 27, 2010 3:32 am
Re: this will be the merge of a lifetime : SF 80 Elo+
Ok. What's the trivial change to the source code?
[quote=Deberger post_id=855397 time=1596931848 user_id=12155]
[quote=carldaman post_id=855385 time=1596920236 user_id=6402]
It defeats the purpose if the NNUE cannot always be set to active [as an option], because then you're at the mercy of the engine only using NNUE when it chooses. Hopefully the SF team will wake up to the fact that people also use the engine for analysis.
[/quote]
With a trivial change to the source code, you can build your own executable which always uses NNUE.
However this change can never yield stronger analysis.
Over time, using "always NNUE" will be gradually weaker and weaker as the nets are optimized for their intended use in balanced positions.
[/quote]
[quote=Deberger post_id=855397 time=1596931848 user_id=12155]
[quote=carldaman post_id=855385 time=1596920236 user_id=6402]
It defeats the purpose if the NNUE cannot always be set to active [as an option], because then you're at the mercy of the engine only using NNUE when it chooses. Hopefully the SF team will wake up to the fact that people also use the engine for analysis.
[/quote]
With a trivial change to the source code, you can build your own executable which always uses NNUE.
However this change can never yield stronger analysis.
Over time, using "always NNUE" will be gradually weaker and weaker as the nets are optimized for their intended use in balanced positions.
[/quote]
-
- Posts: 1437
- Joined: Wed Apr 21, 2010 4:58 am
- Location: Australia
- Full name: Nguyen Hong Pham
Re: this will be the merge of a lifetime : SF 80 Elo+
https://banksiagui.com
The most features chess GUI, based on opensource Banksia - the chess tournament manager
The most features chess GUI, based on opensource Banksia - the chess tournament manager
-
- Posts: 1080
- Joined: Fri Sep 16, 2016 6:55 pm
- Location: USA/Minnesota
- Full name: Leo Anger
Re: this will be the merge of a lifetime : SF 80 Elo+
Thanks.phhnguyen wrote: ↑Sun Aug 09, 2020 3:54 amReversion of Efficiently Updatable Neural Networks
https://www.chessprogramming.org/Stockfish_NNUE
Advanced Micro Devices fan.
-
- Posts: 1437
- Joined: Wed Apr 21, 2010 4:58 am
- Location: Australia
- Full name: Nguyen Hong Pham
Re: this will be the merge of a lifetime : SF 80 Elo+
Quote from @vondele at https://github.com/official-stockfish/S ... ssues/2938
Look like we won't have options to select between classic, NNUE, hybrid modes, at least for comming time.Of course one can use an old binary as well.
I don't think this warrants a UCI option, like we don't have UCI options to disable null-move pruning, LayzEval classical, etc. I'm rather sure that we will have nets soon that won't work well without the hybrid option, i.e. are specifically constructed to benefit from the fact that classical eval is good enough for many positions. I think hybrid is a real opportunity.
https://banksiagui.com
The most features chess GUI, based on opensource Banksia - the chess tournament manager
The most features chess GUI, based on opensource Banksia - the chess tournament manager
-
- Posts: 91
- Joined: Sat Nov 02, 2019 6:42 pm
- Full name: ɹǝƃɹǝqǝᗡ ǝɔnɹꓭ
Re: this will be the merge of a lifetime : SF 80 Elo+
src/evaluate.cpp:schack wrote: ↑Sun Aug 09, 2020 3:39 am Ok. What's the trivial change to the source code?
Deberger wrote: ↑Sun Aug 09, 2020 2:10 amWith a trivial change to the source code, you can build your own executable which always uses NNUE.
However this change can never yield stronger analysis.
Over time, using "always NNUE" will be gradually weaker and weaker as the nets are optimized for their intended use in balanced positions.
Code: Select all
- constexpr Value NNUEThreshold = Value(520);
+ constexpr Value NNUEThreshold = VALUE_INFINITE;
-
- Posts: 172
- Joined: Thu May 27, 2010 3:32 am
-
- Posts: 6442
- Joined: Tue Jan 09, 2007 12:31 am
- Location: PA USA
- Full name: Louis Zulli
Re: this will be the merge of a lifetime : SF 80 Elo+
At the moment, the source code change is trivial. In any case, there is an nnue_always forked being maintained by Joerg Oster:Deberger wrote: ↑Sun Aug 09, 2020 2:10 amWith a trivial change to the source code, you can build your own executable which always uses NNUE.
However this change can never yield stronger analysis.
Over time, using "always NNUE" will be gradually weaker and weaker as the nets are optimized for their intended use in balanced positions.
https://github.com/joergoster/Stockfish ... nue_always
-
- Posts: 6442
- Joined: Tue Jan 09, 2007 12:31 am
- Location: PA USA
- Full name: Louis Zulli
Re: this will be the merge of a lifetime : SF 80 Elo+
Doesn't this statement assume that the classical evaluation is at least as good as the NNUE evaluation in "unbalanced" positions? That is, for positions for which abs(eg_value(pos.psq_score())) is at least 520?
(Note that the criterion for Stockfish's using or not using NNUE evaluation is already rather inscrutable, and now incorporates various bonus/penalties based on placement of material.)
Also, Stockfish is developed to maximize self-play Elo at Fishtest time controls. It seem quite likely (to me) that under other conditions Stockfish would benefit more from greater use of NNUE.
-
- Posts: 937
- Joined: Fri Mar 10, 2006 4:29 pm
- Location: Germany
Re: this will be the merge of a lifetime : SF 80 Elo+
Agreed.zullil wrote: ↑Sun Aug 09, 2020 1:05 pmDoesn't this statement assume that the classical evaluation is at least as good as the NNUE evaluation in "unbalanced" positions? That is, for positions for which abs(eg_value(pos.psq_score())) is at least 520?
(Note that the criterion for Stockfish's using or not using NNUE evaluation is already rather inscrutable, and now incorporates various bonus/penalties based on placement of material.)
Also, Stockfish is developed to maximize self-play Elo at Fishtest time controls. It seem quite likely (to me) that under other conditions Stockfish would benefit more from greater use of NNUE.
I'm quite puzzled what people already seem to know about this new technique.
Nobody really knows if the current network architecture is best for chess, nor the optimal training method.
We're still at the very beginning, imho.
It is especially in unbalanced positions where classic eval seems to lack some knowledge,
at least that was my impression from many examples given in the past.
Jörg Oster