週末にアホの子のように寝るのが10代からの至福のひとときです。
いつものようにインスタントコーヒーを入れていると枕元にプレゼントがありました。
二番絞りのモデルが計測頂けたようです。
GCT強いですね。うちでもノートパソコンで計測しているとGCTの方が強いようです。
ただ,ちょっと残念なのが例に多く大会とは随分ノード数が少ない件でしょうか。ケチをつける意図ではなく実際のところ真に良い計測とはどのようなものか随分以前より頭を悩ませています。
以前記事に書きましたが二番絞りは教師データを流用した実験です。
主な評価パラメータはモデルのサイズでした。
AlphaZero型の探索を一般にPV-MCTS(Policy Value Monte Carlo Tree Search)と呼びますが,Remiさんが提唱したMCTSの拡張に当たります。
MCTSは勝率のみを考慮した確率的探索ですが,PV-MCTSはPolicyも考慮した確率的探索でここに深層学習(Deep Learning)のモデルを用いるのが主流です。モデルの精度が落ちた際に特定の指し手から先を全く読んでいないような読み抜けや全く筋違いのところを深く読んでしまい無駄な探索が多くなるようなことが起こります。普通はPV-MCTSの方がMCTSより優位なのですがこのように稀に酷いケースがあります。もちろんモデルの精度が高ければ圧倒的に正確に深く探索が進みます。
そのため,AlphaZeroに限らず,LeelaZero,LeelaZero Chess,KataGoなど多くの実験では学習が進むにつれて高精度を求めて大きなモデルを使うようになります。囲碁で一般にダウンロード可能なモデルで最強はKataGoの40ブロック256チャンネルだと思っています。これは圧縮状態で200MB近い相当巨大なものです。当然学習にも推論にも相当な計算量が発生します。
しかしながら,KataGoでも説明されている通り高速なGPUを持っていない人は小さなモデルを使用するように書かれており実際最新のハイエンドGPUを持っている人のみにこの巨大なモデルを推奨しています。具体的にはミドルレンジのGPUで20ブロックのモデル,低ノードでは15ブロック程度のモデルが適しているとのことです。
ところで,AlphaZeroの将棋モデルは20ブロック256チャンネルでした。AobaZeroもそれに倣い20ブロック256チャンネルになっています。比べてdlshogiは10ブロック192チャンネルと小さいものです。この点以前から気になっておりました。
それに電竜戦直前のRemiさんのツイートが以下です。
My 256-channel network was too small for the p4d.24xlarge, so I am training a 512-channel network. I hope it will be stronger for the @DenryuSen. I finished coding multi-GPU training today, so I am a bit late. We'll see the result tomorrow after only 24h of learning. pic.twitter.com/QQt8EFTLoq
— Rémi Coulom - Kayufu (@Remi_Coulom) 2020年11月20日
A100が8枚の計算量では256チャンネルのネットワークでは小さすぎると書かれたツイートは私には結構衝撃的でした。うちの実験の最も大きいものが256チャンネルだったからです。A100の8枚はV100の4枚より最悪でも3倍以上通常なら8倍~16倍程度の性能を持っているはずです。私の方にはA100のデータが無いのでなんともコメントできませんでした。そう言えばV100比のベンチマークくらいは欲しいですね。圧巻過ぎて敵対する意識もありませんでした。
ということで,二番絞りはこのモデルサイズ比較を主眼において比較実験するものでした。簡単にテストしたいということで適当な教師データを用いたわけです。
で,今のところ私の雑感ですが
二番絞りさんノートパソコンだとAobaZeroに全然勝てない件。ノード数多いと完勝するんだが何故だろう?
— 48 (@bleu48) 2020年11月23日
正直まだよく分かりません。
AobaZeroがp800程度でもそこそこ戦えている件やそれ以下(p200やp400やその後のt4実験)でもそれなりのレートを残している辺りが結構PV-MCTSを考えるうえで重要かと思っています。t4は以前も書いてますがCPUの4スレッドで20nps程度で時間制御入りのものです。3~十数秒程度考えます。
また,予行4の結果から決勝入りするつもりもなかった二番絞りが電竜戦予選でdlshogiを破り3位に入ったのは単に運がよかっただけなのでしょうか。AobaZeroも予行結果より期待も高かったのですが決勝入りしていません。
モデルサイズの最適点はどの辺なのでしょうか。
二番絞りの戦いはまだ始まったばかりだ。(強化学習二回目ですし)
---
追伸:
電竜戦予選の組み合わせに関しては運営で再検討しますが,それほど酷い組み合わせと言う感じもしません。シードが居る選手権二次予選ではなく選手権一次予選と比べて頂ければいいと思います。