LinuxMintで囲碁AIのlizzieとleela_zeroの組合せをGPUを利用して動作確認しました

1.概要

lizzieとleela_zero組合せると囲碁AIを自分のPCで楽しむことができます。lizzieは囲碁のユーザインターフェイスで、leela_zeroはAI機能部分です。leela_zeroはCPU版とGPU版があり、GPU版の利用を推奨します。

注意事項 ライセンス・著作権およびマナー

ライセンスの遵守:

「Lizzie」および「Leela Zero」はオープンソース(GPLライセンス等)に基づき公開されています。これらを用いた研究、ソースコードの改変、派生ソフトの配布を行う場合は、各開発者のライセンス条項を必ず遵守してください。

配信・SNSでの取り扱い:

AIが提示する「勝率(%)」「候補手」「目数差」などの検討画面をライブ配信やSNSで公開する際は、主催者の配信ガイドラインや、対局者のプライバシー・心情に十分ご配慮ください。

著作権の尊重:

 各ソフト本体、および読み込んでいるネットワークファイル(重み付けデータ)の著作権は各開発者に帰属します。許可のない商用利用や、規約に反する不正な再配布は行わないでください。

注意事項【熱注意】通気口をふさがないでください!

AI動作中はPCが非常に熱くなります。周囲に物を置かないようご協力をお願いします。

2.詳細

HW環境は、AMD 3200G, Memory 16GB, SSD 256GB, nvidia 1660 superです。
SW環境は、LinuxMint 22.3, kernel-6.14, nvidia 580, CUDA 12.9です。

ディレクトリ構成は以下の通りです。
~/lizzie             : 作業ディレクトリ
~/lizzie/leela-zero : leela-zero導入ディレクトリ
~/lizzie/lizzie     : lizzie導入ディレクトリ

ここではGPU版の導入手順を説明します。CPU版は諸略できる箇所を別途記載します。

(1) nouveauの無効化

/etc/modprobe.d/blacklist-nouveau.conf作成
# nvidia(nouveau)
blacklist nouveau
options nouveau modeset=0
適用します
$ sudo update-initramfs -u

(2) nvidia driver設定

$ ubuntu-drivers devices
$ sudo apt -y install nvidia-driver-580-open

(3) CUDA設定

$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
$ sudo dpkg -i cuda-keyring_1.1-1_all.deb
$ sudo apt update
$ sudo apt install cuda-toolkit-12-9
path設定を~/.bashrcに追加( vi ~/.bashrc )
# CUDA Toolkit
$ export PATH="/usr/local/cuda/bin:$PATH"
$ export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"

(4) 動作確認

$ nvidia-smi
$ nvcc -V

(5) git設定

$ sudo apt-get -y install git
$ git config --global user.name  "姓 名"
$ git config --global user.email "mail address"
$ git config --global core.editor vim

(6) java導入

$ sudo apt install default-jre

(7) leela_zero設定

$ mkdir ~/lizzie
$ cd ~/lizzie
$ sudo apt install clinfo && clinfo
$ git clone https://github.com/leela-zero/leela-zero
$ cd leela-zero
$ git submodule update --init --recursive
$ sudo apt install cmake g++ libboost-dev libboost-program-options-dev libboost-filesystem-dev opencl-headers ocl-icd-libopencl1 ocl-icd-opencl-dev zlib1g-dev
$ mkdir build && cd build
$ cmake -DCMAKE_CXX_FLAGS="-Wno-error=maybe-uninitialized" ..
$ cmake --build .
$ ./tests

(8) lizzie設定

$ cd ~/lizzie
$ wget https://github.com/featurecat/lizzie/releases/download/0.7.4/Lizzie.0.7.4.Mac-Linux.zip
$ unzip Lizzie.0.7.4.Mac-Linux.zip
$ cp leela-zero/build/leelaz Lizzie

(9) lizzie起動

$ cd ~/lizzie/Lizzie
$ java -jar lizzie.jar

3.所見

起動すると初回はエンジンをロード中がしばらく表示されます。再起動後、再実行するとエンジンのロードはすぐに終わります。囲碁AIで遊ぶのは少し操作になれる必要があり、私は何度も起動と停止を行いました。操作に慣れることが最初は必要です。TVで囲碁の放送をしていますが、棋譜に沿って囲碁AIを利用した検討も個人環境でできます。囲碁ファンの方には便利な環境だと思います。

4.追加

(a) CPU版の手順

GPUに関連した部分をスキップすることでCPU版を導入できます。
2.詳細の項目部分だけ記載します。
(6) java導入
(7) leela_zero設定
(8) lizzie設定
(9) lizzie起動

(b) 以前囲碁AIの導入手順からの変更箇所

本件に関して、質問を受けていました。(7) leela_zero設定の部分を修正しました。
#cmake ..
$ cmake -DCMAKE_CXX_FLAGS="-Wno-error=maybe-uninitialized" ..

コメント

過去30日間に良く読まれた記事

miniPCのBMAXでWindows11のsecure boot設定漏れでトラブル発生

Windows95/98のPCゲームをUbuntu/LinuxMintの最新PCで楽しむ方法 ( KVM / Wine / dosbox-x / midi )

LinuxMint/ubuntuにWine 11導入を試しました ( LinuxMint 21.3 / 22.3 ubuntu 22.04 / 26.04 Wine 11.0 / 11.6 / 11.8 / 11.13 )