tanuki- 2021-09-03 AMD Optimizing CPU Libraries 実験結果
実験内容
棋譜生成
生成ルーチン | tanuki-棋譜生成ルーチン |
評価関数 | tanuki-wcsc28 |
1手あたりの思考 | 深さ最大 16 思考ノード数最大 50,000 ノード |
開始局面 | foodgate上の棋譜の24手目までから1局面ランダムに選択し、その局面を開始局面とした |
生成局面数 | 1 億局面× 3 セット |
生成条件 | 対局は打ち切らず詰みの局面まで学習データに出力した |
機械学習
機械学習ルーチン | やねうら王機械学習ルーチン |
学習モデル | halfkp_256x2-32-32 |
学習手法 | SGD ミニバッチ法 |
USI_Hash | 1024 |
Threads | 16 |
loop | 100 |
batchsize | 1000000 |
lambda | 0.5 |
eta | 0.01 |
newbob_decay | 0.5 |
nn_batch_size | 1000 |
eval_save_interval | 100000000 |
loss_output_interval | 1000000 |
mirror_percentage | 50 |
eval_limit | 32000 |
weight_by_progress | 無効 |
次元下げ | K・P・HalfRelativeKP・左右対称 |
学習データ内で重複した局面の除外 | しない |
初期ネットワークパラメーター | tanuki-wcsc28 |
実験結果
使用ライブラリ | 1000万局面あたりの学習時間 |
mingw64/mingw-w64-x86_64-openblas 0.3.13-2 | 316秒 |
AMD Optimized BLIS Version 3.0.1 | 304秒 |
まとめ
AMD Optimizing CPU Libraries を用い、機械学習ルーチンがどの程度高速化するか調べた。実験では、1000万局面程学習させ、学習時間を比較した。
結果、 AMD Optimizing CPU Libraries を使用したほうが、 4% 程度高速だった。
今後は AMD Optimizing CPU Libraries を用いて学習させていきたい。