WCSC31でDeep Learning勢が振るわなかったのは何故ですか?

WCSC31(第31回 世界コンピュータ将棋選手権)の決勝に進出した8チームのうちDL勢はPALのみ。昨年末の電竜戦で優勝したGCTは、そこから+R250ぐらいになっているにも拘らず予選落ち。強くなっているとは何だったのだろうか?

長い時間での伸び

WCSC31の持ち時間(15分1手5秒加算)は、電竜戦の持ち時間(10分1手2秒加算)よりもずいぶん長い。長い持ち時間になった時に従来型の将棋ソフト(NNUE勢)と、DL勢とでは、どちらが有利なのだろうか。

私が以前計測した時は、電竜戦優勝modelのGCTで3000ノード(RTX 3090で0.05秒ぐらいに相当)と240ノード(RTX 3090で4秒ぐらいに相当)に増やした時の伸びは、NNUEを同じだけの倍率だけ探索量を増やした時と同じ程度であった。

// 将棋ソフト、長時間の対局は、Deep Learning系に軍配が上がるのか? : https://yaneuraou.yaneu.com/2021/01/27/suishou-vs-gct-in-a-long-time/

もう少し長い時間でも計測したかったが、それ以上で計測するには計算資源が足りていなかった。

その結論らしきものが今回出たとも言える。つまりは、長い時間ではDL系の将棋ソフトは現状、不利なのだ。dlshogiの山岡さんが今回の選手権の結果報告を記事にされているのでそちらも参考にしていただきたい。

// 第31回世界コンピュータ将棋選手権 結果報告 : https://tadaoyamaoka.hatenablog.com/entry/2021/05/04/225928

DeepMindのAlphaZeroの論文で、長い時間ではAlphaZero有利みたいな記述が有ったと思うのだが、その記述、いまは削除されているらしい。

// よく知らない。詳しい人、間違っていたらコメント欄で教えてください

長い持ち時間でのチューニングの差

従来型の将棋ソフト(やねうら王探索部 + NNUE)は、長い時間だと予想以上に伸びるということだ。私は数年前にDual Xeon(40コア×2)のPCを8台も買ったのだが、長い時間でのチューニングはこのPC 8台で行っていることも効いているはずである。

NNUEの本番環境は、スリッパ(Ryzen Threadripper 3990Xのこと)なので、長時間で調整と言ってもスリッパで15秒ぐらい思考させたぐらいで最強になるように探索パラメーター等をチューニングすれば良いだけだから、そのチューニングに要する計算資源は(私からすると)高々知れている。

右側のラックにあるのがDual Xeon機 8台 + サーバー機。左端の3台は今年になってから買ったGeForce RTX 3090搭載PC。

それに比べると、DL系の将棋ソフト(dlshogi)の本番環境はA100×8とか16とかなので、そこからすると、これの探索パラメーター等をチューニングするには、せめてA100×32ぐらいを自由に使わせてもらえないと…みたいなところはある。ちなみにA100 1基(単体)で150万円ほどする。A100×8のサーバー機は2,000万円ほどである。

つまりは、DL系の将棋ソフトの本番環境が個人では到底手の届かないスペックのPCがクラウドで借りれてしまうので、そこに合わせてチューニングするのは個人の保有する計算資源では現状、不可能に近いという事情があるというわけだ。

10b(ブロック)だと長い時間だと不利なのか?

上で長時間ではDL系の将棋ソフトは不利ではないかと書いたが、GCT with dlshogiが使っているのは10b(10ブロック)のResNetだ。dlshogiはAlphaZeroと異なり、利きも入力特徴量として用いているので少ないブロック数でもわりと強く、少ないブロック数のほうがnps(探索速度)を稼げるので、短い時間の将棋では有利であるようだ。昨年の電竜戦で優勝したGCTも、10bであった。

大きなブロック数にしたほうが、大局観が良くなり、長時間での伸びがよくなることは実験でわかっている。しかしnps(探索速度)がブロック数に反比例して落ちるので、そのへんのバランスが重要になる。WCSCの持ち時間だと20bとか40bとかのほうが良い可能性は十分にある。(現状、何ブロックがベストかは開発者の間でもわかっていない)

GCPでA100×16が借りられない

dlshogi(GCT,10b)は2倍のnpsになると+R130程度になることがわかっている。

// 将棋ソフトは2倍の思考時間でR200上がる…あれ、嘘だったわ : https://yaneuraou.yaneu.com/2021/02/06/shogi-software-cant-increase-r200-in-twice-the-thinking-time/

そこからすると、A100×16はA100×8より+R130程度強く、弊チームにしてもこれが今回GCPで借りられていれば、全く違った結果になっていたはずである。

// 早い段階で借りられていればテストする期間も十分あったはずで、今回のマシントラブルももっと早く気付けたかも?

『二番絞り』の48さんは、今回探索部dlshogiで40bで出場された。そのインフラ担当の方がGCPを借りようとして失敗した記録が以下の記事にまとまっている。今後、大会でGCPを借りようとする人は必読の記事だと言えるだろう。

// 大会中は借りられず結局AWSでA100×8を借りての参加だったようです。二次予選敗退後に借りれたそうです。

// 世界コンピュータ将棋選手権予選敗退とその軌跡 : https://soudai.hatenablog.com/entry/2021/05/05/014239

いずれにせよ、GCPでA100×16を借りるのは現状、わりとハードルがあってAWSほど簡単に申請が通らないという状況のようだ。弊チームも、次の大会では借りられると良いのだが…。😓

NNUEとDLとでどちらが優秀なのか?

NNUE勢はたかだか50万円程度のスリッパ(履物のスリッパにしては高額なので開発者の間では「高級スリッパ」などと呼ばれている)で参戦しているのに対して、A100×16は4,000万円ぐらいするサーバー機である。物量の時点で桁が異なる。

しかもGPUはCPUに比べて単位時間当たりに計算できる量(FLOPS)は桁違いであり、それが16基もあれば単位時間当たり100倍以上の計算ができるはずである。

この2つを比較して、どっちが強いかというのはあまりフェアではない。フェアではないが、WCSCはプロレスで言うところのヘビー級の試合ではなく無差別級の試合なので、ハードウェア等は何でもアリだから仕方がない。

しかしこのような圧倒的な計算資源を以てしても、DL勢が圧倒的優勢というわけでもなく、互角程度だと言うのだから興味は尽きない。

4 thoughts on “WCSC31でDeep Learning勢が振るわなかったのは何故ですか?

  1. 前、チェスもnnueとdlがだいたい互角くらい??だったような。今は知らない。

    どこも似たような感じなのかも

  2. 思考時間とレートの関係https://tokumini.hatenablog.com/entry/2019/07/01/180000

    > もとのグラフがどのように計算して出されていたものかわからないが、スケール性に関してはやや怪しく、特に持ち時間が長くなるとそこまで伸びないのではないかと思われる。実際にarXiv版ではMCTSがαβ探索に比べて持ち時間に対するスケール性が良いのではないかという主張があったが、Science版では(私が確認した限り)なされていない。

  3. 今回の将棋ソフトたちのレーティングはどのぐらいなんでしょうか?5000はさすがに到達しなかった感じですか?

    • floodgate(の持ち時間)だとR4600ぐらいですね。floodgateの持ち時間ではまだ力が発揮できないようです。(長い時間になった時のNNUEの伸びが顕著)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です