Final Release of Ethereal, V12.75

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Dann Corbit
Posts: 12537
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Final Release of Ethereal, V12.75

Post by Dann Corbit »

Tony P. wrote: Sat Oct 10, 2020 4:52 am
Albert Silver wrote: Sat Oct 10, 2020 4:00 am The shogi programmers are the ones who invented it and attached the code in a branch to the Stockfish Github they made and gifted to the computer chess community.
Their decision to add that code to SF and neither add it to another chess engine nor publish code snippets under a less restrictive license can be regarded as a gift to the SF community and to those willing to derive from SF (and be at odds with the originality rules of competitions; how enforceable they are is a separate topic :P ), not the whole CC community. SF has earned that semi-exclusivity by being the strongest CPU engine at the time when shogi programmers decided to borrow search ideas from chess, and staying such when the time came for them to give back.
Stockfish is GPL.
So any GPL program can use the NNIUE stuff.
If you do not have a GPL license, then you will have to write your own.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
AndrewGrant
Posts: 1750
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Final Release of Ethereal, V12.75

Post by AndrewGrant »

Albert Silver wrote: Sat Oct 10, 2020 4:14 am What a drama queen. I know this is going to make me sound singularly unsympathetic in this thread filled with messages of "please don't go!", but I really don't feel terribly sympathetic to all this grandstanding.

Look, stop trying to impose your values and your views of how to program a chess engine on everyone else. It is just lame. If you enjoy chess programming a certain way, no one, and I do mean no one, is stopping you. No one will criticize you, or judge you, or tell you you are the Amish of computer chess programmers. So stop telling everyone else how they must do it, and if they don't do it exactly the way you approve then you will leave.

If you derive pleasure from your hobby, and/or find it rewarding and cool, then stay. However, if you enjoy it but demand everyone do it your way or you won't play... Bah.
Alright, fuck my previous views. I'm merging NNUE, and I'm releasing it officially with a Stockfish Network. I would like rating lists to use that network, and call the engine "Ethereal" as per normal.
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
Tony P.
Posts: 216
Joined: Sun Jan 22, 2017 8:30 pm
Location: Russia

Re: Final Release of Ethereal, V12.75

Post by Tony P. »

Dann Corbit wrote: Sat Oct 10, 2020 5:02 am So any GPL program can use the NNIUE stuff.
Of course, it can, but the SF copyright notice must then be added to the license, and the source must be open*, the exact way in which the SF code is used can't be hidden. There'd be less discussion of that if the TCEC organizers hadn't published special NNUE guidelines for Cup 7:
Guidelines for use of NNUE at TCEC:
1. NNUE code can be used and considered as if it was a library (even if it is not literally one).
2. Custom modifications to the basic NNUE code are strongly encouraged, it should be considered rather like a starting point.
3. All NNUE training data should be generated by the unique engine's own search and/or eval code.
Do the NNUE guidelines apply outside NNUE technology?
No, of course not.
* assuming that either SF code is compiled into the playing binary, or the organizers ask to send them the training code.

A last minute edit to clarify: so, when it comes to TCEC participation, the only engine that's unconditionally allowed to use the code that Nodchip added to SF is SF itself. Other engines' authors are 'strongly encouraged' (or, if they wish to keep the engine closed-source, even legally obliged, at least in the NN inference part) to write their own implementations. That's actually great. What I just wanted to point out was that Nodchip had expressed a strong affinity for SF when giving the NNUE idea to the chess community.
Last edited by Tony P. on Sat Oct 10, 2020 5:46 am, edited 1 time in total.
AndrewGrant
Posts: 1750
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Final Release of Ethereal, V12.75

Post by AndrewGrant »

Tony P. wrote: Sat Oct 10, 2020 5:17 am
Dann Corbit wrote: Sat Oct 10, 2020 5:02 am So any GPL program can use the NNIUE stuff.
Of course, it can, but the SF copyright notice must then be added to the license, and the source must be open*, the exact way in which the SF code is used can't be hidden. There'd be less discussion of that if the TCEC organizers hadn't published special NNUE guidelines for Cup 7:
Guidelines for use of NNUE at TCEC:
1. NNUE code can be used and considered as if it was a library (even if it is not literally one).
2. Custom modifications to the basic NNUE code are strongly encouraged, it should be considered rather like a starting point.
3. All NNUE training data should be generated by the unique engine's own search and/or eval code.
Do the NNUE guidelines apply outside NNUE technology?
No, of course not.
* assuming that either SF code is compiled into the playing binary, or the organizers ask to send them the training code.
Guidelines, not rules. TCEC has the worst track record of enforcing rules. They let two Stockfish clones compete for half a decade, and then removed them under the guise of "No longer developed". TCEC has the most incompetent and out of touch views of chess. Let other organizations, Like CCRL, CEGT, and others be the one to pave the way forward.
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
Tony P.
Posts: 216
Joined: Sun Jan 22, 2017 8:30 pm
Location: Russia

