Minic version 2

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

Moderators: hgm, Rebel, chrisw

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

Re: Minic version 2

Post by xr_a_y »

nabildanial wrote: Wed Oct 14, 2020 9:07 pm
xr_a_y wrote: Wed Oct 14, 2020 8:59 pm
nabildanial wrote: Wed Oct 14, 2020 8:47 pm
xr_a_y wrote: Wed Oct 14, 2020 5:54 pm
Gabor Szots wrote: Wed Oct 14, 2020 5:36 pm Vivien, please enlighten me. If the NNUE used is not from SF but your own work why don't you want it to be tested?
NNUE merge was too easy :oops:
NNUE technology is from SF.
But yes I built my own net (nascent nutrient).

Please see this
http://talkchess.com/forum3/viewtopic.p ... fe#p863067
NNUE is no different than every single technique/technology used in chess (LMR, null move etc.) except that all of them are related to search. Is it something about NNUE being an eval-based technology that makes it undeserved to be recognized by you?
I not only borrow the technology, but also the code itself (a code bigger in number of lines than Minic code itself !).
Moreover NNUE merging inside Minic (both evaluation code and learning code) was very easy, because the code was already well cleaned by Stockfish contributors.
I get it if the used net to rank Minic is SF nets, but I don't quite get why you don't want to recognize your own homebrew nets that are created from Minic own eval as a part of Minic.
I guess I "recognize" that, I did the work for building that and generating the data. But I cannot have my engine rated with such a copy/paste of code ... Let the dust settle. Will see what will happen in some months ...
Gabor Szots
Posts: 1362
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: Minic version 2

Post by Gabor Szots »

xr_a_y wrote: Wed Oct 14, 2020 7:11 pm Gabor, that's an example why I don't want MinicNNUE (even with nascent nutrient) to be rated and been called Minic. Because there is good chance it will here between Ethereal, Xiphos, Defenchess, rofChade, ... I don't feel like it is its right place.

Another example is what is currently happening in Graham division 2 (with nascent nutrient also)

Code: Select all

   1.   MINIC 2.50 64-BIT                           34    21.0    **** ===. 101. 0=0. ===. 10=. 11=. ==1. 1=1. =1=1 1=0. 11=. 
   2.   DEFENCHESS 2.2 64-BIT                       34    20.0    ===. **** 1==. =0=. =1=. =1=. ==== 01=. =1=. ==1. ===. 11=. 
   3.   RUBICHESS 1.8 64-BIT                        34    19.0    010. 0==. **** 1=1. ===. 0==. =0=. 11=. 1=1. 1==. ===. ==1= 
   4.   ANDSCACS 0.95 64-BIT                        34    18.5    1=1. =1=. 0=0. **** ===. =1=0 =0=. =1=. 0=1. 11=. 0==. =1=. 
   5.   ARASAN 22.1 64-BIT                          33    18.0    ===. =0=. ===. ===. **** 11=. 10=. ==1. 01=. =1=. 10=. ===. 
In front of Defenchess, Rubi, Andsacs, Arasan, ... and on a quite small hardware I guess from the nps ... will be even worst on better hardware I think. So not me league ...

For now, I'm learning about NN and that's enough.
But then we might not test Minic in the foreseeable future. What if you disabled NNUE support in the released versions until you feel Minic NNUE is entirely yours?
Gabor Szots
CCRL testing group
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Minic version 2

Post by xr_a_y »

Gabor Szots wrote: Wed Oct 14, 2020 9:51 pm
xr_a_y wrote: Wed Oct 14, 2020 7:11 pm Gabor, that's an example why I don't want MinicNNUE (even with nascent nutrient) to be rated and been called Minic. Because there is good chance it will here between Ethereal, Xiphos, Defenchess, rofChade, ... I don't feel like it is its right place.

Another example is what is currently happening in Graham division 2 (with nascent nutrient also)

