WCSC29(第29回 世界コンピュータ将棋選手権)まであと1ヶ月を切りました。今年の見どころをざっと確認しておきましょう。
※ WCSC29 公式URL : http://www2.computer-shogi.org/wcsc29/
まずは、何と言ってもガチDeep Learning勢。(以下DL勢と略す) tanuki-チームのNNUE評価関数もDeep Learning勢と言えなくもないですが、GPUを用いていないこと、そして、AlphaZeroが採用していたResNetからはかけ離れているので、「ガチDeep Learning勢」からは除外しておきます。
注目は、Team Aoba Zeroチーム。このチームは、Bonanzaの保木さん、YSSの山下さん、囲碁のRayの作者でもある小林さんの3名によるタッグチームで、保木さんのコンピュータ将棋方面への復帰に古参の開発者からは歓迎の声が上がっています。ただ学習を開始したのがつい先日からのようで、もう時間があまりないので当日までに十分な計算資源を確保できるのかどうかが懸念されています。
DL勢でAlphaZero方式なのは、フランスからの刺客、CrazyShogi。開発者は、Computer Chess方面で有名なRémi Coulomさんです。
あと、熱心にブログ等で情報を発信しておられる山岡さんのdlshogiにも期待が高まります。
まあ、DL勢は学習で用いる自己対局の教師棋譜を生成するための計算資源が足りなくて、どのチームも苦心されているようですね。(工夫のしどころ?)
従来方式(KPPT/NNUE評価関数)で上位に来ると私が予想しているのは、一つ目は、水匠。NNUEkaiXというNNUEの評価関数バイナリの作者で、たややんさん(@tayayan_ts)です。なお、たややんさんは弁護士でもあり、アピール文書が契約書っぽいフォーマットで書かれていて思わず吹き出してしまいました。
それから、Novice。Noviceはdepth 8と10で教師用に数百億局面を生成。(とアピール文書に書いてある) 教師局面の生成数においてほとんどの開発者は負けてるのではないでしょうか。あと、探索部はライブラリを使用せずに自力でStockfishを参考に書かれているそうです。Aperyにせよ、技巧にせよ、自力で探索部を書いているチームは、探索部の改良をするだけの力があるので、探索部をライブラリそのまま使用するだけのチームとはこの部分で差別化できる可能性が高いです。また、NoviceはLazy Clusterを導入していること。これはLazy SMPのクラスター版(複数PCを用いる)です。StockfishのGitHubにLazy Clusterのブランチがあって、そのコードを利用しているのだと思います。OpenMPIを用いて、PCをまたいで置換表を共有します。AWSを使う場合ですとPC間のネットワーク接続がそこまで速くはないので、さほど強くならないとは思うのですが、NoviceはOmni-Pathを使って接続されたXeonを複数台使用するそうです。なんとも羨ましい限りです。(大学の研究室の設備?)
そんなわけで、アピール文書の通りだとすれば、Noviceは優勝候補だと思います。
他の優勝候補と言えば、昨年のWCSC28で優勝したHefeweizen(通称、白ビール)が、今年はKristallweizenという名前で出場されるようです。Kristallweizenは、(濾過した)小麦ビールの意味で、白ビールが濾過する前のものなので、1年を経て濾過されたということなのでしょうか。なかなか洒落たネーミングだと思います。
昨年の白ビールは、定跡が優秀で他のソフトでこの定跡の穴を突くことは難しく、Multi Ponderという独自の機能により、相手の思考時間にかなり有効なponderが行えるので実質的に持ち時間が他ソフトの倍近くあるというのが大きかったですね。また、WCSC28ではかなり早朝からAWSの東京リージョンのインスタンスをめいいっぱい借りられていて、他のチームは東京リージョンを借りられず、通信遅延が大きかったという問題もありました。アピール文書によると今年はMulti Ponderからさらに進化したクラスタリング機能を用意するそうです。毎回、棋力の向上に一番寄与しそうなところを押さえてくるあたりがさすがです。総合的に見て、今年も優勝しておかしくはないチームです。
※ ponderとは、相手の指し手を予想して、その指し手を指した直後の局面に対する思考を相手思考時間中に行うこと。
他の優勝候補としては、tanuki-チームは今年は狸王というソフト名での出場です。SDT5優勝、WCSC28ではNNUEでのデビューと、技術的に見ても毎回色々と新しいものを投入してくるtanuki-チーム、自ずと期待が高まります。
Aperyは、KPPT改造したらめっちゃ強くなった(意訳)と書いてあるので、これも間違いなく優勝候補です。depth 8で教師局面を数千億局面生成したとかとんでもないことが書いてあります。計算時間的には40コアのPC 30台×1ヶ月ぐらいかかると思うのですが、会社(HEROZ)の計算資源が使えたのでしょうか…。また、選手権当日にもその規模の計算資源を活用できるなら、ぶっちぎり優勝もあるのではないでしょうか。
それから大合神クジラちゃんも、思考エンジンにやねうら王を採用し、視聴者のPCで大規模クラスタリングしているので、こちらも優勝候補ですね。
え?やねうら王はどうしたのか?NNUE評価関数の学習とかやってるんですけど、まだSDT5のとき(elmo+R180)から強くならなくてこっちはゲロ吐きそうなんだよ!
それでは、選手権で皆様とお会いできることを楽しみにしております。
とてもわかりやすく参考になりました。
今のうちから楽しみですね。ふと思ったのですが、多くのソフトは対居飛車に学習を費やしているように思えるのですが、その点に関しては人間で言う定跡、研究を外す手段として振り飛車を用いるのは有効だったりするのでしょうか?
NNUE型の評価関数は戦型特化みたいなところがあるようですので、相手の得意戦法を序盤で回避すればかなり大きなアドバンテージが得られると思いますよ。そういう意味では振り飛車も有望なのではないでしょうか。
通信遅延は100msも無かったと思いますよ。昨年のうちはシングルスレッドでポーリングかけてたのでクラスタの数だけ遅延が出るんで早起きしました。今年は東京じゃなくてもいいかなぁと思ってます。
まあ、実際のところ、AWSのリージョンによる差は微々たるものですよね…。
やねうら王がここからR1500くらい伸びますように。
ナムナム
決勝日に残れる程度には頑張ります(`・ω・´)b
nnueはパラメーターが当たれば、1億でだいたいR300程度上がるよ。
ちなみに外れると意味なくなるので、教師局面の多さとか関係なさそうと思っています。(自分の経験では)
1億とは(゚д゚)? 1億局面の教師?よかったら詳しく教えてくだされ。
はい、depth10で1億局面の教師を生成し、
パラメーターを勘で、ちょちょいと設定します。
(ここが一番大変)
変なところをいじるといけないし、いじらな過ぎてもだめです。
一応毎回学習の際には変えています。
そして学習させると良い時はR100~R300ぐらい上がって、下手するとR500ぐらい下がりました。
だから自分は教師大量生産ではなくて、パラメーターで最新将棋ソフトに勝負しています。
私のほうは、そんなに上がったことがないです(´ω`)
開始局面とか教師生成の方法によるものでしょうか。すごいです…。