nnue-pytorchのメモ

速報的意味合いが強いので完成度が低いまま公開しつつ更新する。

 

WCSC34優勝のたぬきチームのnnue-pytorchの動作テストである。

 

github.com

 

チームのアピール文。

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

 

python環境はWindows11のpython 3.11で試す。

近頃dockerやWSLなのだろうが、私はWindowsネイティブメインでまだやっている。

 

よくわからないので、まずは最新ブランチを採用

 

仮想環境も使わずライブラリをいれる。

pip install python-chess==0.31.4 pytorch-lightning torch matplotlib

 

pytorch-lightningは新しすぎるらしく1.9.0に入れなおす。

他にtensorboardXも要るらしいのでpipで入れておく。

 

教師データはこちらを使う

 

教師データをシャッフルして9:1に分けて学習開始。

GPU負荷がはいりlossが順調に減っているので学習されてそうである。

 

とりあえずここまで

実のところ以前も触っているので難なく動くが,python-chessをまだ要求しているなど荒削りの部分は全く改善していないようだ。

pytorch-lightningを含め新しいライブラリに対応させておくようなことも今後を考えると必須だろう。

あまり確認していないがstockfish界隈はその辺どうなっているんだろうか。

 

一晩して、学習はできたようだ。

可視化ツールなども動作していることを確認。

実際のエンジンで使えるかどうかということで試す。

 

nnue-pytorchは1024x2-8-96という実験treeを持ってきたことが判明。

エンジン本体は以下のtreeが1024x2-8-64なので、これの64を96にしてビルドしたものを用いる。

github.com

 

で、一応弱いがそこそこ将棋になっている棋譜が完成した。

プログラムとして一通り動作していることを確認したことになる。

 

ちなみに、たぬきチームの野田さんからは学習データとして自身がHugging Faceに公開しているHao depth9を勧められた。

これから試す人は是非使って頂きたい。

 

huggingface.co

 

ということで一旦完結。

 

---

追記:

上記の一晩学習したものを8コアのRyzenでfloodgateに放り込んでおいた。

暫定レートとして2700,相当弱いとされるものにも負けているがLesserKaiなどには圧勝する程度には学習されている。いくらnnue-pytorchの学習が速いと言ってもゼロから一晩じゃ全然ダメってことですね。

Player Statistics