Skip to content

第28回世界コンピュータ将棋選手権バージョン

Compare
Choose a tag to compare
@TadaoYamaoka TadaoYamaoka released this 05 May 01:06
· 1150 commits to master since this release

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にモデルをロードして、キャッシュを載せているためでバグではありません。