昨日、本日、世界コンピュータ将棋オンライン大会が開催されました。
dlshogiはシードのため2日目からの参加でした。
結果は、4勝4敗で、2日目に進んだ28チームの内13位でした。
floodgateでのテストからR4000くらいと見積もっていたので、順当な結果だと思います。
本番では、Tesla V100 8GPUを使用しました。
諸事情によりLinux上のDockerで動かしていたので、dlshogiライブラリを使用していたGCTがWindows Serverで4GPUで動かして同じくらいのNPSになっていたことから、8GPUの性能を発揮しきれていなかったかもしれません。
dlshogiの実行ファイルとモデルファイルは、後日公開する予定です。
対局振り返り
1局目 koron vs dlshogi
koronはやねうら王ライブラリ使用のソフトです。
結果は、149手でdlshogiの勝ち
評価値は、ずっとdlshogi側に優勢でした。
126手で、一瞬評価値0付近になりました。
バグっぽいので原因を調べる予定です。
2局目 dlshogi vs elmo
151手 elmoの勝ち
102手までは互角でした。
103手目から徐々に悪くなって負けました。
3局目 dlshogi vs スーパーうさぴょん2X
151手 dlshogiの勝ち
41手目からdlshogi側に優勢になって、そのまま勝ちました。
4局目 dlshogi vs NineDayFever
95手 NineDayFeverの勝ち
69手目で、優勢と判断しましたが、これが悪手だったようです。
ログからこのとき50万ノードしか読めておらず、ハッシュ再利用の処理に13秒費やしていたことがわかりました。
ハッシュ再利用の処理が遅いのが、今のdlshogiが急に劣勢になる原因になっているかもしれません。
※ 2020/5/5追記 69手目はすでに詰みだったようです。その前の評価が間違っていたようです。
5局目 AobaZero vs dlshogi
DL同士の対決は、149手でdlshogiの勝ちでした。
84手で一瞬30000点になりましたが、これはAobaZeroが駒損して優越局面になったからだと思います。あとで調べる予定です。
6局面 dlshogi vs HoneyWaffle
HoneyWaffleは、振り飛車で知られるソフトですが、この対局でも振り飛車でした。
結果は、252手でdlshogiの勝ち
序盤でdlshogiは振り飛車を不利と判断していましたが、互角に持ち込まれました。
51手目からはdlshogi側に優勢になって勝ち切りました。
dlshogiは、ハッシュ再利用に5秒以上かかる問題があったので、時間切れ負けを心配していましたが、なんとか間に合いました。
7局目 dlshogi vs Qhapaq from Neo-Saitama
dlshogiライブラリを使用すると宣言していたQhapaqチームは、結局やねうら王ライブラリを使用しての参加でした。
結果は、167手 Qhapaq from Neo-Saitamaの勝ち
101手までは互角でしたが、そこから徐々に悪くなって負けました。
まとめ
やねうら王ライブラリのkoronとHoneyWaffleに勝てたことから、ディープラーニング+MCTSのソフトがαβ探索のソフトに追いついてきたことが示せたと思います。
同じくディープラーニングを使用しているAobaZeroに勝てたので、現時点でDL勢ではトップになれたのも良かったです。
今回、去年より強くできたのは、探索と学習にLeela Chess Zeroの方法を取り入れたのと、リーグ戦で強化学習を行ったこと、1ヵ月前にTensorRTに対応したことが、主な要因だと思います。
まだ、決勝進出レベルには足りていないので、今後も改良を続けていくつもりです。
特に、ハッシュ再利用の処理が遅いのは直したいと思っています。
普段はPonderなしの1手3秒の対局がメインで、たまに行うfloodgateのテストでもログを確認していなかったので、問題があると認識したのが直前だったので直す時間がありませんでした。
ログをとって処理時間のボトルネックをちゃんと確認するのが大事だと思いました。