N150の件その3

前回に続きシリーズ化しそうな雑記である。

bleu48.hatenablog.com

 

 

nn14を放り込んでおいたが思いの外レートが低い。

nn14とは昨年公開したnnue-pytorch習作と言えるものである。

 

bleu48.hatenablog.com

 

好評だったTSEC5での実機はi9-13900Kである。後述するが偶然と言うかここが意外にミソだった。

nnue-pytorchはwcsc34優勝のアピール文にもある通り,将棋界からチェス界に広がったNNUEがStockfishチーム内で揉まれて発展したものを再度将棋界に戻した学習ルーチンである。

https://www.apply.computer-shogi.org/wcsc34/appeal/Hey,_you_wanna_be_a_CSA_member/appeal.pdf

 

Stockfishチーム内の意図は知らないが同時にネットワーク構造の改造文化も導入されることになった。特に一層目の拡大がモデル精度に効いたとされている。

習作であるnn14も一層目サイズをオリジナルの256から1024へ4倍化してある。

ところが,今回N150では性能が出ないことが確認された。(まぁ速度が出ないことはベンチマークで確認済みなのでその時点で薄々分かっていたことだ)

 

まだ断定は避けておくが恐らくL1データキャッシュサイズかキャッシュアルゴリズムに起因すると思われる。

インテルCPUではSkylake含めその焼き直しであるComet LakeくらいまでL1データキャッシュサイズが32kBである。モバイルでは10世代と言われるIce Lake,デスクトップでは11世代と言われるRocket Lakeからが48kBとなっている。当然13世代の上記i9-13900KのPコアは48kBである。

Pコアと言った。そうEコアは32kBなのだ。つまりN150も。

 

と言うことでnn14は新しい世代なら性能が出るが古い世代では性能が出ない。N150のL1キャッシュ設計も古いので性能が出ないという仕組みである。

 

ふと気づくことがある。インテルがEコアの性能比較表現をする際に散々Skylake比であったことを

Skylake比40%の省電力であるなどとアピールしていたが,これはもしかしたらこの辺りがポイントかもしれない。新しいものと比較した場合はキャッシュ設計などで逆転される要素があったものと邪推する。

 

ところで,L1データキャッシュサイズについてAMDの方はというとZen4とZen5の間で容量が拡大されている。つまりZen4まで32kBである。とはいってもキャッシュアルゴリズムなどの設計が異なるのか単純な比較はできない。

個人的にはZen4とZen5の差は思っていたよりも小さい印象であるが扱うソフトウェアにも依りそうだ。詳細を確認しておいた方がいいかもしれない。

 

ーーー

追伸:

将棋界では意外にもPCがネットに繋がっていなかったり,意外と古いPCが現役だったりするのでKristallweizenが長生きしそうな気がします。

逆の表現をすると日本将棋連盟モバイルで評価関数を差し替えてた際に同ハードウェアで比較検討したかどうか気になります。