非GPU勢DL組

新ジャンルです。

 

以前よりfloodgateに幾つか放り込んであります。

AobaZeroの4スレ。

  

秒10ノードは相当つらいです。floodgateで平均20秒級と考えてもp200相当です。

AobaZeroの場合探索スレッドが4つになってそれぞれのモデルを担当CPUが演算することでこの程度に遅くなります。

比較的早い段階で対応を咎められてfrenzy_humanに4敗してますね。

学習時の欠点があってもp200程度では修正できないみたいです。

p800でも修正出来ていないそうでfrenzy_humanはp800にも勝たれています。

 

次に以下の群ですが,これらはdlshogiおよび二番絞りのモデルをFukauraOu(dlshogiクローン)のMKLビルドで走らせたものです。CPUビルドは全CPUを使ってしまうのでMKLで使用スレッドを絞っています。探索スレッド1,評価バッチサイズ1です。

dlshogi_wcsc31_4t

dlshogi_wcsc31_1t

nibanshibori_wcsc31_1t

 

最初に走らせたのはdlshogi_wcsc31_4tでした。旧世代の4コアのCPUで10ブロックのモデルが100nps程度出ます。10秒でp800を超えるのでAobaZero_p800や3300の技巧辺りとどうなるかを確認する感じで投入しました。

結果楽勝でしたね。

 

ということで,1スレッドしか使わないものを投入中です。

dlshogi_wcsc31_1tが50nps程度,nibanshibori_wcsc31_1tは11nps程度です。

二番絞りが同じ40ブロックのAobaZero_4t級ですね。

使用スレッド数の差がありますが,この辺りは演算の最適化の問題なのでOnnxruntimeかIntel-MKLが優秀なのでしょう。

 

floodgateの底辺レートが今は3000前後なんですよね。

この辺りを盛り上げて参ります。

人間も高段者なら偶に勝てたりするんでしょうか?

---

追記:

現在二番絞りが11nps程度でレート3000超を確認。秒10局面程度なら並の人間に近い数字と言われており結構驚異的な数字かと。

それよりも驚きが50nps程度のdlshogiが技巧に全勝ペースです。この技巧はRyzenの1スレと聞いてまして700knps程度だそうです。面白いのはこのレートより下のAobaZeroと互角でKristallweizenには負け越しって辺りでしょうか。

何か面白げな現象が起こっている可能性があります。

f:id:the48:20210513084022p:plain

 追記2:

撤退時の記録だけ残しておきます

f:id:the48:20210515090838p:plain

 

持ち時間の差?

先日の世界選手権でNNUE勢が上位を占めました。

GCTが電竜戦を制したところでDL勢の天下になるとの予想は覆されたことになりますが,この原因が持ち時間にあるとの話が選手権の中継中にありました。

他に原因を求めづらいからの仮説ですが,きちんと検証する必要があるでしょう。

 

問題を整理しておきます。

第1回電竜戦:2020年11月開催

持ち時間10分,2秒加算のフィッシャールール

コンピュータ将棋界初DL勢GCT優勝(マシンはA100 x8)

elmoおよび白ビール不在,W@nderERがi7でエントリー

ただし,BURNING_BRIDGES,みずうら王,GrampusなどがThreadripper 3990X

  

第31回世界選手権:2021年5月開催

持ち時間15分,5秒加算のフィッシャールール

NNUE勢elmo優勝(マシンは恐らくc5.metal,48コア96スレッド)

電竜戦で居なかったPAL,elmo,白ビール,Ryfamate,大将軍,Qugiyなどが決勝進出

電竜戦上位のGrampus,BURNING_BRIDGESが不在

 

ちなみに現行のfloodgateが持ち時間5分,10秒加算のフィッシャールールです。

こちらは大変ありがたいことにA100 x8のGCTやc5.metalのDaigorillaが投入されており参考になります。

選手権ではDaigorillaが上位でしたがfloodgateでは相当拮抗しております。

そして電竜戦ではGCTの圧勝でした。

 

f:id:the48:20210508083627p:plain

 