Re: Final Release of Ethereal, V12.75

Post by Tony P. »

Those rating lists will matter more when they start pulling in audiences of comparable size. In the status quo, TCEC is a key avenue for chess programmers' self-promotion. It's too influential to be ignored :D
Tony P.
Posts: 216
Joined: Sun Jan 22, 2017 8:30 pm
Location: Russia

Re: Final Release of Ethereal, V12.75

Post by Tony P. »

What's ironic is that, after opensourcing Ethereal, you don't own her future exclusively anymore. The TCEC/C3 organizers are free to enroll her derivatives, even (heavily modified) NNUEs, in later seasons against your will.
Albert Silver
Posts: 3019
Joined: Wed Mar 08, 2006 9:57 pm
Location: Rio de Janeiro, Brazil

Re: Final Release of Ethereal, V12.75

Post by Albert Silver »

AndrewGrant wrote: Sat Oct 10, 2020 5:14 am
Albert Silver wrote: Sat Oct 10, 2020 4:14 am What a drama queen. I know this is going to make me sound singularly unsympathetic in this thread filled with messages of "please don't go!", but I really don't feel terribly sympathetic to all this grandstanding.

Look, stop trying to impose your values and your views of how to program a chess engine on everyone else. It is just lame. If you enjoy chess programming a certain way, no one, and I do mean no one, is stopping you. No one will criticize you, or judge you, or tell you you are the Amish of computer chess programmers. So stop telling everyone else how they must do it, and if they don't do it exactly the way you approve then you will leave.

If you derive pleasure from your hobby, and/or find it rewarding and cool, then stay. However, if you enjoy it but demand everyone do it your way or you won't play... Bah.
Alright, fuck my previous views. I'm merging NNUE, and I'm releasing it officially with a Stockfish Network. I would like rating lists to use that network, and call the engine "Ethereal" as per normal.
You are condemning NNUE because it is modular, and anyone can use a different NN than the one you chose or designed. Just because the user can do this, does not mean you have to, nor that authors will either. Sure, there are cases in the forum (not to be confused with the ratings lists) of authors demonstrating NNUE compatibility. I have not heard them claim now this was the new official engine. If you want an NN that is built from Ethereal games, just build/train one, or partner with someone who is willing to help. I don't see what the big deal is.
"Tactics are the bricks and sticks that make up a game, but positional play is the architectural blueprint."
mar
Posts: 2554
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Final Release of Ethereal, V12.75

Post by mar »

Dann Corbit wrote: Sat Oct 10, 2020 5:02 am Stockfish is GPL.
So any GPL program can use the NNIUE stuff.
If you do not have a GPL license, then you will have to write your own.
actually, there's nothing special about NNUE, just a plain ff nn. of course the devil's in the details, I'm not trying to play it down, kudos to whoever came up with this and made it work.