Code: Select all

   1.   MINIC 2.50 64-BIT                           34    21.0    **** ===. 101. 0=0. ===. 10=. 11=. ==1. 1=1. =1=1 1=0. 11=. 
   2.   DEFENCHESS 2.2 64-BIT                       34    20.0    ===. **** 1==. =0=. =1=. =1=. ==== 01=. =1=. ==1. ===. 11=. 
   3.   RUBICHESS 1.8 64-BIT                        34    19.0    010. 0==. **** 1=1. ===. 0==. =0=. 11=. 1=1. 1==. ===. ==1= 
   4.   ANDSCACS 0.95 64-BIT                        34    18.5    1=1. =1=. 0=0. **** ===. =1=0 =0=. =1=. 0=1. 11=. 0==. =1=. 
   5.   ARASAN 22.1 64-BIT                          33    18.0    ===. =0=. ===. ===. **** 11=. 10=. ==1. 01=. =1=. 10=. ===. 
In front of Defenchess, Rubi, Andsacs, Arasan, ... and on a quite small hardware I guess from the nps ... will be even worst on better hardware I think. So not me league ...

For now, I'm learning about NN and that's enough.
But then we might not test Minic in the foreseeable future. What if you disabled NNUE support in the released versions until you feel Minic NNUE is entirely yours?
Minic 2.51 without any net (thus not using NNUE code) is not tested yet at ccrl and is quite stronger than 2.46 or 2.33. You can test this I think?
Gabor Szots
Posts: 1362
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: Minic version 2

Post by Gabor Szots »

xr_a_y wrote: Wed Oct 14, 2020 10:03 pmMinic 2.51 without any net (thus not using NNUE code) is not tested yet at ccrl and is quite stronger than 2.46 or 2.33. You can test this I think?
Sure. Only, it is going to create a confusion about whether NNUE was used or not. We usually use defaults but the list does not show that.

On the other hand, if an engine is capable of using NNUE then it would seem odd to use it at a weaker setting. That's why I suggested disabling NNUE. Then the default setting would be the strongest one.
Gabor Szots
CCRL testing group
ehas
Posts: 7
Joined: Fri Jan 04, 2019 1:30 pm
Full name: Eric Hughes Santiago

Re: Minic version 2

Post by ehas »

Will just report that NNUE files not loading with these exe files:
minic_2.51_mingw_x64_core2.exe
minic_2.51_mingw_x64_nehalem.exe
minic_2.51_mingw_x64_skylake.exe

Minic 2.51 < uci
Minic 2.51 > info string This is Minic version 2.51 (NNUE available)
Minic 2.51 > info string Info 2020-10-15 12:51:04-388: Failed to load NNUE net
Minic 2.51 > info string Info 2020-10-15 12:51:04-389: Classical evaluation enabled.
Minic 2.51 > id name Minic 2.51
Minic 2.51 > id author Vivien Clauzon
Minic 2.51 > option name Level type spin default 100 min 0 max 100
Minic 2.51 > option name UCI_LimitStrength type check default false
Minic 2.51 > option name UCI_Elo type spin default 1500 min 500 max 2800
Minic 2.51 > option name Hash type spin default 128 min 1 max 256000
Minic 2.51 > option name Threads type spin default 1 min 1 max 255
Minic 2.51 > option name UCI_Chess960 type check default false
Minic 2.51 > option name Ponder type check default false
Minic 2.51 > option name MateFinder type check default false
Minic 2.51 > option name MultiPV type spin default 1 min 1 max 4
Minic 2.51 > option name Contempt type spin default 12 min -50 max 50
Minic 2.51 > option name ContemptMG type spin default 12 min -50 max 50
Minic 2.51 > option name SyzygyPath type string default
Minic 2.51 > option name NNUEFile type string default
Minic 2.51 > option name forceNNUE type check default false
Minic 2.51 > option name GenFen type check default false
Minic 2.51 > option name GenFenDepth type spin default 8 min 2 max 20
Minic 2.51 > option name GenFenSkip type spin default 1 min 0 max 10000000
Minic 2.51 > option name StyleAttack type spin default 50 min 0 max 100
Minic 2.51 > option name StyleComplexity type spin default 50 min 0 max 100
Minic 2.51 > option name StyleDevelopment type spin default 50 min 0 max 100
Minic 2.51 > option name StyleMaterial type spin default 50 min 0 max 100
Minic 2.51 > option name StyleMobility type spin default 50 min 0 max 100
Minic 2.51 > option name StylePositional type spin default 50 min 0 max 100
Minic 2.51 > option name StyleForwardness type spin default 50 min 0 max 100
Minic 2.51 > uciok
Minic 2.51 < setoption name SyzygyPath value D:/syzygy
Minic 2.51 < setoption name NNUEFile value C:/Engines/Minic 251/nascent_nutrient.bin
Minic 2.51 < isready
Minic 2.51 > info string Info 2020-10-15 12:51:04-462: Failed to load NNUE net C:/Engines/Minic
Minic 2.51 > info string Info 2020-10-15 12:51:04-462: Classical evaluation enabled.
Minic 2.51 > readyok
Minic 2.51 < ucinewgame

