探索速度と棋力の関係

 以前AlphaZeroの探索速度を検討した回でMiacisの探索速度も調べた。

 この記事でも述べた通り、今の仕組みではNPSが上がれば棋力が上がるとは限らない。というわけでやねうら王/Kristallweizen(2スレッド、0.1秒)と対局してレートを測定した。

バッチサイズ16

f:id:tokumini:20200225204549p:plain

 このバッチサイズではスレッド数を増やしてもNPSは伸びず、棋力もほとんど変わらない。

バッチサイズ32

f:id:tokumini:20200225204616p:plain

 バッチサイズを32にするとスレッド数を増やすほどNPSは伸びるようになる。しかしだからといって棋力が伸びるわけではない。

バッチサイズ64

f:id:tokumini:20200225204756p:plain

 バッチサイズ64ではもっとNPSが大きくなるのだが、やっぱり棋力は伸びない。

バッチサイズ128

f:id:tokumini:20200225204830p:plain

 バッチサイズ128では最大15KまでNPSが大きくなるのだが、やっぱり棋力は伸びない。

スレッド数2

 今までの結果では基本的にどれもスレッド数2で最大のレートになっている。スレッド数2でのEloレートを1枚のグラフにまとめると次のようになる。

f:id:tokumini:20200225204910p:plain

 このグラフでもやっぱりNPSとEloレートは関係がなさそう。

結論

 現状のMiacis(ch128, ブロック10)で棋力が最大になるのはバッチサイズが32、スレッド数2のときであり、おおよそ7.5K NPSである。NPS自体はもっと高めることができるが、今の仕組みではNPSとEloレートはあまり関係がなさそうだった。

 ネットワークが小さいのにAlphaZeroよりも探索速度が出てないことになる。TPUが速いだけという以上の差がありそうに感じられる。AlphaZeroが棋力を最適化した結果として10K NPSになったとすれば探索の仕組みがちょっと違うのかもしれない。