第28回世界コンピュータ将棋選手権バージョン
dlshogiの第28回世界コンピュータ将棋選手権バージョンのビルド済みファイルです。
アピール文章
実行環境
実行するには以下の環境が必要です。
※第5回将棋電王トーナメントバージョンは、Chainerの環境構築が必要でしたが、USIエンジンの実行のみであれば不要になりました。
ハードウェア
以下のハードウェアが必要です。
・AVX命令に対応したx86-64 CPU
・CUDA 9以上に対応したGPU(GeForce 1080など)
OS
Windows 10 64bit or Windows Server 2016 64bit
CUDA
CUDA 9.0をインストールする。
https://developer.nvidia.com/cuda-downloads
cuDNN
cuDNN 7をダウンロードして、cudaディレクトリの中身(cudaディレクトリごとではないので注意)をCUDAのインストールディレクトに上書きコピーする。
インストールディレクトリはデフォルトでは以下のパスになる。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
※cuDNNのダウンロードにはユーザ登録が必要です。
https://developer.nvidia.com/cudnn
dlshogi
dlshogi-wcsc28.zipを任意のディレクトリに解凍する。
elmoの評価関数(詰み探索のために必要)
elmo_for_learnのページから「2.初期評価関数の取得」の説明の通りダウンロードしてファイル名を変更する。
対局方法
エンジン登録
usi.exeを将棋所などのUSIに対応したGUIソフトに登録する。
エンジン設定
パラメータ | 設定値 |
---|---|
Book_File | dlshogi-wcsc28.zipを展開したディレクトリにあるbook.binのパス |
DNN_Model | dlshogi-wcsc28.zipを展開したディレクトリにあるmodel_rl_val_wideresnet10_110_1のパス |
DNN_Model2~DNN_Model2 | GPUが複数枚あり、GPUごとに異なるモデルを設定する場合にモデルのパスを設定する。GPUが1枚の場合、空欄にする。 |
Mate_Root_Search | オン |
Eval_Dir | elmoの評価関数ディレクトリのパス(詰み探索に使用)。Mate_Root_Searchがオフの場合は不要。 |
UCT_Threads | モンテカルロ木探索のスレッド数。使用するGPUとCPUによってNPSが高くなるように調整が必要。 |
UCT_Threads2~UCT_Threads4 | GPUが複数枚ある場合、それぞれのGPUに割り当てるモンテカルロ木探索のスレッド数。使用するGPUとCPUによってNPSが高くなるように調整が必要。GPUが1枚の場合、0とする。 |
USI_Ponder | 同一マシンでエンジン同士の対局の場合オフにする |
Byoyomi_Margin | 同一マシンで対局する場合は、100くらい。切れ負けする場合は増やす。 |
残りの設定はデフォルトでよい。
世界コンピュータ将棋選手権での設定
世界コンピュータ将棋選手権では、model_rl_val_wideresnet10_110_1を2つのGPUに、model_rl_val_wideresnet10_083_1とmodel_rl_val_wideresnet10_058_1を1つのGPUにロードしました。
モンテカルロ木探索のスレッド数はNPSが最大になるように調整し、GPUごとに168、168、144、96としました。
自己対局で強化学習したモデル(大会では未使用)
AlphaZeroの方式で自己対局による強化学習を18サイクル回して学習したモデル(model_rl_val_wideresnet10_selfplay_018)も同梱しています。
その他
対局開始後、1手目の開始が遅いですが、準備のフェーズで、GPUにモデルをロードして、キャッシュを載せているためでバグではありません。