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" ..
コメント
コメントを投稿