This exe file loads the nascent_nutrient.bin
minic_2.48_mingw_x64_x86-64.exe

Minic 2.48 < uci
Minic 2.48 > info string This is Minic version 2.48 (NNUE available)
Minic 2.48 > id name Minic 2.48
Minic 2.48 > id author Vivien Clauzon
Minic 2.48 > option name Level type spin default 100 min 0 max 100
Minic 2.48 > option name UCI_LimitStrength type check default false
Minic 2.48 > option name UCI_Elo type spin default 1500 min 500 max 2800
Minic 2.48 > option name Hash type spin default 128 min 1 max 256000
Minic 2.48 > option name Threads type spin default 1 min 1 max 256
Minic 2.48 > option name UCI_Chess960 type check default false
Minic 2.48 > option name Ponder type check default false
Minic 2.48 > option name MateFinder type check default false
Minic 2.48 > option name MultiPV type spin default 1 min 1 max 4
Minic 2.48 > option name Contempt type spin default 12 min -50 max 50
Minic 2.48 > option name ContemptMG type spin default 12 min -50 max 50
Minic 2.48 > option name SyzygyPath type string default
Minic 2.48 > option name NNUEFile type string default
Minic 2.48 > option name StyleAttack type spin default 50 min 0 max 100
Minic 2.48 > option name StyleComplexity type spin default 50 min 0 max 100
Minic 2.48 > option name StyleDevelopment type spin default 50 min 0 max 100
Minic 2.48 > option name StyleMaterial type spin default 50 min 0 max 100
Minic 2.48 > option name StyleMobility type spin default 50 min 0 max 100
Minic 2.48 > option name StylePositional type spin default 50 min 0 max 100
Minic 2.48 > option name StyleForwardness type spin default 50 min 0 max 100
Minic 2.48 > uciok
Minic 2.48 < setoption name SyzygyPath value D:/syzygy
Minic 2.48 < setoption name NNUEFile value C:/Engines/Minic Chess Engines/nascent_nutrient.bin
Minic 2.48 < isready
Minic 2.48 > readyok
Minic 2.48 < ucinewgame


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

Re: Minic version 2

Post by xr_a_y »

ehas wrote: Thu Oct 15, 2020 6:53 am Will just report that NNUE files not loading with these exe files:
minic_2.51_mingw_x64_core2.exe
minic_2.51_mingw_x64_nehalem.exe
minic_2.51_mingw_x64_skylake.exe

