Page 1 of 2

Which Stockfish version to get good evaluations for database

Posted: Sat Jul 24, 2021 11:55 pm
by Peperoni
Hello,

I'm looking for a way to quickly evaluate each move for my large database.
I have the code ready but I am not sure which engine/version to use for that.
The idea would be to have a strong engine evaluation (Elo 3000+) in the fastest way possible.
First I thought about Stockfish 14 at depth 18 with NNUE but NNUE is a lot slower.
Then I have the feeling Stockfish 14 without NNUE is also slower than Stockfish 13.
Maybe an older but quicker version of Stockfish would do the trick?

Thanks a lot

Re: Which Stockfish version to get good evaluations for database

Posted: Sat Jul 24, 2021 11:59 pm
by yurikvelo
Peperoni wrote: Sat Jul 24, 2021 11:55 pm First I thought about Stockfish 14 at depth 18 with NNUE but NNUE is a lot slower.
1) for any given amount of time it is a lot stronger. Consectary: for any desired analysis strength it is a lot faster.

2) the less amount of time is given -> the bigger gap versus "faster opponents" (blitz favour NNUE more than LTC)

3) depth/seldepth metric is meaningless, it mean literally nothing. and this "nothing" is not comparable in any way within the same engine and not comparable with other engines. these are just random numbers not intended to mean anything. If you want engine with speed of light, take Stockfish source and compile version which report Depth = Depth *10 to UCI interface. You will get D=28 report faster than opponents reach D=18.

Re: Which Stockfish version to get good evaluations for database

Posted: Sun Jul 25, 2021 12:28 am
by Peperoni
yurikvelo wrote: Sat Jul 24, 2021 11:59 pm
Peperoni wrote: Sat Jul 24, 2021 11:55 pm First I thought about Stockfish 14 at depth 18 with NNUE but NNUE is a lot slower.
3) depth/seldepth metric is meaningless, it mean literally nothing. and this "nothing" is not comparable in any way within the same engine and not comparable with other engines. these are just random numbers not intended to mean anything. If you want engine with speed of light, take Stockfish source and compile version which report Depth = Depth *10 to UCI interface. You will get D=28 report faster than opponents reach D=18.
Thanks. Could you please be more explicit on that last paragraph, I am not sure to understand what you mean. I already compile from SF source code on ARM Linux ;-)

Re: Which Stockfish version to get good evaluations for database

Posted: Sun Jul 25, 2021 12:37 am
by yurikvelo
If you are obsessed with reported Depth UCI option, you can increase it, e.g. D=D+10, or D=D*2

This obfuscation method was sucessfully used by Vasyk in Rybka and Houdart in Houdini.

It made happy people, who are obsessed with UCI report values. It makes them believe that one thing is slower/faster/deeper/shallower than another.

I don't know what are exact ELO numbers for SF-Classical.
Let's assume it is 160 elo lower than SF-Dev, and assume 2x time give +40 ELO.

This mean that using Classical HCE (hand-crafted evaluation) is 8x times slower for any desired analysis strength.

If you let SF spend 0.1 sec per move, you have to give 0.8 sec to SF-Classical for the same quality. Even if you feel that Classical is faster (UCI interface report bigger numbers on Depth loop metric and nodes/second metric) - it wastes this work into heat and garbage: force your CPU to look on bad moves.

Re: Which Stockfish version to get good evaluations for database

Posted: Sun Jul 25, 2021 12:43 am
by Cornfed
Peperoni wrote: Sat Jul 24, 2021 11:55 pm Hello,

I'm looking for a way to quickly evaluate each move for my large database.
I have the code ready but I am not sure which engine/version to use for that.
The idea would be to have a strong engine evaluation (Elo 3000+) in the fastest way possible.
First I thought about Stockfish 14 at depth 18 with NNUE but NNUE is a lot slower.
Then I have the feeling Stockfish 14 without NNUE is also slower than Stockfish 13.
Maybe an older but quicker version of Stockfish would do the trick?

Thanks a lot
"Large"??
That sure sounds like a 'fools errand'...but okay, your choice.
Full games or for opening research?
Fools errand for the former and for the later, If anything, I would suggest to only sick an engine on moves 7 thru 17, current developmental version.

Re: Which Stockfish version to get good evaluations for database

Posted: Sun Jul 25, 2021 1:02 am
by MikeB
Peperoni wrote: Sat Jul 24, 2021 11:55 pm Hello,

I'm looking for a way to quickly evaluate each move for my large database.
I have the code ready but I am not sure which engine/version to use for that.
The idea would be to have a strong engine evaluation (Elo 3000+) in the fastest way possible.
First I thought about Stockfish 14 at depth 18 with NNUE but NNUE is a lot slower.
Then I have the feeling Stockfish 14 without NNUE is also slower than Stockfish 13.
Maybe an older but quicker version of Stockfish would do the trick?

