One for Andrew Grant et al. - NNUE?

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

Moderators: hgm, Dann Corbit, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
smatovic
Posts: 1647
Joined: Wed Mar 10, 2010 9:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic
Contact:

One for Andrew Grant et al. - NNUE?

Post by smatovic » Thu Jan 21, 2021 4:40 pm

I do not get quite what Andrew and others do complain about, maybe someone can
comment on these kind of statements and enlighten me?

- Using NNUE is OK/Not OK.

- Copying SF NNUE code is OK/NOK (even if your program is under GPL)

- Using a free NNUE implementation is OK/NOK.

- Implementing NNUE by your own via papers is OK/NOK.

- Comming up with an own variant of NNUE with different layout is OK/NOK.

- Using SF NNUE nets is OK/NOK.

- Using others data to train own NNUE nets is OK/NOK.

- Using own data to train own nets is OK/NOK.


???
Srdja

Engin
Posts: 880
Joined: Mon Jan 05, 2009 6:40 pm
Location: Germany
Full name: Engin Üstün

Re: One for Andrew Grant et al. - NNUE?

Post by Engin » Thu Jan 21, 2021 4:50 pm

its all OK, why not ?

User avatar
Guenther
Posts: 3809
Joined: Wed Oct 01, 2008 4:33 am
Location: Regensburg, Germany
Full name: Guenther Simon
Contact:

Re: One for Andrew Grant et al. - NNUE?

Post by Guenther » Thu Jan 21, 2021 5:03 pm

smatovic wrote:
Thu Jan 21, 2021 4:40 pm
...

???
Srdja
Do you realize that the last few cases were GPL3 code in closed source programs?
https://rwbc-chess.de
HGM@'chessqueen' 2018-present, aka: 'George' 2013-2016, 'pichy' 2006-2013, 'Jorge Pichard' 2000-2006 (old forum) wrote: http://talkchess.com/forum3/viewtopic.p ... 79#p789713

smatovic
Posts: 1647
Joined: Wed Mar 10, 2010 9:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic
Contact:

Re: One for Andrew Grant et al. - NNUE?

Post by smatovic » Thu Jan 21, 2021 5:16 pm

Guenther wrote:
Thu Jan 21, 2021 5:03 pm
smatovic wrote:
Thu Jan 21, 2021 4:40 pm
...

???
Srdja
Do you realize that the last few cases were GPL3 code in closed source programs?
No, I did not, I did not dig deep enough, I thought we have free, non-GPL, versions of NNUE implementation out there and programmers use them instead of SF NNUE, thanks for clarification.

--
Srdja

User avatar
xr_a_y
Posts: 1465
Joined: Sat Nov 25, 2017 1:28 pm
Location: France

Re: One for Andrew Grant et al. - NNUE?

Post by xr_a_y » Thu Jan 21, 2021 5:31 pm

For what it's worth (i.e. just nothing !), here is my current position

- Using NNUE is OK/Not OK.
Of course it is. But working, experimenting, searching, ... in the NNUE field seems a lot better than just "using"

- Copying SF NNUE code is OK/NOK (even if your program is under GPL)
It is legally ok in a GPL code but looks quite bad ethically. My first experiment in Minic was done this way, it was just an experiment and I felt unconfortable with it...

- Using a free NNUE implementation is OK/NOK.
It is legally (depending on the "free NNUE code" licence of course). Better is to participate to its development and extend its possibility.

- Implementing NNUE by your own via papers is OK/NOK.
It is.

- Comming up with an own variant of NNUE with different layout is OK/NOK.
It is highly recommanded but not easy at all. I experimented a lot around Seer style nets without any success for now.

- Using SF NNUE nets is OK/NOK.
It is legally (if not hard coded in not GPL engine I guess) ok but this is really really not fun ! They can be use for fun, or as a target but compete with that seems not that fair to me.

- Using others data to train own NNUE nets is OK/NOK.
If "others" means Dragon or LC0 or Ethereal instead of SF then I guess this is not fun... If "others" means some diversity of play so the net has a better style, I guess this quite cool.

- Using own data to train own nets is OK/NOK.
Very ok.

smatovic
Posts: 1647
Joined: Wed Mar 10, 2010 9:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic
Contact:

Re: One for Andrew Grant et al. - NNUE?

Post by smatovic » Thu Jan 21, 2021 5:42 pm

xr_a_y wrote:
Thu Jan 21, 2021 5:31 pm
For what it's worth (i.e. just nothing !), here is my current position
..
Thanks Vivien, this gives me a vector from what is illegal to what is encouraged to do, or alike.

--
Srdja

User avatar
mvanthoor
Posts: 776
Joined: Wed Jul 03, 2019 2:42 pm
Full name: Marcel Vanthoor

Re: One for Andrew Grant et al. - NNUE?

Post by mvanthoor » Thu Jan 21, 2021 6:17 pm

My two cents:

- Using NNUE is OK/Not OK.