Minic 2.51 < uci
Minic 2.51 > info string This is Minic version 2.51 (NNUE available)
Minic 2.51 > info string Info 2020-10-15 12:51:04-388: Failed to load NNUE net
Minic 2.51 > info string Info 2020-10-15 12:51:04-389: Classical evaluation enabled.
Minic 2.51 > id name Minic 2.51
Minic 2.51 > id author Vivien Clauzon
Minic 2.51 > option name Level type spin default 100 min 0 max 100
Minic 2.51 > option name UCI_LimitStrength type check default false
Minic 2.51 > option name UCI_Elo type spin default 1500 min 500 max 2800
Minic 2.51 > option name Hash type spin default 128 min 1 max 256000
Minic 2.51 > option name Threads type spin default 1 min 1 max 255
Minic 2.51 > option name UCI_Chess960 type check default false
Minic 2.51 > option name Ponder type check default false
Minic 2.51 > option name MateFinder type check default false
Minic 2.51 > option name MultiPV type spin default 1 min 1 max 4
Minic 2.51 > option name Contempt type spin default 12 min -50 max 50
Minic 2.51 > option name ContemptMG type spin default 12 min -50 max 50
Minic 2.51 > option name SyzygyPath type string default
Minic 2.51 > option name NNUEFile type string default
Minic 2.51 > option name forceNNUE type check default false
Minic 2.51 > option name GenFen type check default false
Minic 2.51 > option name GenFenDepth type spin default 8 min 2 max 20
Minic 2.51 > option name GenFenSkip type spin default 1 min 0 max 10000000
Minic 2.51 > option name StyleAttack type spin default 50 min 0 max 100
Minic 2.51 > option name StyleComplexity type spin default 50 min 0 max 100
Minic 2.51 > option name StyleDevelopment type spin default 50 min 0 max 100
Minic 2.51 > option name StyleMaterial type spin default 50 min 0 max 100
Minic 2.51 > option name StyleMobility type spin default 50 min 0 max 100
Minic 2.51 > option name StylePositional type spin default 50 min 0 max 100
Minic 2.51 > option name StyleForwardness type spin default 50 min 0 max 100
Minic 2.51 > uciok
Minic 2.51 < setoption name SyzygyPath value D:/syzygy
Minic 2.51 < setoption name NNUEFile value C:/Engines/Minic 251/nascent_nutrient.bin
Minic 2.51 < isready
Minic 2.51 > info string Info 2020-10-15 12:51:04-462: Failed to load NNUE net C:/Engines/Minic
Minic 2.51 > info string Info 2020-10-15 12:51:04-462: Classical evaluation enabled.
Minic 2.51 > readyok
Minic 2.51 < ucinewgame

This exe file loads the nascent_nutrient.bin
minic_2.48_mingw_x64_x86-64.exe

Minic 2.48 < uci
Minic 2.48 > info string This is Minic version 2.48 (NNUE available)
Minic 2.48 > id name Minic 2.48
Minic 2.48 > id author Vivien Clauzon
Minic 2.48 > option name Level type spin default 100 min 0 max 100
Minic 2.48 > option name UCI_LimitStrength type check default false
Minic 2.48 > option name UCI_Elo type spin default 1500 min 500 max 2800
Minic 2.48 > option name Hash type spin default 128 min 1 max 256000
Minic 2.48 > option name Threads type spin default 1 min 1 max 256
Minic 2.48 > option name UCI_Chess960 type check default false
Minic 2.48 > option name Ponder type check default false
Minic 2.48 > option name MateFinder type check default false
Minic 2.48 > option name MultiPV type spin default 1 min 1 max 4
Minic 2.48 > option name Contempt type spin default 12 min -50 max 50
Minic 2.48 > option name ContemptMG type spin default 12 min -50 max 50
Minic 2.48 > option name SyzygyPath type string default
Minic 2.48 > option name NNUEFile type string default
Minic 2.48 > option name StyleAttack type spin default 50 min 0 max 100
Minic 2.48 > option name StyleComplexity type spin default 50 min 0 max 100
Minic 2.48 > option name StyleDevelopment type spin default 50 min 0 max 100
Minic 2.48 > option name StyleMaterial type spin default 50 min 0 max 100
Minic 2.48 > option name StyleMobility type spin default 50 min 0 max 100
Minic 2.48 > option name StylePositional type spin default 50 min 0 max 100
Minic 2.48 > option name StyleForwardness type spin default 50 min 0 max 100
Minic 2.48 > uciok
Minic 2.48 < setoption name SyzygyPath value D:/syzygy
Minic 2.48 < setoption name NNUEFile value C:/Engines/Minic Chess Engines/nascent_nutrient.bin
Minic 2.48 < isready
Minic 2.48 > readyok
Minic 2.48 < ucinewgame


