速報的意味合いが強いので完成度が低いまま公開しつつ更新する。
WCSC34優勝のたぬきチームのnnue-pytorchの動作テストである。
チームのアピール文。
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で入れておく。
教師データはこちらを使う
【水匠学習データ公開】
— たややん⚖🔮将棋AI水匠(電竜) (@tayayan_ts) 2022年7月30日
水匠4T1手200万ノード固定で指した対局生kifファイル及びPSVファイルを公開します!110万棋譜(1億5000万局面)あります!1日100棋譜ペースだと30年間棋譜並べできます!ご活用ください。
kifファイル:https://t.co/UgPh3cPymJ
PSVファイル:https://t.co/JMnYYeSh2g
教師データをシャッフルして9:1に分けて学習開始。
GPU負荷がはいりlossが順調に減っているので学習されてそうである。
とりあえずここまで
実のところ以前も触っているので難なく動くが,python-chessをまだ要求しているなど荒削りの部分は全く改善していないようだ。
pytorch-lightningを含め新しいライブラリに対応させておくようなことも今後を考えると必須だろう。
あまり確認していないがstockfish界隈はその辺どうなっているんだろうか。
一晩して、学習はできたようだ。
可視化ツールなども動作していることを確認。
実際のエンジンで使えるかどうかということで試す。
nnue-pytorchは1024x2-8-96という実験treeを持ってきたことが判明。
エンジン本体は以下のtreeが1024x2-8-64なので、これの64を96にしてビルドしたものを用いる。
で、一応弱いがそこそこ将棋になっている棋譜が完成した。
プログラムとして一通り動作していることを確認したことになる。
ちなみに、たぬきチームの野田さんからは学習データとして自身がHugging Faceに公開しているHao depth9を勧められた。
これから試す人は是非使って頂きたい。
ということで一旦完結。