Hi all! I wanted to make this post announcing the Mantissa 3.0.0 release because I'm very excited, but also I want to make sure to give some thanks. You can see the release here: https://github.com/jtheardw/mantissa/re ... tag/v3.0.0
The release notes explain various improvements and changes, but since I've just introduced NNUE into Mantissa, I wanted to say thanks to Amanj for his help in getting me started. I followed much of his process and used the same network topology as he did (originally, as I understand it Zahak has branched out since). I made sure to make my software self-sufficient. I wrote pgn-parsing into Mantissa, generated all of my own training data from Mantissa self-play games, and wrote my own port of zahak-trainer in rust, unoriginally called tissa-trainer for now, which I then used to run the actual training. `tissa-trainer` isn't meant to compete with zahak-trainer (his is actually user friendly and more performant, and tissa-trainer does differ in a few small decisions), but was mostly an exercise for myself to learn the process really well by reinventing the code. It doesn't really have an interface right now and so isn't really intended for public use. If I end up deviating far enough from zahak-trainer's behavior to justify it, I may put in the effort to give it a real interface and set it up for other people's use.
I will be experimenting with things like the topology in future releases, but this is an amazing start and I'm very thankful.
I also want to thank Kade, a friend of mine who also works with chess engines, for writing some very cool code which I ported into Mantissa to do a rough visualization on the first hidden layer neurons. You can see the 3.0.0 net's by download the `.ppm` (an image file format) here: https://drive.google.com/file/d/1KPfP8d ... sp=sharing
Anyway, there's a lot more stuff to do an improve, but I'm very proud of what Mantissa is capable of so far!
I estimate Mantissa-3.0.0's strength to be in the neighborhood of 2900-3000 CCRL Elo now from all of the search improvements + the strength of the new net relative to the hand-written, based on local games run against older versions of Mantissa and also various engines rated between 2800 and 3100 on the CCRL blitz list.
As usual, you can often find the latest version of Mantissa online on lichess at lichess.org/@/AKS-Manitssa. I run it on my laptop with 2 threads most of the time. If it's offline, it's probably because I'm either travelling or using my limited compute to do Mantissa testing at the time.
Thanks!
Mantissa 3.0.0
Moderators: hgm, Rebel, chrisw
-
- Posts: 48
- Joined: Wed Sep 22, 2021 9:20 pm
- Full name: Jeremy Wright
-
- Posts: 883
- Joined: Sat Mar 13, 2021 1:47 am
- Full name: Amanj Sherwany
Re: Mantissa 3.0.0
Congrats for the release
In fact, your current architecture is like what I have, and it is incompatible with what Bit-Genie has. Bit-Genie only has 768 inputs (representing all piece placements, and no side-to-move info).
Zahak in fact comes with a few nets, the biggest (strongest) is of size: 769x512x1 (which can be used when selecting skill-level 7), and the other skill levels all have 769x32x1 size networks. Version 8.0 had 769x256x1 and version 7 came with 769x128x1.
Doubling the net size each time gave around 20 elo (given that you increase the training data with that too).
It would be interesting to see if loading your net into Zahak can compete with versaio 9.0, or loading Zahak's net into Mantissa can compete with version 3.0.0. One of us might have a better net, while the other has a better infrastructure/search.
P.S: I am taking time off from chess programming, and currently training to become better at playing chess myself, which I find as rewarding as chess programming itself
In fact, your current architecture is like what I have, and it is incompatible with what Bit-Genie has. Bit-Genie only has 768 inputs (representing all piece placements, and no side-to-move info).
Zahak in fact comes with a few nets, the biggest (strongest) is of size: 769x512x1 (which can be used when selecting skill-level 7), and the other skill levels all have 769x32x1 size networks. Version 8.0 had 769x256x1 and version 7 came with 769x128x1.
Doubling the net size each time gave around 20 elo (given that you increase the training data with that too).
It would be interesting to see if loading your net into Zahak can compete with versaio 9.0, or loading Zahak's net into Mantissa can compete with version 3.0.0. One of us might have a better net, while the other has a better infrastructure/search.
P.S: I am taking time off from chess programming, and currently training to become better at playing chess myself, which I find as rewarding as chess programming itself
-
- Posts: 48
- Joined: Wed Sep 22, 2021 9:20 pm
- Full name: Jeremy Wright
Re: Mantissa 3.0.0
Yeah, it'd be fun to compare. Maybe I'll run some Zahak vs. Zahak w/ Mantissa net matches sometime on cutechess. Thanks also for your experience with layer size vs. Elo.
Re: A break from chess programming, I wish you all the best with your chess journey!
Re: A break from chess programming, I wish you all the best with your chess journey!
Mantissa: https://github.com/jtheardw/mantissa
-
- Posts: 1362
- Joined: Sat Jul 21, 2018 7:43 am
- Location: Szentendre, Hungary
- Full name: Gabor Szots
Re: Mantissa 3.0.0
Very good news, Jeremy. Looking forward to testing it.
Gabor Szots
CCRL testing group
CCRL testing group
-
- Posts: 1362
- Joined: Sat Jul 21, 2018 7:43 am
- Location: Szentendre, Hungary
- Full name: Gabor Szots
-
- Posts: 48
- Joined: Wed Sep 22, 2021 9:20 pm
- Full name: Jeremy Wright
-
- Posts: 1142
- Joined: Thu Dec 28, 2017 4:06 pm
- Location: Argentina
Re: Mantissa 3.0.0
Looks like you're TCEC ready
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls
-
- Posts: 895
- Joined: Sat May 13, 2006 1:08 am
Re: Mantissa 3.0.0
Mantissa 3.0.0 @ CEGT-40/4: https://cegt.forumieren.com/t1630-testi ... issa-3-0-0
-
- Posts: 4606
- Joined: Wed Oct 01, 2008 6:33 am
- Location: Regensburg, Germany
- Full name: Guenther Simon
Re: Mantissa 3.0.0
Mantissa 3.0.0 is now available for older hardware too!
Thanks to Jeremy for allowing non-avx compilations.
Note that the binaries are estimated to be around 50% slower.
Thanks to Jeremy for allowing non-avx compilations.
Note that the binaries are estimated to be around 50% slower.
-
- Posts: 48
- Joined: Wed Sep 22, 2021 9:20 pm
- Full name: Jeremy Wright
Re: Mantissa 3.0.0
Thanks again everyone for your kind words and testing.
Re: old hardware. Glad to help! I want to make Mantissa available as I can. I'm still learning a bunch about build, cross-compilation, and rust quirks (Mantissa is my first Rust program actually, so I imagine a lot of its code isn't very idiomatic, as I come from more of a C background), so I always appreciate feedback with regards to user experience.
Re: old hardware. Glad to help! I want to make Mantissa available as I can. I'm still learning a bunch about build, cross-compilation, and rust quirks (Mantissa is my first Rust program actually, so I imagine a lot of its code isn't very idiomatic, as I come from more of a C background), so I always appreciate feedback with regards to user experience.
Mantissa: https://github.com/jtheardw/mantissa