Thanks.
Hi, thanks for reporting. I am pretty sure that sure work. Something relative to path may be wrong. Easiest way to be sure is to put net in the same directory and just use its name as input.

2.48 has less logging about NNUE, I am not sure it loaded net in your example. Check if nps are small to be sure the net is loaded under 2.48.
Last edited by xr_a_y on Thu Oct 15, 2020 7:36 am, edited 1 time in total.
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Minic version 2

Post by xr_a_y »

Gabor Szots wrote: Wed Oct 14, 2020 10:44 pm
xr_a_y wrote: Wed Oct 14, 2020 10:03 pmMinic 2.51 without any net (thus not using NNUE code) is not tested yet at ccrl and is quite stronger than 2.46 or 2.33. You can test this I think?
Sure. Only, it is going to create a confusion about whether NNUE was used or not. We usually use defaults but the list does not show that.

On the other hand, if an engine is capable of using NNUE then it would seem odd to use it at a weaker setting. That's why I suggested disabling NNUE. Then the default setting would be the strongest one.
I'd like it to be solved by the naming convention

Minic2.51 is minic standard eval
Minic2.51NNUE+nascent_nutrient is NNUE and we know the net being used

That is what CEGT will do and for me it is fine as MinicNNUE rating is not replacing Minic rating.
User avatar
Werner
Posts: 2871
Joined: Wed Mar 08, 2006 10:09 pm
Location: Germany
Full name: Werner Schüle

Re: Minic version 2

Post by Werner »

Inside Shredder GUI I can see the settings:

[ENGINE]
Name=Minic 2.51NN x64 1CPU
Author=Vivien Clauzon
Filename=C:\Users\Agando\Arena\Engines\Minic\2.51\minic_2.51_mingw_x64_skylake.exe
[OPTIONS]
SyzygyPath=c:\sbases
NNUEFile=nascent_nutrient.bin
forceNNUE=true

This is Minic version 2.51 (NNUE available)
Info 2020-10-14 18:21:30-418: Failed to load NNUE net
Info 2020-10-14 18:21:30-419: Classical evaluation enabled.
Info 2020-10-14 18:21:31-484: NNUE evaluation using nascent_nutrient.bin enabled.
Engine: Minic 2.51NN x64 1CPU (512 MB)
von Vivien Clauzon

In Arena you see enabled only after an F4.
Werner
User avatar
Sylwy
Posts: 4466
Joined: Fri Apr 21, 2006 4:19 pm
Location: IASI - the historical capital of MOLDOVA
Full name: SilvianR

Re: Minic version 2

Post by Sylwy »

ehas wrote: Thu Oct 15, 2020 6:53 am Will just report that NNUE files not loading with these exe files:
minic_2.51_mingw_x64_skylake.exe
In the Arena GUI it loads and works perfectly.

Image

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

Re: Minic version 2

Post by xr_a_y »

Werner wrote: Thu Oct 15, 2020 10:38 am Inside Shredder GUI I can see the settings:

[ENGINE]
Name=Minic 2.51NN x64 1CPU
Author=Vivien Clauzon
Filename=C:\Users\Agando\Arena\Engines\Minic\2.51\minic_2.51_mingw_x64_skylake.exe
[OPTIONS]
SyzygyPath=c:\sbases
NNUEFile=nascent_nutrient.bin
forceNNUE=true

This is Minic version 2.51 (NNUE available)
Info 2020-10-14 18:21:30-418: Failed to load NNUE net
Info 2020-10-14 18:21:30-419: Classical evaluation enabled.
Info 2020-10-14 18:21:31-484: NNUE evaluation using nascent_nutrient.bin enabled.
Engine: Minic 2.51NN x64 1CPU (512 MB)
von Vivien Clauzon

In Arena you see enabled only after an F4.
Hi

forceNNUE=true
will result in a full NNUE eval, and thus a slow down.
I highly recommand setting this too false to use "hybrid" evaluation (threshold is 600cp currently).

Sorry if it was unclear, i'll document that in the github page soon.