The thing many engine authors are miffed about is that they spent YEARS trying to fine-tune an evaluation, getting their engine to the 3000+ ELO range (and sometimes, like Ethereal, far beyond), and then some sort of technology that anyone can copy/paste comes along, elevating every other engine written by grandma and her dog to the 3000+ level.

It's not the fact that NNUE exists or is used that gets authors ticked off, it's the fact that people copy/paste a well-known implementation into their engine, and then brag about how strong their engine now is.

- Copying SF NNUE code is OK/NOK (even if your program is under GPL)

IMHO, OK... as long as you create and train your own NNUE file.

- Using a free NNUE implementation is OK/NOK.

IMHO, OK... I certainly would use a library to load and use the NNUE file; at least, at first. But the library is just an API, a way to use the NNUE file. I would only do so if I can create and train my own file. Later, I would probably replace the library with my own, IF I'm interested in writing one. (In the case of an endgame table probing library, for example, I'm not.)

- Implementing NNUE by your own via papers is OK/NOK.

OK. I'll probably do so, some day... somewhere FAR in the future.

- Comming up with an own variant of NNUE with different layout is OK/NOK.

OK; why not?

- Using SF NNUE nets is OK/NOK.

Definitely not OK, especially not if you're also using SF's code or a library to use the net. You've just effectively copy/pasted someone else's evaluation.

- Using others data to train own NNUE nets is OK/NOK.

For learning purposes and testing, I'll probably do so; and then use my own data for creating a new NNUE file.

- Using own data to train own nets is OK/NOK.

Obviously it is; especially if you use your own library/implementation.
Author of Rustic.
Releases | Code | Docs

User avatar
hgm
Posts: 25887
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: One for Andrew Grant et al. - NNUE?

Post by hgm » Thu Jan 21, 2021 6:52 pm

Whether something (that is not illegal) is OK or not for a large part depends on how you present it. If non-programmers use Stockfish to analyze a certain interesting position this is quite normal. When he enters in in the WCCC claiming he wrote the program, then it is cheating. If someone wants to use the evaluation of Stockfish and other open-source engines (whether NNUE or HCE) with a search of their own, that can be very interesting. As long as they do not claim the resulting engines are completely their own work.

AndrewGrant
Posts: 1030
Joined: Tue Apr 19, 2016 4:08 am
Location: U.S.A
Full name: Andrew Grant
Contact:

Re: One for Andrew Grant et al. - NNUE?

Post by AndrewGrant » Fri Jan 22, 2021 5:24 am

Using NNUE is OK/Not OK.
Using NNUE is okay. I think its uninteresting, even in Ethereal, but its still okay.

Copying SF NNUE code is OK/NOK (even if your program is under GPL)
Copying SF is okay if your program is under a compatible license, AND rating lists and tournments do not accept your engine. The SF copy pastas are purely exhibition. Violating the GPL of Stockfish is never okay, and any program using it should comply with the terms they accepted.

Using a free NNUE implementation is OK/NOK.
This is the same as the above. Just replace "people using SF NNUE" with "people using Ethereal NNUE"

Implementing NNUE by your own via papers is OK/NOK.
Of course this is okay. In fact, the papers are not even needed. Go make a network with a (king-sq, piece-sq, piece) encoding, and you are done. The input plane is a cool trick, but not some impressive complex and ownable idea.

Coming up with an own variant of NNUE with different layout is OK/NOK.
Sure. Experimentation and variation from the norm is always good.

Using SF NNUE nets is OK/NOK
Okay, but any program using an SF network is 1) unoriginal, 2) should not be rated or compete in events, and 3) must comply with the requirements of the SF GPL if the implementation code is also used.

Using others data to train own NNUE nets is OK/NOK
I am a purist. I will only train my things with Ethereal data. For decades people have used some commonly shared sets to train, and I never complained about that however. I think if you want a truely original product, you need to use your own data, your own pipeline, your own networks, and your own implementations.

Using own data to train own nets is OK/NOK.
Okay and encouraged.

smatovic
Posts: 1647
Joined: Wed Mar 10, 2010 9:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic
Contact:

Re: One for Andrew Grant et al. - NNUE?

Post by smatovic » Fri Jan 22, 2021 6:23 am

AndrewGrant wrote:
Fri Jan 22, 2021 5:24 am
...
I see, this seems to be about competition, tournaments and rating lists, what
is allowed and what not. I am not in the 3000+ Elo ballpark and currently not
active as chess programmer, so I guess it is up to the top programmers and
the organizers and audience to define what kind of competition is desired and
fair. But I wish to point out, that by restricting competition in this way, you
also restrict development process, imagine one comes up with an non-standard,
non-SF search algorithm, which offers new features, but uses the SF-NNUE
implementation and networks. Such an engine would offer something new,
innovative in combination of non-original work, and would be not allowed to
participate in tournaments and rating lists. Take as current example Ceres, the
alternative implementation of Lc0, it uses the Lc0 backends and networks but
has an alternative implementation of search, according to your statements, such
an engine would be not allowed to participate in tournaments and rating lists,
is this desired?

--
Srdja

Post Reply