Willow 3.0 NNUE

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

Moderator: Ras

Whiskers
Posts: 246
Joined: Tue Jan 31, 2023 4:34 pm
Full name: Adam Kulju

Willow 3.0 NNUE

Post by Whiskers »

I decided it was finally time to take a whack at NNUE, and the results are a 3250 Elo chess engine :mrgreen:

The most unique thing about Willow's NNUE is that while generating self-play data, it intentionally makes errors sometimes, ranging from second-best moves to blunders and even random moves. This leads to an aggressive style of play, and possibly increased strength as well (Willow is trained on a fairly small dataset with a fairly small arch compared to other similar strength NNUE engines I know, and doesn't really have much in the way of speed or search to compensate).

Search-wise, singular extensions have been implemented, as well as a few other patches.

It also has an official logo now :)

https://github.com/Adam-Kulju/Willow/releases/tag/3.0
bastiball
Posts: 5360
Joined: Tue Oct 20, 2020 4:18 am
Full name: Basti Dangca

Re: Willow 3.0 NNUE

Post by bastiball »

Congrats!

I'll include this to my tournament Mini-TCEC next season, Any chances to implement FRC? :D
Basti Dangca
CCRL testing group
Whiskers
Posts: 246
Joined: Tue Jan 31, 2023 4:34 pm
Full name: Adam Kulju

Re: Willow 3.0 NNUE

Post by Whiskers »

bastiball wrote: Sun Jul 23, 2023 5:53 am Congrats!

I'll include this to my tournament Mini-TCEC next season, Any chances to implement FRC? :D
Thank you! I'll probably add it for next version. Shouldn't be too difficult as there is only castling to worry about. However I will likely not make too much of an attempt to improve FRC strength because it doesn't interest me quite as much.
chessica
Posts: 964
Joined: Thu Aug 11, 2022 11:30 pm
Full name: Esmeralda Pinto

Re: Willow 3.0 NNUE

Post by chessica »

Whiskers wrote: Sun Jul 23, 2023 2:48 am I decided it was finally time to take a whack at NNUE, and the results are a 3250 Elo chess engine :mrgreen:

The most unique thing about Willow's NNUE is that while generating self-play data, it intentionally makes errors sometimes, ranging from second-best moves to blunders and even random moves. This leads to an aggressive style of play, and possibly increased strength as well (Willow is trained on a fairly small dataset with a fairly small arch compared to other similar strength NNUE engines I know, and doesn't really have much in the way of speed or search to compensate).

Search-wise, singular extensions have been implemented, as well as a few other patches.

It also has an official logo now :)

https://github.com/Adam-Kulju/Willow/releases/tag/3.0
:oops: :oops: :oops: Virus alarm! :oops: :oops: :oops:

DefenseEvasion.A!ml
User avatar
Dariusz
Posts: 379
Joined: Sat Jun 13, 2015 10:08 am
Location: Poland
Full name: Dariusz Domagała

Re: Willow 3.0 NNUE

Post by Dariusz »

Willow 3.0 is just playing its games as part of the MCERL series :)

Easy and fast compilation. Mac (Apple Silicon) version available on my site (Files section).
Whiskers, thank you for your engine. Very enjoyable to watch it's aggressive playing style!

By the way: very cool logo 8-)
Regards, Darius
https://chessengeria.eu
User avatar
reflectionofpower
Posts: 1655
Joined: Fri Mar 01, 2013 5:28 pm
Location: USA

Re: Willow 3.0 NNUE

Post by reflectionofpower »

I cannot change the CPU parameters. It is stuck at 1. I just went in there and manually edited UCI file for the engine and it shows 4 CPU's in the interface but it is still only using 1?
"Without change, something sleeps inside us, and seldom awakens. The sleeper must awaken." (Dune - 1984)

Lonnie
Guenther
Posts: 4718
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Willow 3.0 NNUE

Post by Guenther »

reflectionofpower wrote: Sun Jul 23, 2023 1:33 pm I cannot change the CPU parameters. It is stuck at 1. I just went in there and manually edited UCI file for the engine and it shows 4 CPU's in the interface but it is still only using 1?
You cannot edit what does not exist.

Code: Select all

printf("option name Threads type spin default 1 min 1 max 1\n");
from the release readme:

Code: Select all

List of things to do in future:

-    The PV goes wild in mating endgames. I blame extensions for this, but have been unable to fix it yet. I will try and get it working properly for next    release. It has no effect on strength, as the first move in the pv is still the best move, but it is annoying to see "m7" and then have the PV not be a mate.
-    add multithreading. Yes, I still haven't done that yet.
-    new arches, more data, better datagen script, quantizing nets and improving inference.
https://rwbc-chess.de

[Trolls n'existent pas...]
User avatar
reflectionofpower
Posts: 1655
Joined: Fri Mar 01, 2013 5:28 pm
Location: USA

Re: Willow 3.0 NNUE

Post by reflectionofpower »

Thanks,Guenther

I had faith,heehee. Right after I posted this I was thinking it this just a 1 CPU program byt it threw me off when I seen in the UCI file that there was thread(s). His do to list explains that will be in the future which I did not read.

I am getting a runtime error and it crashed Fritz 18. No other engine does there.
"Without change, something sleeps inside us, and seldom awakens. The sleeper must awaken." (Dune - 1984)

Lonnie
Ciekce
Posts: 197
Joined: Sun Oct 30, 2022 5:26 pm
Full name: Conor Anstey

Re: Willow 3.0 NNUE

Post by Ciekce »

reflectionofpower wrote: Sun Jul 23, 2023 6:12 pm Thanks,Guenther

I had faith,heehee. Right after I posted this I was thinking it this just a 1 CPU program byt it threw me off when I seen in the UCI file that there was thread(s). His do to list explains that will be in the future which I did not read.

I am getting a runtime error and it crashed Fritz 18. No other engine does there.
The dummy Threads option is to stop OpenBench complaining during tests, it does not actually do anything :3

you'll see the same for other engines too that do not support SMP but are tested via OpenBench, e.g. Svart and Midnight
Whiskers
Posts: 246
Joined: Tue Jan 31, 2023 4:34 pm
Full name: Adam Kulju

Re: Willow 3.0 NNUE

Post by Whiskers »

chessica wrote: Sun Jul 23, 2023 10:16 am
Whiskers wrote: Sun Jul 23, 2023 2:48 am I decided it was finally time to take a whack at NNUE, and the results are a 3250 Elo chess engine :mrgreen:

The most unique thing about Willow's NNUE is that while generating self-play data, it intentionally makes errors sometimes, ranging from second-best moves to blunders and even random moves. This leads to an aggressive style of play, and possibly increased strength as well (Willow is trained on a fairly small dataset with a fairly small arch compared to other similar strength NNUE engines I know, and doesn't really have much in the way of speed or search to compensate).

Search-wise, singular extensions have been implemented, as well as a few other patches.

It also has an official logo now :)

https://github.com/Adam-Kulju/Willow/releases/tag/3.0
:oops: :oops: :oops: Virus alarm! :oops: :oops: :oops:

DefenseEvasion.A!ml
If downloading the exe doesn't work because of antivirus shenanigans, git clone the repository ("git clone https://github.com/Adam-Kulju/Willow"), cd into Willow, run make, and the exe will pop up in that same directory.