carldaman wrote: ↑Sat Aug 08, 2020 10:57 pm
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.
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.
We're making too many assumptions for now, while in the early stages of NNUE. Much more convenient is if the end user is enabled to analyze with or without NNUE whenever he chooses. That way one can get more than one opinion on a given position, without loading a different engine altogether.
Wish they'd just delete the classical evaluation completely, and stop this awkward hybridization. Yes, the NNUE evaluation is (currently) half as fast as the classical one. And given that it still was +90 Elo above classical-fish. Folks are just emotionally attached to the classical evaluation, because so many people tweaked it over the years. NNUE is the future; let it happen and evolve. And start working on SMP search.
jhellis3 wrote: ↑Sun Aug 09, 2020 9:57 pm
Lol, well.... there won't be any of that in Crystal, or at the very least there will be an option to just use the NN.
zullil wrote: ↑Sat Aug 08, 2020 3:58 pm
Yes, I can modify source code before compiling so that "Use NNUE" means "Use NNUE only". But that's going to get old very quickly.
So, basically you just want someone that doesn't find this getting old quickly to maintain a Stockfish fork and do this for you?
Folks who don't code are making the most vocal demands:
zullil wrote: ↑Sat Aug 08, 2020 4:33 pm
(Though eventually I should spend the time to learn how to use git fully myself. )
I've pushed the upstream merge to Crystal. Instead of a bool for NNUE, it has off, hybrid, and on as choices. I *think* everything is working fine, but haven't really had the time to go over all the changes closely.
Planning on doing a 3.0 release in a couple of weeks, but the impatient can just compile off github if they want to try Crystal + NNUE.
zullil wrote: ↑Sat Aug 08, 2020 3:58 pm
Yes, I can modify source code before compiling so that "Use NNUE" means "Use NNUE only". But that's going to get old very quickly.
So, basically you just want someone that doesn't find this getting old quickly to maintain a Stockfish fork and do this for you?
Folks who don't code are making the most vocal demands:
zullil wrote: ↑Sat Aug 08, 2020 4:33 pm
(Though eventually I should spend the time to learn how to use git fully myself. )
zullil wrote: ↑Sun Aug 09, 2020 6:06 pm
Wish they'd just delete the classical evaluation completely, and stop this awkward hybridization.
Not the future of all things, but the days of humans writing chess evaluation functions are obviously coming to a close. Time to focus on SMP searching.
And I do code. Have written a chess program from scratch even. Just haven't spent the time to master git.
zullil wrote: ↑Sat Aug 08, 2020 3:58 pm
Yes, I can modify source code before compiling so that "Use NNUE" means "Use NNUE only". But that's going to get old very quickly.
So, basically you just want someone that doesn't find this getting old quickly to maintain a Stockfish fork and do this for you?
Folks who don't code are making the most vocal demands:
zullil wrote: ↑Sat Aug 08, 2020 4:33 pm
(Though eventually I should spend the time to learn how to use git fully myself. )
zullil wrote: ↑Sun Aug 09, 2020 6:06 pm
Wish they'd just delete the classical evaluation completely, and stop this awkward hybridization.
Not the future of all things, but the days of humans writing chess evaluation functions are obviously coming to a close. Time to focus on SMP searching.
And I do code. Have written a chess program from scratch even. Just haven't spent the time to master git.
Cos you mentioned SMP search repeatedly, did some experiments with 256 workers on gpu with Zeta -> RMO - Randomized Move Order
zullil wrote: ↑Sun Aug 09, 2020 6:06 pm
...
Wish they'd just delete the classical evaluation completely, and stop this awkward hybridization. Yes, the NNUE evaluation is (currently) half as fast as the classical one. And given that it still was +90 Elo above classical-fish. Folks are just emotionally attached to the classical evaluation, because so many people tweaked it over the years. NNUE is the future; let it happen and evolve. And start working on SMP search.
You can not delete the classical evaluation completely because the working NNUE use partly the evaluation of Stockfish too. The common parts are: UCI-frame, position parsing, piece and its position eval, move generator and mainly the searcher of Stockfish.
jhellis3 wrote: ↑Mon Aug 10, 2020 2:48 am
I've pushed the upstream merge to Crystal. Instead of a bool for NNUE, it has off, hybrid, and on as choices. I *think* everything is working fine, but haven't really had the time to go over all the changes closely.
Planning on doing a 3.0 release in a couple of weeks, but the impatient can just compile off github if they want to try Crystal + NNUE. https://github.com/jhellis3/Stockfish/tree/crystal
I think Crystal would be better if Sergio would make a special net for Crystal basing it on the play of Crystal.