前回、dlshogiにおけるラージカーネルの精度と訓練速度を測定した。
推論については、測定していなかったので、追加で測定した。
dlshogiで、Ryfamate Cross Network (RyfcNet)の実験をしていただいたようです。
— 駒の書体@将棋AI Ryfamate (@komafont) 2024年7月19日
C-Layerは、paddingを行わず、通常のConvolutionが81回の計算を行うところ、9回x2(縦横)の計算で済み、推論が高速化される(NPSが出る)ところもご注目いただければと思います。 https://t.co/ANzLg9GDe2
モデル構造
比較するモデル構造について再掲する。
ResNet 20ブロック、256フィルタを基本モデルとして、以下のパターンで比較した。
1. 5ブロック間隔で、ブロックの最初の畳み込みを7x7カーネル
2. 5ブロック間隔で、ブロックの最初の畳み込みを7x7カーネル(depth wise)
3. 5ブロック間隔で、ブロックの最初の畳み込みを5x5カーネル
4. 5ブロック間隔で、Ryfamateと同様の9x1と1x9カーネルを並列にしたブロック
5. 4ブロック間隔で、Ryfamateと同様の9x1と1x9カーネルを並列にしたブロック
推論速度
floodgateの棋譜からサンプリングした100局面について、1秒探索した際のNPSを測定した。
4回測定し、各局面について平均を算出した。
RTX 4090 1枚で測定した。
局面について平均、中央値、最大、最小を求めた結果は以下の通り。
Ryfamateと同様の9x1と1x9カーネルを並列にした場合が、NPSが最も高い。
条件4は平均でResNetの1.042倍、
条件5は平均でResNetの1.045倍のNPSが出ている。
条件1のカーネルサイズ7x7は平均で0.73倍、
条件3のカーネルサイズ5x5は平均で0.88倍であり、
大きいカーネルサイズでは、NPSが著しく低下することが分かる。
条件2のカーネルサイズ7x7をdepth wideにした場合は、ResNetの1.008倍でNPSは低下していない。
ただし、前回測定した通り、depth wideにした場合は精度は3x3カーネル以下になるため、メリットはない。