KataGo is a strong open-source self-play-trained Go engine, with many improvements to accelerate learning (arXiv paper and further techniques since). It can predict score and territory, play handicap games reasonably, and handle many board sizes and rules all with the same neural net.
This site hosts KataGo's first public-distributed training run! With the help of volunteers, we are attempting to resume training from the end of KataGo's previous official run ("g170") that ended in June 2020, and see how much further we can go. If would like to contribute, see below!
Updates
2024-05-02 - First "b28" neural net uploaded! This new larger neural net runs more slowly, similar to the old 60-block nets, but should be much stronger. From tests on discord, under normal usage this series of nets should be stronger than the b18 nets given equal total time, despite the slower speed, and be by far the strongest nets so far on a per-visit basis. We've also upgraded contributing to require KataGo v1.14.0 or later to support this net.
2023-12-28 - KataGo v1.14.0 is released! This version adds support for a new larger and hopefully stronger "b28" neural net that will likely be ready within the next months. It also has a large number of more minor bugfixes and changes.
2023-06-13 - We are upgraded now - kata1-b18c384nbt-s6582M is the first 18-nested-block neural net with the new improved output heads! You will need to be on version v1.13.0 or later to use the nets from here onward.
2023-05-23 - KataGo v1.13.0 is released! Supports a new version of neural nets with improved output heads for policy and error prediction and various other analysis and search and training improvements. Once most or all contributors upgrade, we will be able to switch to the improved nets. If you're an active contributor please upgrade when you can!
2023-03-04 - We're fully switched to v1.12 now and the first new net of the new architecture, b18c384nbt, has been uploaded for testing! Note the learning rate has been kept far higher than every other network, so it might not be as strong yet as the "uec" version of the new net on the releases page.
2023-02-18 - KataGo is now up to version v1.12.4, with some bugfixes for training data generation! Once enough users are upgraded to this version and particularly off of v1.11, we can try the new improved b18 net and architecture for rating games and data generation. Please upgrade if you can!
2023-01-07 - New release of KataGo, v1.12.0, supporting a new neural net architecture! The new net, b18-uec is about as strong as the 60-block nets but should be faster to run.
2022-05-16 - Disabling support for versions older than v1.11.0 in selfplay data contribution so that we can make full use of new graph search parameters for search during selfplay.
2022-03-20 - KataGo v1.11.0 is released! New graph search algorithm instead of tree search, and various parameter improvements.
2022-01-27 - Switching to 60-block net for selfplay data contribution! 40-block net will continue to be trained as well on the data and be rated as well.
Downloading KataGo
If you simply want to run KataGo, the latest releases are here and you can download the latest networks from here.
You very likely want a GUI as well, because the engine alone is command-line-only. Some possible GUIs include KaTrain, LizzieYzy, Lizzie, and q5Go, more can be found searching online.
How to Contribute
Contributors are much appreciated! If you'd like to contribute your spare GPU cycles to generate training data for the run, the steps are:
First, create an account on this site, picking a username and secure password. Make sure to verify your email so that the site considers your account fully active. Note: the username you pick will be publicly visible in statistics and on the games you contribute.
Then pick one of the following methods.
Likely easiest method, for a home desktop computer:
Inside the GUI menu, select the option for distributed training, provide the username and password for the account you created, and choose a few settings, then just let it run!
Command line method: if running on a remote server, or have already set up KataGo for other things, or if you want a command line that will work in the background without any GUI, or want slightly more flexibility to configure things:
Edit the contribute_example.cfg that came when you downloaded KataGo, use a text editor to fill in your username, password, and the few different settings you want.
Run it on the command line like: ./katago contribute -config contribute_example.cfg on Linux, or katago.exe contribute -config contribute_example.cfg on Windows. If it is working, it should print out various stats as it runs, including when it finishes and uploads a game.
Either way, once some games are finished, you can view the results at https://katagotraining.org/contributions/ - scroll down and find your username! If anything looks unusual or buggy about the games, or KataGo is behaving weirdly on your machine, please let us know, so we can avoid uploading and training on bad data. Or, if you encounter any error messages, feel to ask for help on KataGo's GitHub or the Discord chat.
For advanced users, instead of downloading a release, you can also build it from source. If you do so, use the stable branch, NOT the master branch. The example config can be found in cpp/configs/contribute_example.cfg
And if you're interested contribute to development via coding, or have a cool idea for a tool, check out either KataGo's GitHub or the this website's GitHub, and/or the Discord chat where various devs hang out. If you want to test a change that affects the distributed client and you need a test server to experiment with modified versions of KataGo, it is available at test.katagodistributed.org, contact lightvector or tychota in Discord for a testing account.
Stats for kata1
This run is named kata1 and began on 2020-11-28 20:23:43 UTC.
Data Generation
Across all time, 1155 distinct users have uploaded 3,229,699,031 rows of training data, 63,837,657 training games, and 1,343,896 rating games.
In the last week, 51 distinct users have uploaded 7,045,556 rows of training data, 148,673 new training games, and 2,677 new rating games.
In the last 24h, 33 distinct users have uploaded 1,313,881 rows of training data, 27,835 new training games, and 394 new rating games.
Approximate Elo Ratings Graph
Graph is based on about 1,343,896 rating games using mid to high hundreds of playouts. Ratings might still be mildly inflated due to only playing other KataGo nets, but otherwise are fresh and unbiased and involve a variety of nets to avoid rock-paper-scissors. Vertical bars indicate approximately a 95% confidence interval.
Graph is based on games at equal visits rather than equal compute time, since the former is easier to control on widely varying user hardware. Larger/slower networks will be advantaged due to getting more total compute time. Given particular hardware, one can approximately correct for this by benchmarking to measure the speed difference, each doubling of speed may be worth somewhere around 150-250 Elo.
Click and drag to zoom. Double-click or click on a button to reset zoom.
Approx Elo given equal time rather than equal visits (might NOT be accurate, varies with hardware)
Top Contributors
See here for a full list of contributors for kata1.