ニコ生のKristallweizenが辛過ぎる件

  

タイトル戦の評価値が早々に大きく出ているようです。

二日制のタイトル戦なのに初日に4桁の評価値を出して話題だそうです。

予備知識がない人向けに荒い目に説明しておきます。

 

1.うちのPCのKristallweizenより大きめ

ニコ生の中継だと大きめの評価を出すようです。

Kristallweizen自体はダウンロードできるので手元で確認された方も報告しておられますが,ニコ生の方が恐らくずっと深い局面まで探索しています。

そもそも探索とは1手先,2手先と読んでいくワケです。評価値とはその局面の評価値です。現在コンピュータ将棋で主流なのは荒い評価値だけど計算が軽いものを使う手法で,その分多くの局面を評価しようとするものです。1手先を読めば1手先で一番評価値の良いものを選びます。2手先を読めば相手にとって良い手,自分にとって良い手と選びます。3手の読みは将棋用語ですね。

そうして数手先の局面が評価できればこれを表示しているのが現在のニコ生の評価値です。徐々に探索を深くしていくので,最初は頻繁に値が動き徐々に落ち着くのが分かります。その評価値は当然数手先の局面の評価値です。

ニコ生の評価値は一般家庭のPCよりずっと性能の良いものを用いているため相当先の局面の評価値を表示しているってことで,御理解下さい。

御興味あれば1時間500円くらいでAWSを使えば似たような感覚をお試しいただけると思います。Hashは20GB以上を推奨しています。

 

2.以前の評価値を出していた電王ぽんぽこより大きめ

これは微妙なところです。そもそも,ぽんぽこが相当大きめに出ます。これは公開されているファイルですので手元にインストールして確かめて頂ければ分かります。

半分推測ですが,ぽんぽこの設定が甘くて本来の性能を出し切っていなかったためではないかと思っています。この推測をされている開発者も多いようです。

ということで,ぽんぽこはそれほど深く先を読めていなかった可能性があります。比較して現行のKristallweizenは相当読めているようです。

 

3.プロの感覚より大きめ

一度プロの方に読み筋を見て頂いた方が良いかもしれません。中継画面に表示されているのは数手ですが,実際の探索深さは25~30はゆうに超えています。その局面を見て大きく出ていると判断された場合はそうなのかもしれません。また,読み筋が違う場合も多いと思いますが仕方ないとしかコメントできません。解説者が解説できる深さではないと思いますので,余裕があるプロ(B級1組で最年少の方など)に是非遊んで頂きたいと思います。

 

4.俺の感覚より大きめ

御自宅のPCや過去のぽんぽこの指標に慣れた方は上記の理由です。

弱い方は参考値くらいに思ってください。私もこの類です。

数字ひとつ出されるより複数の未来を提示して欲しいと思っています。

また,プロより強い方は一度Kristallweizenと戯れて下さい。是非。

 

5.序盤で差がつき過ぎ

これに関しては評価関数の歴史を学んだ方が面白いかもしれません。キーワードだけ順に挙げておきます。Bonanza,NineDayFever,elmoと荒く3つ順にしておきます。

 

他に欲しいコメントがあれば遠慮なくどうぞ。

 

AobaZeroで遊ぼう3

bleu48.hatenablog.com

 

前回の続きです。

プレイアウト回数をパラメータに色々振ってレーティングを計測しておりました。400から上3200くらいまでをGPU担当,50をCPU担当と分けて同時に二つfloodgateに投げ込んでました。

 

Re: FloodgateのAobaZero命名則について | コンピュータ将棋や囲碁の掲示板 | 3515

Policyでの読み抜け | コンピュータ将棋や囲碁の掲示板 | 3518

ざっくり引用しますが,上記リンクに以下のようなコメントがありました。

「マルチスレッドの実装は開発版で実装している。CPU版だとスレッド数を増やせばほぼ比例して速度が上がるようになってます。」

 

ってことで,p50で流しているCPU版も4スレッドにすればp200くらいにはできそうです。

8スレッドだとp400ですね。16スレッドだとp800ですか。

レート表の空白を埋められそうですね。

 

ということで,この土日に開発版をビルドしてテストしておりました。

実際の計測だと高クロックの6コアと省電力の8コアでp400がぎりぎりfloodgateでtimeoutしないくらいじゃないかなって感じです。

