TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

【電竜戦】チームdlshogiのGCTが決勝リーグで優勝しました

本日開催されたコンピュータ将棋の大会「電竜戦」で、チームdlshogiのGCTが決勝リーグで優勝しました!

コンピュータ将棋の大会でディープラーニングを使用したソフトが優勝するのは初です。
2017年からdlshogiの開発を始めてやっと優勝までたどり着きました。

GCTについて

元々GCTは、加納さんがdlshogiを使用して開発したソフトです。
探索部分はdlshogiで、モデルの学習に使うデータをdlshogiとは別のもので行っています。

今大会では、私とチームで参加して、dlshogiの強化学習のデータや、学習方法、定跡作成方法など共有して、加納さんが主体でモデルの学習・定跡作成をしています。
今回の成果は、私のdlshogi単体では成し遂げたられなかったので、GCTが優勝してくれたことに感謝しています。

チームの経緯

加納さんとは将棋AI開発前からの知り合いで、以前から気楽に情報交換を行っていました。

NVIDIA A100が発表されてから、いつからクラウドで使用可能になるのかという話をしていたところ、ちょうどよいタイミングで、AWSで使用可能になりました。

AWSのA100のインスタンスp4d.24xlargeは、vCPU上限申請が必要なため、申請を行ったところ私の方では断られてしまいました
加納さんは申請が通ったため、貸してもらうことにしました。
その際、お互いチームとして参加するという話になり、インスタンスを貸してもらう代わりとして、GCTにはdlshogiの強化学習で生成したデータ(600万局面×直近100サイクル)を提供しました。

GCTとdlshogiの違い

GCTとdlshogiの違いは以下の通りです。

探索部 モデル 事前学習データ 強化学習データ 定跡
GCT dlshogiと同一 dlshogiで実験中のswishのモデル floodgate, elmo, AobaZero dlshogiで生成したデータにAobaZeroの棋譜を混ぜて学習 dlshogiの定跡作成方法に水匠2の定跡を使用
dlshogi dlshogiと同一 以前から使用しているResNetモデル elmo dlshogiで生成したデータ dlshogiの定跡作成方法にfloodgateの統計を使用

大会で使用したハードは、どちらもNVIDIA A100×8です。

dlshogiは6位という結果だったので、モデルの精度の差が大きかったと思います。

モデルのサイズは、どちらもResNet10ブロックで同じです。
やはり一番差がでたのは、事前学習にAobaZeroの棋譜を使用したことだと考えています。
(連続対局での勝率は別途確認するつもりです。)

精度のデータは共有してもらったので、別途まとめるつもりです。

今後の予定など

GCTのモデルとdlshogiを普通のPC(NVIDIAGPU非搭載)でも動くようにしたものを後日公開する予定です。

最後に

大会を開催していただいた運営の皆様、初めての大会の立ち上げで苦労もあったと思いますが、本当にお疲れ様でした。
そして、参加者の皆様、お疲れ様でした。