NNUE Poll

Discussion of chess software programming and technical issues.

Moderator: Ras

How do you feel about using NNUE based evaluation in your engine?

I'm already using NNUE in my engine
14
27%
I'd like to adopt NNUE but I lack the time or knowledge to implement it
11
22%
I don't want to use 3rd party training data / trainers and it's too much work to do everything from scratch
1
2%
I don't want to turn my engine into "yet another" NNUE engine
8
16%
I don't want to introduce the interpretability and transparency issues of neural networks into my evaluation
0
No votes
I may use NNUE in the future but there are other ideas I want to explore first
17
33%
 
Total votes: 51

User avatar
lithander
Posts: 915
Joined: Sun Dec 27, 2020 2:40 am
Location: Bremen, Germany
Full name: Thomas Jahn

NNUE Poll

Post by lithander »

More and more engines are adopting NNUE based evaluation but I feel like in this forum the topic is underrepresented. I wonder why that is?

Are developers discussing NNUEs elsewhere? Or are the users here just not interested in NNUE? In that case I'd really like to hear your reasons. :)
Minimal Chess (simple, open source, C#) - Youtube & Github
Leorik (competitive, in active development, C#) - Github & Lichess
rdhoffmann
Posts: 54
Joined: Fri Apr 21, 2023 3:46 pm
Full name: Richard Hoffmann

Re: NNUE Poll

Post by rdhoffmann »

I'm interested. Currently I use HCE, my own network (which is all bitboards fed into a simple neural network, and thus fast to evaluate), and lastly NNUE.
smatovic
Posts: 3226
Joined: Wed Mar 10, 2010 10:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic

Re: NNUE Poll

Post by smatovic »

The NNUE implementation itself might be not that hard, but to come up with ones own, original network seems quite a effort to me, time and hardware.

Still have a port of SF13 NNUE to Zeta (GPU) on my to-do list.

--
Srdja
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: NNUE Poll

Post by mvanthoor »

lithander wrote: Mon Apr 24, 2023 2:15 pm More and more engines are adopting NNUE based evaluation but I feel like in this forum the topic is underrepresented. I wonder why that is?
Because most of it has been discussed on Discord. People that have been part of these discussions are in the know, people who're not on Discord know nothing. It's the same with magic bitboards. If you try to get going with that, it'll take you weeks to find piecemeal information, often incomplete, incorrect, or badly explained all over the internet and you're stuck until you pieced it all together.

It may be better now, but not in 2019; I gave up, started my engine as a mailbox version, then restarted to look at this again and finally figured most of it out on my own. In the end it took me four months.

The same is happening with writing a tuner that doesn't take 500 years without looking at other people's code, and the same will be happening with NNUE too. Or I'm just incredibly stupid. That's also a possibility.

Are developers discussing NNUEs elsewhere?
They're on Discord. Where else do you think some of those new "Hi! I wrote a chess engine, and it's around 3500 Elo!" engines are coming from?
Or are the users here just not interested in NNUE? In that case I'd really like to hear your reasons. :)
I'm interested in it, but I also want to have an engine with a classical evaluation. In the end, Rustic will probably have both, switchable by a command-line option.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
User avatar
flok
Posts: 558
Joined: Tue Jul 03, 2018 10:19 am
Full name: Folkert van Heusden

Re: NNUE Poll

Post by flok »

mvanthoor wrote: Mon Apr 24, 2023 10:02 pm
Are developers discussing NNUEs elsewhere?
They're on Discord. Where else do you think some of those new "Hi! I wrote a chess engine, and it's around 3500 Elo!" engines are coming from?
https://discord.gg/32Fjky3vS6 is such a place. Here also other games like Ataxx and Go are discussed. People are generally very helpful there.
Whiskers
Posts: 243
Joined: Tue Jan 31, 2023 4:34 pm
Full name: Adam Kulju

Re: NNUE Poll

Post by Whiskers »

mvanthoor wrote: Mon Apr 24, 2023 10:02 pm
lithander wrote: Mon Apr 24, 2023 2:15 pm More and more engines are adopting NNUE based evaluation but I feel like in this forum the topic is underrepresented. I wonder why that is?
Because most of it has been discussed on Discord. People that have been part of these discussions are in the know, people who're not on Discord know nothing. It's the same with magic bitboards. If you try to get going with that, it'll take you weeks to find piecemeal information, often incomplete, incorrect, or badly explained all over the internet and you're stuck until you pieced it all together.

It may be better now, but not in 2019; I gave up, started my engine as a mailbox version, then restarted to look at this again and finally figured most of it out on my own. In the end it took me four months.

The same is happening with writing a tuner that doesn't take 500 years without looking at other people's code, and the same will be happening with NNUE too. Or I'm just incredibly stupid. That's also a possibility.

Are developers discussing NNUEs elsewhere?
They're on Discord. Where else do you think some of those new "Hi! I wrote a chess engine, and it's around 3500 Elo!" engines are coming from?
Or are the users here just not interested in NNUE? In that case I'd really like to hear your reasons. :)
I'm interested in it, but I also want to have an engine with a classical evaluation. In the end, Rustic will probably have both, switchable by a command-line option.
Yup that's pretty much it. Being able to talk with other chess engine devs in real time is a huge boon; especially so compared to CPW and old talkchess forum links, whose topics can often contain outdated information (see the null move pruning article, for instance).
User avatar
j.t.
Posts: 263
Joined: Wed Jun 16, 2021 2:08 am
Location: Berlin
Full name: Jost Triller

Re: NNUE Poll

Post by j.t. »

One of the reasons I'm not getting into NNUE is the "Efficiently Updatable" part; I don't like having to keep track of an evaluation state during search. Maybe I'm overestimating the hairiness of such code, but yeah ... I don't like the idea of it.
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: NNUE Poll

Post by mvanthoor »

Whiskers wrote: Mon Apr 24, 2023 11:48 pm Yup that's pretty much it. Being able to talk with other chess engine devs in real time is a huge boon; especially so compared to CPW and old talkchess forum links, whose topics can often contain outdated information (see the null move pruning article, for instance).
I dislike Discord precisely because it is in real-time. You can only know stuff if you are there, at the right time and the right place with the right people in the Discord. If you miss it for some reason, you'll never know.

Some of the stuff i used in my engine comes from websites, forums and newsgroup posts that were 15 years old when I first found them. Some sites even didn't exist anymore when I found links to them, but the WayBackMachine recovered a lot of information. Try that with Discord.

It's the reason why I'm writing that book about my engine: so that anyone can write a magic bitboard chess engine from scratch, in basically (almost) any programming language, by only reading the topics in that book. That "anyone" might, some day, be my future self if I decide to try some new fancy-schmacy programming language. I'm NOT going to google around for four months AGAIN.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: NNUE Poll

Post by mvanthoor »

flok wrote: Mon Apr 24, 2023 10:43 pm https://discord.gg/32Fjky3vS6 is such a place. Here also other games like Ataxx and Go are discussed. People are generally very helpful there.
Thanks for the invitation. I think I'm going to accept it and install Discord to see if I can learn something there at some point int he future. Even so, if I learn something useful, I'll document it so I can later write a piece or a chapter on my own site, even if it's only to make sure I don't forget it myself.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
User avatar
hgm
Posts: 28353
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: NNUE Poll

Post by hgm »

Making an NNUE evaluation is not really programming. It requires some rather trivial standard code for running the NN. There is no creativity there, I might as well write a program to calculate my tax returns. What is the fun in that? Basically you let the computer write its own engine, and the only contribution you make yourself is paying the electricity bill. In the end you will get something that might play strong chess, but you would still have no clue why or how it does this. So as a method of getting some understanding is is also a bust.