Thanks a lot
I would need to understand your intent on how to user the infromation. For training , you would want to set multpv to at least 8 , but then you can go with lower depth. Also even though NNUE is slowwer nps, but guess what , it reaches depths quicker - so NNUE is probaly faster anyway. Classical SF is over 100 Elo below , why would you want to use that ? But you may have a reason, but if you can explain your objective/goal, someone may be able to give you a better answer.

Re: Which Stockfish version to get good evaluations for database

Posted: Sun Jul 25, 2021 1:24 am
by Peperoni
MikeB wrote: Sun Jul 25, 2021 1:02 am
Peperoni wrote: Sat Jul 24, 2021 11:55 pm Hello,

I'm looking for a way to quickly evaluate each move for my large database.
I have the code ready but I am not sure which engine/version to use for that.
The idea would be to have a strong engine evaluation (Elo 3000+) in the fastest way possible.
First I thought about Stockfish 14 at depth 18 with NNUE but NNUE is a lot slower.
Then I have the feeling Stockfish 14 without NNUE is also slower than Stockfish 13.
Maybe an older but quicker version of Stockfish would do the trick?

Thanks a lot
I would need to understand your intent on how to user the infromation. For training , you would want to set multpv to at least 8 , but then you can go with lower depth. Also even though NNUE is slowwer nps, but guess what , it reaches depths quicker - so NNUE is probaly faster anyway. Classical SF is over 100 Elo below , why would you want to use that ? But you may have a reason, but if you can explain your objective/goal, someone may be able to give you a better answer.
Hello Mike :-)
My goal is to quickly analyse games to detect the mistakes. (around 100M Fens) From my tests, NNUE seems slower at a given depth of 18, maybe that changes with a bigger depth?

Re: Which Stockfish version to get good evaluations for database

Posted: Sun Jul 25, 2021 4:20 am
by Ferdy
Peperoni wrote: Sat Jul 24, 2021 11:55 pm Hello,

I'm looking for a way to quickly evaluate each move for my large database.
I have the code ready but I am not sure which engine/version to use for that.
The idea would be to have a strong engine evaluation (Elo 3000+) in the fastest way possible.
First I thought about Stockfish 14 at depth 18 with NNUE but NNUE is a lot slower.
Then I have the feeling Stockfish 14 without NNUE is also slower than Stockfish 13.
Maybe an older but quicker version of Stockfish would do the trick?

Thanks a lot
You can use sf14 on depth 12, it is around 3000+ CCRL Blitz.

Re: Which Stockfish version to get good evaluations for database

Posted: Sun Jul 25, 2021 11:33 am
by Peperoni
Ferdy wrote: Sun Jul 25, 2021 4:20 am
Peperoni wrote: Sat Jul 24, 2021 11:55 pm Hello,

I'm looking for a way to quickly evaluate each move for my large database.
I have the code ready but I am not sure which engine/version to use for that.
The idea would be to have a strong engine evaluation (Elo 3000+) in the fastest way possible.
First I thought about Stockfish 14 at depth 18 with NNUE but NNUE is a lot slower.
Then I have the feeling Stockfish 14 without NNUE is also slower than Stockfish 13.
Maybe an older but quicker version of Stockfish would do the trick?

Thanks a lot
You can use sf14 on depth 12, it is around 3000+ CCRL Blitz.
Hello Ferdy, where did you read that please?

Re: Which Stockfish version to get good evaluations for database

Posted: Sun Jul 25, 2021 11:51 am
by Ferdy
Peperoni wrote: Sun Jul 25, 2021 11:33 am
Ferdy wrote: Sun Jul 25, 2021 4:20 am
Peperoni wrote: Sat Jul 24, 2021 11:55 pm Hello,

I'm looking for a way to quickly evaluate each move for my large database.
I have the code ready but I am not sure which engine/version to use for that.
The idea would be to have a strong engine evaluation (Elo 3000+) in the fastest way possible.
First I thought about Stockfish 14 at depth 18 with NNUE but NNUE is a lot slower.
Then I have the feeling Stockfish 14 without NNUE is also slower than Stockfish 13.
Maybe an older but quicker version of Stockfish would do the trick?

Thanks a lot
You can use sf14 on depth 12, it is around 3000+ CCRL Blitz.
Hello Ferdy, where did you read that please?
I tested it with my engine (around 3000) on Blitz TC and sf14 at depth 12.

Code: Select all

   # PLAYER                     :  RATING  ERROR  POINTS  PLAYED   (%)
   1 sf14 d12                   :     123     49    83.5     125  66.8
   2 Deuterium v2019.2.37.73    :       0   ----    41.5     125  33.2