since the topology has been exposed in CPW, anyone capable enough should be able to come up with his own implementation (because that's really everything you need to know), of course you'll need a good training set and training in general (we're talking 20M weights)

yet so far people have simply cloned the SF code (correct me if I'm wrong) and some didn't even bother to train their own nets

the idea of incorporating nn into eval and search is nothing new either, Volker Annuss (Hermann, Arminius) has been doing this for many years and most likely others as well. however, what is possible today was not possible in 20-30 years ago.
Martin Sedlak
alex67a
Posts: 50
Joined: Mon Sep 10, 2018 10:15 am
Location: Denmark
Full name: Alexander Spence

Re: Final Release of Ethereal, V12.75

Post by alex67a »

I would be sorry if Andrew left ...
Each engine has its own why, I unload them all ...
Of course, Stockfish is the strongest but I have no hope against him, with other engines I lose the same but they are more interesting games, whether they play with me or with other engines ...
I find an Ethereal - Xiphos match more interesting than a Stockfish - Lc0 where they tell you 40 moves in advance how it will end
I have never developed motors, but I agree with those who say that certain computer algorithms are things that are studied and evolve in different ways at the beginning and then become a standard
I fully agree with syzygy's comment and think that every engine, including Ethereal, uses techniques invented by others with their own variations
Maybe Ethereal doesn't use bitboards or transposition tables because someone else invented them?
But the birth of Lc0 shows that you can always create something new
Like it or not, nnue and networks have been a leap forward and we must start from there ...
Ethereal was often updated, perhaps it would be appropriate to stop for a while to think about new programming strategies based on nnue or possibly equally efficient alternatives (if they exist)
But I understand that Andrew may not feel it, it's his choice, once there were horses then cars came and those who want to compete in transport or create a better car or invent the motorcycle, but can't go back to breeding better horses that you don't compete with cars
That's if your dream is to create the # 1 engine, otherwise there's plenty of room for Ethereal ...
What to say ?
Once there was Michael Jordan, then he retired and after a while the star of James Lebron began to shine
One day he too will go away and after a while someone else will come
Thanks to Andrew for the wonderful Ethereal, I hope it stays but in any case a heart felt thanks
Gary Internet
Posts: 60
Joined: Thu Jan 04, 2018 7:09 pm

Re: Final Release of Ethereal, V12.75

Post by Gary Internet »

The thing that I'm finding interesting at the moment is Nemorino 6.00. With the addition of NNUE, Nemorino 6 has gained a massive amount of strength over version 5.00 and version 5.40. On Stefan Pohl's site, it basically achieved parity with Houdini 6.03 with a score of +219=563-218, over a 1,000 game sample. If we then use Houdini 6.03 as a comparison, this means that Nemorino 6.00, as strong as it has become in short order, is still a long way behind SF versions 9, 10 and 11, let alone 12 and 13dev.

Why didn't Nemorino become as strong as SF12? Why did its strength gain stop at the "Houdini level"? - I get that it could be SF12 level if it simply "plugged in" the relevant net.

Using it's own nets however, will it reach the SF10 or SF11 level in the next 3 months? Next 6 months? Ever?

Amidst the hand ringing that's going on about the uniqueness of evaluation and the death of computer chess as we know it, it would seem that unless people are outright using the exact same net as SF12 or SFdev, all that will happen is that the strength of engines has increased across the board, but the rankings haven't changed, they're still going to end up being similar to how they were before NNUE came along.

======

Andrew - There is nothing stopping you from continuing to work on Ethereal using handcrafted evaluation other than the fact that if you do, you won't be ranked 4th in the world any more (behind SF, Lc0 and Komodo). That seems to be the main issue for you.

If everyone else jumps on the NNUE bandwagon, Ethereal might end up being be ranked 20th of 30th a year from now, but does that actually matter?

If your only motivation was that you might one day overtake Komodo, that's pretty weird, because you can still use that way point, that benchmark. You can always play Komodo 14 against Ethereal 13.00 or whatever. Sure, in the outside world, on the ratings lists like Stefan Pohl and FastGM, you won't be near the top, but there will always be the opportunity for you, privately to assess the progress of handcrafted Ethereal against SF7, SF8, SF9, SF10, SF11, and any version of Komodo you may own.

Think about it. you never made money from Ethereal. You have no idea how many people actively use Ethereal, exactly what they use it for, or how frequently and intensively they use it. Sure, some people write to you occasionally on forums, email whatever and say "Hey thanks for making Ethereal, it's really great." but what does that matter? You may be able to look and see how many times Ethereal has been downloaded or compiled but you have no idea if any of those people use it regularly.

The point is, you're caught up with external validation and external metrics. By that I mean external to you.
  • How does Ethereal measure up against other engines on all the rating list websites?
    How does Ethereal perform at TCEC compared to other engines?
    How much praise and recognition do I get from other people because I am the author of Ethereal?
I get that these kind of metrics might have been the main motivation behind your work (is it really a hobby when you need external validation?) but just because it's going to become harder for your to cling on to those markers of "success", does that means you should give up?

The monetary investment you made in OpenBench, and the time investment you've made in Ethereal, they are sunk costs so you shouldn't worry about either of them or feel that they were a waste.

I think the only thing that matters is how well Ethereal progresses against previous versions of Ethereal. Screw what the rest of the world is doing. Keep Ethereal open source, and if anyone else on the planet doesn't want to download or compile it, then who cares.

I remember when Daniel Jose Queralto (I hope I've spelled that correctly) said he was ceasing development of Andscacs. He said it was because there was too little progress for a large time investment. I didn't think for a minute he meant progress against Stockfish or Ethereal. He meant progress of Andscacs dev against the official release version 0.95. That's all. His measure seemed, at least to me, internal i.e. Andscacs dev vs Andscacs 0.95, not a case of Andscacs never winning TCEC or topping a ratings list.