また,行列計算部分の負荷が大きいためかハイパースレッディングはほぼ効きません。具体的には4コア8スレッドのCPUに4スレッドで流しても8スレッドで流してもnpsは似たようなものでした。2コア4スレッドだと気持ち4スレッドの方がnpsが大きかったかもしれませんが微差です。

高負荷でクロックが下がるモバイル機ではスレッド数が少ない方が良いことは言うまでもありません。ノートパソコンの人はコア数推奨です。

 

と言う感じでマルチスレッドCPUでのAobaZeroは投入したばかりです。

GPU版にどこまで迫れるでしょうか。

 

そのうち公式にリリースされると思いますがバイナリ必要なら御連絡下さい。

---

追記

AlphaZeroもそうであったように勝勢になってから緩手が多いようで,持将棋模様が増えている様子。

それで気づいたんですが,現状の対戦エンジンには宣言勝ちルーチン無いですね。

割と入玉しようとするので学習ルーチンでは評価してるんでしょうか。

 ---

更に追記

 ってことだそうで,対戦エンジンには宣言勝ちルーチンは無いそうです。当然探索中にも勝ち扱いしていないので入玉指向は単に学習時に得たポリシーネットの指し筋ですね。

探索時の宣言ルーチンは実装の検討頂けるようです。私は勝率上がると思ってます。

 

ところで,CPUのp200思ってたよりちょっと弱い気がするので疑ってみます。

 

AobaZeroで遊ぼう2

bleu48.hatenablog.com

  

割にすぐ続編です。

前回の記事のとおりp400を放り込みました。ついでにCPUの方がもう少し行けそうなのでp50まで上げて命名も改善しておきました。

p50でp400の8分の1ですね。(1/2)^3です。

前回倍にしたらレーティングが200とか雑な数字になってましたがちょっと精度があがって150前後かなぁって気がします。

 

f:id:the48:20190727134607p:plain

 

ところで,レーティング3349に1080二枚刺しでp30kってAobaZeroを名乗るものがありますね。2^5強のノード数で600近くレートが上がってる計算ですね。一件タイムアウトで負けてるのでもう少し上の評価でよさそうです。

こちらの低レート概算から大変雑ですが辻褄は合いそうです。

マルチGPUマルチスレッドの実装がされている本家の実験投入と推察されます。

 

wdoor.c.u-tokyo.ac.jp

特に1億ノードのKristallweizenに一発入れているのが何とも言えませんね。

ワクワクします。

 

ところで,マルチスレッドが実装されればCPUでp50のやつも4倍とか8倍とか行けそうですね。4コアのPCなら普段稼働していないものもあるので,p400くらいまではCPUでレート表埋められるかも。

 ---

追記

1050TiのゲーミングPCでdlshogi-wcsc29と一手5秒でやったところ4勝14敗

以前は完敗だったので結構強くなってきたんじゃないかな

dlshogiが時々時間越えてるのが気になる(切れ負けにはしてないけど)

AIの価値は

 

  

AI分野の一頂点を極めた人間としてコメントするとこれたぶん出来ても表に出ないと思われる。(謙遜するなと言われたので反動が若干出ています)

 

ボーカロイドは音域や歌唱力を補うものとしてウケてますが,あれをさらに自動生成の歌詞とメロディラインだと言われると聞く気もなんだか失せてしまいませんか。歌謡曲でも歌手の外見や背景などが重視されるのは言うまでもありません。

名曲も名画も作者が誰かってのが価値にすごく影響します。

 

食事もそうじゃないですかね。美味な炒飯が自動調理器って言われると少し萎えませんか。あそっか,炒飯ならいいけどコース料理とかなら猶更ね。

美味しい料理もすぐに手に入る食材で誰でも簡単に作れるって聞くとなんだか有り難味が減る気がします。

なんか誰かが手間暇かけて作った感があるってのがちょっとした調味料かと思います。

 

ってことで,AIの成果であってもAIがやったと公表しない方がウケることは多いので出ないことは多くあると思いますよ。

古くはゴーストライターであったり,高級ホテルのデザートであったり,歌謡曲であったり,名画であったり,作者を偽装した方が高値になる場合は結構アレですよね。

 

加えて著作権や知的財産モノだと権利的にも・・・ですね。

完全でなくても業務をアシストするようなツールは既にありますし程度問題かな。

 

 

ついでにネタにすると,近頃車の燃費がいいじゃないですか。