持ち時間は単純比較しづらいのですが昨今の平均値でざっくり180手で終局と仮定すれば,選手権1350秒,floodgate1200秒,電竜戦780秒となります。

二倍に満たない幅でこれだけの過渡現象がみられるのは非常に貴重なことかと思われます。

ちなみに表中の二番絞りは決勝で使う予定だったオプションBです。

 

また,floodgateを見る限り上位陣が以前のマシンスペックの差で殴り合うというより相性的なもので勝敗がつくケースも多くなっているように見受けられます。これも過渡期の現象でしょう。

 

持ち時間短い方がDL勢に優位なんでしょうか?持ち時間長い方がスケールするとか言う話がAlphaZeroの方でありましたが,矛盾しますね。

さて,これらの大きな要因はどこにあるでしょうか?

観戦される方は第2回電竜戦へのelmo,PALの参加が注目ポイントかと思います。

青野流再来(2021)

青野流と言えば現在横歩取り戦法が減った原因である先手の急戦策ですが,

個人的には第5回電王トーナメントでshotgunが勝ち上がった得意戦法でもあります。

当時は評価値を出しても互角なのに手が進むとどうしても先手が良くなるという蟻地獄のような仕掛けになっていました。

実際後手は丁寧に受けていれば長手数の将棋には出来るのですが当時のコンピュータや棋士でこれが出来るかと言えば相当困難なものでした。

 

その後棋士もコンピュータも後手で横歩を避けるようになりました。また,避けなくても相当定跡を準備して受けるなどの工夫が必須となりました。

 

時代は変わったのを今日感じました。(事後公開予定ですが2021年4月29日に書いています)

WCSC31に投入予定スペック(A100x16)の二番絞りが数秒で深さ55程度まで読んで横歩青野流へと手を進めました。探索が浅いと角換わり相掛かりに進むはずですし,後手が横歩へ誘導しても36飛と引く形が本シリーズ評価値の特徴だったはずです。

ハイスペックマシンの影響で探索が深くなった場合,青野流の方が評価値判断でも良いと結論付けたようです。これも計算機の能力向上のお陰です。

 

さて,選手権では横歩局面は出現するのでしょうか?

 

二次予選結果

リアルタイムで御覧になった方はもう分かっていると思います。

 

live4.computer-shogi.org

 

白ビール無敗の1位通過,二番絞り11位予選落ちでした。

 

決勝行くつもりだった二番絞りスタッフとして言い訳しておきます。

まず長時間の探索が生かせないって印象は40ブロックと大きなモデルを使ってるウチに限ってはありませんでした。

むしろ見たことが無いレベルでえげつないくらいです。

  

  

当日GCPインスタンスが立ち上がらないってオチでした。

リハーサルの半分で本戦を迎えるのはちょっと厳しいですね。

事前にシアトルに打診しておけばよかったかも。

floodgateに流れているのは予選用のモデルですが,決勝用のモデルは別に用意しておりました。そのうち供養としてfloodgateにでも流します。

  

白ビールの方はアレですね。

意外とやりますね。

floodgateでは吊るしのサンドバッグになってますが基本的に弱くはないんですかね。

 

一昨年の引き分けを気にして,前回のオンライン大会では全部勝つつもりで千日手を無理に避けたのが仇となりました。今回はその辺戻しています。

それからクラスタ構成は昨年と同じ。(一昨年とは違います)

あと小さいところで2,3味付けでしょうか。

 

昨日もそうですが,準備が全て。あとは祈るだけです。

 

画像

世界コンピュータ将棋選手権参加へのお誘い

www2.computer-shogi.org

 

明日開催です。

公式中継サイトも頑張ってくれているのでオンライン観戦も楽しめると思います。

また多くの参加者がリアルタイムで動画配信されるとの噂です。

私もどこかに顔出すかもしれません。

ということで余裕あれば複数接続して頂けると尚面白いかもしれません。

 

ところで,このタイミングですが未だ開発が終わっていない参加者がいるようです。

選手権への参加者はオンライン対戦が出来なければならないのですが,将棋所を用いるとUSIプロトコルと言うもので対戦練習出来ていれば問題ありません。

