CuriosAI / sai

SAI: a fork of Leela Zero with variable komi.
GNU General Public License v3.0
103 stars 11 forks source link
alphago-zero leela-zero neural-network

What

SAI is a variable-komi fork of leela-zero, a Go program with no human provided knowledge.

SAI is derived from Leela Zero 0.17 + AutoGTP v18.

This means even though SAI and Leela Zero share many similarities, SAI brings its own specific features and things as compared to Leela Zero.

The relevant papers are:

Current Run

The server is currently running here, on resources of Chieti-Pescara University.

Previous Runs

We have pretty strong 9x9 networks such as S1 from the 9x9 paper.

But you will need to compile the program with modified settings, for it to be able to play on 9x9 goban.

What you can do with SAI

With SAI you can:

Among the main differences between SAI and Leela Zero:

You can see a more detailed summary of the differences between SAI and Leela Zero in the wiki, or refer to the papers for technical exhaustiveness.

What you need

A PC with a computing device:

Note that you can use either your own physical hardware, or run SAI remotely from cloud virtual machines, or another source, which can be a workaround to you not having your own performant computing device.

SAI can run on Windows, MacOS, and Linux.

How to download, install, and run SAI

These steps will allow you to be able to run SAI and play with SAI:

How to help SAI get stronger

If you want to help, you can use your computing device in the collective effort to make SAI stronger.

This will make SAI play against itself (selfplay games) and other versions of itself (match games) on the SAI server, to train and get stronger.

Any help is greatly appreciated!

username and password

Unlike Leela Zero, to help the collective effort with games and matches, you have to create credentials here.

This way we can track and contact people that, for any reason, are uploading wrong data. (This happened sometimes for leela-zero project.)

Also, this gives you access to the The Leaderboard !

Choose a password of no importance and that you don't use elsewhere, since it will be sent unencrypted.

autogtp

To contribute, we don't run the sai executable but instead a specific contributing executable called autogtp.

After you downloaded and installed SAI as explained previously, see the autogtp instructions:

The client autogtp will connect to the server automatically and do its work in the background, uploading results after each game. You can stop it with Ctrl-C.

Note that specific autogtp documentation is also available here.

How to contribute to SAI's github

You can find some guidelines on how to contribute to this github here.

Note that these are mostly borrowed from Leela Zero's github, so they are not totally relevant for SAI.

FAQ

You can find commonly asked questions about SAI and their answers in several languages:

License

The code is released under the GPLv3 or later, except for ThreadPool.h, cl2.hpp, half.hpp and the eigen and clblast_level3 subdirs, which have specific licenses (compatible with GPLv3) mentioned in those files.

Additional permission under GNU GPL version 3 section 7

If you modify this Program, or any covered work, by linking or combining it with NVIDIA Corporation's libraries from the NVIDIA CUDA Toolkit and/or the NVIDIA CUDA Deep Neural Network library and/or the NVIDIA TensorRT inference library (or a modified version of those libraries), containing parts covered by the terms of the respective license agreement, the licensors of this Program grant you additional permission to convey the resulting work.