RubiChess NNUE player implemented

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

Moderator: Ras

User avatar
xr_a_y
Posts: 1872
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: RubiChess NNUE player implemented

Post by xr_a_y »

Under linux I am using full path.
Under windows I think I only tried putting the net in the executable dir and set NNUEFile to just the name of the net.
voffka
Posts: 297
Joined: Sat Jun 30, 2018 10:58 pm
Location: Ukraine
Full name: Volodymyr Shcherbyna

Re: RubiChess NNUE player implemented

Post by voffka »

Rebel wrote: Tue Sep 08, 2020 7:28 am
Also, I tried Igel, but there is no popcount version on github.
You mean this? (From https://github.com/vshcherbyna/igel/releases/tag/2.7.0)
Untitled.png
User avatar
Rebel
Posts: 7298
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: RubiChess NNUE player implemented

Post by Rebel »

xr_a_y wrote: Tue Sep 08, 2020 9:14 am Under linux I am using full path.
Under windows I think I only tried putting the net in the executable dir and set NNUEFile to just the name of the net.
Alright, I managed...

Code: Select all

Positions 10000 Minic sf-nn 
Minic 2.48      ----- 86.38 
sf-nnue         86.38 ----- 

 1.         Engine Minic 2.48 and sf-nnue show a similarity of 86.38%


Done...
90% of coding is debugging, the other 10% is writing bugs.
User avatar
Rebel
Posts: 7298
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: RubiChess NNUE player implemented

Post by Rebel »

voffka wrote: Tue Sep 08, 2020 9:26 am
Rebel wrote: Tue Sep 08, 2020 7:28 am
Also, I tried Igel, but there is no popcount version on github.
You mean this? (From https://github.com/vshcherbyna/igel/releases/tag/2.7.0)

Untitled.png
Tried, did not work, no avx support on my PC.
90% of coding is debugging, the other 10% is writing bugs.
chrisw
Posts: 4624
Joined: Tue Apr 03, 2012 4:28 pm
Location: Midi-Pyrénées
Full name: Christopher Whittington

Re: RubiChess NNUE player implemented

Post by chrisw »

Rebel wrote: Tue Sep 08, 2020 9:37 am
xr_a_y wrote: Tue Sep 08, 2020 9:14 am Under linux I am using full path.
Under windows I think I only tried putting the net in the executable dir and set NNUEFile to just the name of the net.
Alright, I managed...

Code: Select all

Positions 10000 Minic sf-nn 
Minic 2.48      ----- 86.38 
sf-nnue         86.38 ----- 

 1.         Engine Minic 2.48 and sf-nnue show a similarity of 86.38%


Done...
I don't follow Minic so have no idea its relationship to SF-NNUE, but it is worth pointing out for sake of reducing misunderstandings that the SimTest does NOT measure eval(sf-nnue) against eval(minic), it measures whether or not they (tend to) select the same best move. So what counts is not any absolute eval output, but that the relative standing of one move (the selected best) is greater than any of the other moves.
The SimTest best moves are generated at d=1, but it's apparent that most engines are doing some sort of search even at depth 1, and those searches affect move order and effectively add some noise to the results over and above the eval.
When we did the SimTest across a wide range of engines, we got a range of Similarity percentages, and the cutoff figures 65% or whatever were based on two observations.
1. That known similar programs (eg close releases of the same engine) gave those sorts of high scores and above.
2. High scores between assumed different engines were relatively rare.

The other caveat is that the cutoff figures were all based on AB engine behaviours. It's not clear if they hold in the same way for NNs.

Anyway, I guess what this thread is about, is whether or not the NN paradigm in itself produces similar engine behaviour and thus means we are generating a lot of very similar products differing mostly in 'name'. Same question could probably be asked about Texel tuned engines.
User avatar
xr_a_y
Posts: 1872
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: RubiChess NNUE player implemented

Post by xr_a_y »

So Minic standard eval is 36% similar to SF and NNUE 86% ! wow
User avatar
xr_a_y
Posts: 1872
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: RubiChess NNUE player implemented

Post by xr_a_y »

Just please, do not use "Minic" as name when a net is given, please display MinicNNUE.

One might think here that standard Minic is 86% similar with SF which is of course not the case.
User avatar
Rebel
Posts: 7298
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: RubiChess NNUE player implemented

Post by Rebel »

xr_a_y wrote: Tue Sep 08, 2020 10:37 am So Minic standard eval is 36% similar to SF and NNUE 86% ! wow
Yep.
90% of coding is debugging, the other 10% is writing bugs.
User avatar
Rebel
Posts: 7298
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: RubiChess NNUE player implemented

Post by Rebel »

chrisw wrote: Tue Sep 08, 2020 10:35 am
Rebel wrote: Tue Sep 08, 2020 9:37 am
xr_a_y wrote: Tue Sep 08, 2020 9:14 am Under linux I am using full path.
Under windows I think I only tried putting the net in the executable dir and set NNUEFile to just the name of the net.
Alright, I managed...

Code: Select all

Positions 10000 Minic sf-nn 
Minic 2.48      ----- 86.38 
sf-nnue         86.38 ----- 

 1.         Engine Minic 2.48 and sf-nnue show a similarity of 86.38%


Done...
I don't follow Minic so have no idea its relationship to SF-NNUE, but it is worth pointing out for sake of reducing misunderstandings that the SimTest does NOT measure eval(sf-nnue) against eval(minic), it measures whether or not they (tend to) select the same best move. So what counts is not any absolute eval output, but that the relative standing of one move (the selected best) is greater than any of the other moves.
The SimTest best moves are generated at d=1, but it's apparent that most engines are doing some sort of search even at depth 1, and those searches affect move order and effectively add some noise to the results over and above the eval.
When we did the SimTest across a wide range of engines, we got a range of Similarity percentages, and the cutoff figures 65% or whatever were based on two observations.
1. That known similar programs (eg close releases of the same engine) gave those sorts of high scores and above.
2. High scores between assumed different engines were relatively rare.

The other caveat is that the cutoff figures were all based on AB engine behaviours. It's not clear if they hold in the same way for NNs.

Anyway, I guess what this thread is about, is whether or not the NN paradigm in itself produces similar engine behaviour and thus means we are generating a lot of very similar products differing mostly in 'name'. Same question could probably be asked about Texel tuned engines.
What the result addresses is the concern of Andrew and Andreas.

Secondly NN engines show similar high percentages, tested that 1.5-2 years ago.
90% of coding is debugging, the other 10% is writing bugs.
User avatar
Rebel
Posts: 7298
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: RubiChess NNUE player implemented

Post by Rebel »

xr_a_y wrote: Tue Sep 08, 2020 10:54 am Just please, do not use "Minic" as name when a net is given, please display MinicNNUE.
I will add MinicNNUE to the OKE test, curious if it will give the early opening a boast as well.
90% of coding is debugging, the other 10% is writing bugs.