実装すべきものは以下です。

1.USIプロトコルのパーサ

2.受け取った局面での合法手生成

3.どの手を指すかの決断(これを世間ではAIと呼ぶ)

 

本来1,2は軽く終わらせて3が主題のはずの大会です。1と2は敢えて言うとどこかの実装を参考にコピーしても良いところです。

じゃ,どれを参考にってことなんですがスクラッチ勢初心者は以下をお勧めしておきます。

短いので飽きずに移植できると思います。短すぎて何してるか分からない人は丁寧に解釈してみましょう。

展開した方が高速化するとか気づいたら貴方には高速化の才能があるということです。

大変シンプルな実装なのでどの部分も少し改良するだけですぐに強くなります。

最初の強敵は将棋所同封のLesserKaiです。

 

 

Python勢は以前も紹介したpython-shogiか山岡さんのcshogi使いましょう。

AobaZeroが40ブロック移行だそうです

戦いは数だよ兄貴!」と或る方が仰ってました。

 

github.com

 

AobaZeroで遊ぼうシリーズを随分やって来ましたが初めて追われる立場になりました。

40ブロック移行に関してのみ私の方が若干先行していたわけです。

 

bleu48.hatenablog.com

 

調子に乗ってこいつを主軸に強化学習を進めてきましたがどうやら桁違いの計算機リソースを要求するようでほぼ学習が進んでおりません。

といってもうちで最強のモデルは40ブロックであることには変わり有りません。

 

で,AobaZeroが40ブロック化するのでそちらは大量の計算機を利用されるので今後はそっちの棋譜を流用する二番絞りになりそうです。

 

うちの方は40b_n013_RTX3070が40ブロック化して13番目のファイルですが,RTX3070を擁してfloodgate上レート4000ちょいといったところです。まぁ,この辺りになると高級スリッパことTR3990X勢にも一発入ることがあるのが楽しみですね。計算速度的には10ブロックの4倍,20ブロックの倍とほぼ比例しているくらいです。

RTX3070で6000nps付近です。

 

で,AobaZeroはどうでしょう。

GTX1060で確認してみました。20ブロックが1400npsで,40ブロックが700npsと丁度半分くらいですね。

他のGPUでのベンチマークは後程追記しようと思います。

 

ついでに気づいたのですがダウンロードファイルサイズはほぼ変わりません。展開したテキストファイルも二倍にはなっていないようで確認したところ有効数字が8桁から6桁に減らされている様子。ということで上記の計算速度から見てチャンネル数などは同じと考えて良さそうです。

 

公式のレート計測が1点だけありましたので確認したところ20ブロックに対して既に100程度の向上があるようです。今後に期待ですね。

もしかして選手権にも40ブロック投入なのでしょうか!?

 

www.yss-aya.com

探索制限入りMCTSの件

前回に続いて探索制限の話

 

bleu48.hatenablog.com

 

甘く考えておりました。

5b_007_1060がレート3600超えてました。

Player Statistics

これを基準に探索制限を800, 12800, 50000と三つやったのですが全部随分下です。

 

思ったよりも酷いことになる感じですね。

探索ノード制限は想像以上に終盤弱くなっているみたいで,特にレート3300の番人技巧にやられています。

 

加えて最弱としてポリシーのみのエンジンも投入しています。

これは最もポリシー精度が高い40ブロックにしてありますが,レート保持エンジンには全然勝てません。

AobaZeroのポリシーのみが2000台(山下さんのBBSより)ってのはうちの子より高精度ってことなんでしょうか?探索して5手詰見逃すエンジンが探索なしで詰ますのは偶然なんでしょうか。 

---

追記:

結局40ブロックのポリシーのみでは100戦以上やってもレートが付きませんでした。どこかで偶然回戦切れとかで1勝できればって感じでした。

やねさんも同意見でそのまま棋譜覚えた序盤は初段以上あるだろうけど中盤以降両取りは見えないし級位レベルだろうなとの話でした。 

やはり将棋の華は中終盤ですね。