アレ内燃機関の専門家として高圧縮ガソリンエンジンの普及に寄与したと思ってて,俺0.1%くらいは貢献したかなぁ経済効果千億オーダーよねぇって思ってましたが,それだけでもないようです。

実は,論外にアクセルワークが悪い人が多いのを電子制御で多分に調整しているって要素が総論的には大きいらしいです。今の車踏んでも加速悪いとか思ってる人は無駄なガソリンを使ってたってことですよ。逆に燃費よくなるって聞いてて車を乗り換えたのに改善が無い人はそれ以前からエコな運転ができているってことですね。

まぁ,アクセルだと比較で気づきにくいですが,ハンドルとかもAIで制御されてます。

街中では軽く切れるハンドルが,高速道路やバイパスでは重くありませんか?

走行速度に合わせて制御しております。近頃そういうものです。

昔を知らない人がいたらパワステ切って運転してみて下さい。(切れない車多いだろうなぁ)

 

AIと言うレベルじゃない簡単な自動化など含めると誰の手柄と言わないで普及しているものも多いのですよ。

---

追記しとく

musica-terra.com

AobaZeroで遊ぼう

f:id:the48:20190722123329p:plain

出張中のマシンが空くのでfloodgateにaobazeroを投入して以下の実験をしておりました。

レーティング表の通り学習が頭打ちに近いことが前提です。

AobaZero_w626_n_p1600ってのが,命名そのままですがオリジナルの二倍考えるってやつです。レーティングが200ほど上になってますので,二倍考えると200くらい上がるってのがαβ法と同じくMCTSでも求まったんじゃないかなってことです。

AZ_CPUってのも入れておきました。本当はp400って半分のを入れたかったのですがGPU搭載マシンがふたつ無かったので勘弁してください。CPUだとデフォルトのp30です。p800に対して16分の1と32分の1の間くらいですね。800~1000下回る位置に居ればいいのですが,この層は対戦相手が少ないので数値は荒く信頼性は低いと思っておきます。ちなみに評価関数はw640でした。

 

ということで次にp400の実験を開始します。

---

先日任意局面を探索できるようにsfen対応をしてみたのだが,dコマンドで局面は読まれているのに探索開始すると落ちる状況。何か初期化抜けのようなものがあるんだろうか?

もちろん実装出来れば評価エンジンとして使えることになる。

まぐれの話

  

昨年今年の選手権ではなく一昨年の電王トーナメントに近い状況の分析です。

仮説に仮説を重ねて,憶測でパラメータを決めて実装していたものが,本人が思っていたより有効に働いていたっていうのが実態だったようです。2年前の電王トーナメント直後にも記載したように相手のPonderが働かない状況を作り出すことは相当有効です。

職業柄裏付けの取れていないものに「想定通り」とか「自信があります」とか言いづらいもので「まぐれです」とコメントしたのですが,当日の懇親会でもニコ生とかは少々プロレスをやってくれないと盛り上がらないと指摘を受けたものです。

色々と仮説や野望を盛り込んだ発表をしてきたのですが,過激な仮説や目論見でも異論を挟まれることは無かったので諸先輩方と問題意識の共通部分が大きいということも分かりました。さらにもうひとつ踏み込んでおかないと電王トーナメント版のshotgunの実力評価は終わらないってことも分かりました。

 

札幌で少し時間があったので山岡さんの囲碁の本もちょっと立ち読みできたので買おうかと思います。大きな書店がある都会はいいですね。そいや,新しい激指も買おうかなぁ。

ニコ生の評価値の話

先月末の叡王戦開幕からKristallweizen(初回のみクリスタルワイゼン)がニコ生の評価値として使われております。

世界選手権準優勝としてドワンゴ社から協力依頼を受けたもので専用のファイルを作成しお渡ししました。

以下は棋聖戦でのシーン。若干ソフト名がはみ出てるのが分かると思います。

 

ドワンゴ社からデザイン的に略称でどうかと打診があったのですが,できれば入れて下さいとお願いしてこんな感じになったようです。狸王だと余白だらけになってますね。

 

f:id:the48:20190704135856p:plain

 

shotgunの頃からお願いしているMulti Ponderの可視化は保留から不採用になりました。暇が出来たら適当に可視化したいと思ってます。(GUI得意な方が協力頂ければ早期実現かなぁとか)