以前、VPSサービスGPUEaterでLeela ZeroとLizzie動かす方法を紹介しました。
VPSにVNCで繋いて、VPS側でLizzieを動かす方法でしたが、この方法だとVPS側にデスクトップ関連のインストールする必要があってその時間が比較的長く、サクッと使ってみる気にはなれないものでした。
今回は、ローカル(自分のパソコン)でLizzieを動かして、Leela ZeroはVPSサービスで動かす方法を紹介します。元ネタは以下のイシューです。
VPSサービスとしてGPUEaterを例にしますが、sshでつながるVPSならどれでも同じだと思います。
手順
GPUEaterでアカウントを作る。
省略^^:
インスタンスを生成する。
省略^^:
SSHで接続してインストール作業をする。
SSH接続手順は省略^^;
Leela Zeroをインストールする。
シェルから以下を順に実行してください。スクリプトにして一括実行するのもいいかと思います。おおよそ2分30秒です。
最後のwgetは私のDropboxに置いてあるELF OpenGo v1ウェイトです。お好きなものを用意してください。
apt update git clone -b next http://github.com/gcp/leela-zero.git cd leela-zero git submodule update --init --recursive apt install -y 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 .. cmake --build . wget https://www.dropbox.com/s/qxd2bu0xb59lb5f/elf_converted_weights.txt.gz
次に以下を実行して、OpenCL最適化を終わらせておきます。
cd leela-zero/build/leelaz --weights leela-zero/build/elf_converted_weights.txt.gz --gtp
Setting max tree size to 4136 MiB and cache size to 459 MiB.
という感じのメッセージで止まったら終了してください。
ローカルのLizzieの設定ファイルを変更する。
(普通ローカル環境も維持したいかと思いますので、変更するよりはもう一式Lizzieをインストールしてから設定することをおすすめします)
以下のように、engine-commandプロパティを変更してください。
{ "leelaz": { "automatically-download-latest-network": そのまま, "max-analyze-time-minutes": そのまま, "analyze-update-interval-centisec": そのまま, "network-file": そのまま, "max-game-thinking-time-seconds": そのまま, "engine-start-location": そのまま, "engine-command": "ssh -i ~/.ssh/gpueater.pem root@<IPアドレス> leela-zero/build/leelaz --weights leela-zero/build/elf_converted_weights.txt.gz --gtp --lagbuffer 0 --threads 3", "print-comms": そのまま },
~.ssh/gpueater.pemはご利用のVPSとsshに合わせて変更してください。
<IPアドレス>はご利用のVPSインスタンスのIPアドレスです。
--weightsはもしLeela Zeroのインストールの際に違うウェイトをダウンロードしたならそれに合わせてください。
--threadsはご利用のVPSインスタンスの性能に合わせて変えてください。
ダミーのファイルを作る
engine.start-locationとengine-commandの--weightsオプションを組み合わせたファイルを用意してください。空のファイルで結構です。
(Lizzieがウェイトファイルが存在するか確認するので、それを誤魔化すために作ります)
お疲れ様でした。以上で設定完了です。いつものようにLizzieを起動してください。VPS上のLeela ZeroをLizzieで使うことができます。
20万円近くする高性能パソコンを買わなくても、GPUEaterなら1時間50円程度で高性能パソコンと同等にLizzieを使うことができます。
対局場控室で、持ち込みのノートPCは非力とお嘆きの解説の先生がた!、この方法ならノートPCでもいくらでも高性能Lizzieになりますよ!
Enjoy!