WCSC31までにやってきたことその2

ぐだぐだになった前回記事の続きです。

AWS EC2のGPUインスタンスを使う際の教訓

まとまらないので箇条書きで。

来年もAWSでいくなら、定期的に課金してオンデマンドインスタンスを随時起動できるように。一応「予約」という機能もありましたが、それはインスタンスを起動しっぱなしにするのと同じ金額がかかるようです。

Windows使うならディスクは大きめに。Linuxでもそうだと思いますが。デフォが30GBですが、それだとNVIDIAのドライバ類を入れるのにも足りません。正確には、インストールの最終盤で空き容量が足りないとかいやらしいタイミングでひっかかる原因になります。

ドライバ類のバージョンは、大は小を兼ねない。EC2に限った話ではないし、当然と言えば当然ですが。dlshogiやふかうら王(やねうら王のDL対応版)にはCUDA等をインストールする必要があり、指定されたバージョンより新しいものを入れても動きません。私はJavaとかRubyとかを仕事でやっていて、そういう系統だとメジャーバージョンさえ一致してれば普通に動く感覚だったので、甘く見ていました。

当然、正しいバージョンをインストールし直すとか、自分でビルドすれば解決できるわけですが、空きディスク容量がないので違うバージョンをダウンロードすることすらできません。ディスクを追加するにはインスタンスをいったん止める必要があり、止めると次に起動できるかどうかわからなくなります。4月下旬にこんな顛末だったのでDLの導入は断念しました。正確には、任意のタイミングで起動できないことが判明した時点で、プランBとしてNNUE向けのインスタンスも同じようなことにならないか確認しました。(そちらは、予約が必要とかは当然なしでした。)

V100を8枚差しという環境で、上記のような情けないごたごたを都合3時間やり、$109ほどの請求になりました。まさに勉強代という感じです。普通なら小さい環境でインストール等は済ませて、そのイメージで大きい環境を起動するのが筋でしょうが、GPU環境でもそれいけるのかなというのがありました。

今年はディープラーニング勢の方5人と当たりました。開発者の方とお話して実感したのは、EC2とかではなく手元や会社につよい実機があるとつよいなと思いました。普段から気軽に使えるのと、私のようにだらだら先送りしてしまうのでは全然違います。勉強のためにGPU買うのは当然ありなのですが、今は時期がホントに悪くて困ります。

振り飛車の手応え

ディープラーニングだと、NNUEよりもさらに振り飛車を評価しない(評価値が低い)傾向なようですが、一発勝負であればまだ分からないという感想です。私が苦労しているとおり、振り飛車を学習させるのは居飛車だけよりも手間がかかるので、ほとんどの開発者の方はわざわざ振り飛車も学習させよう、とはなりにくいです。振り飛車の学習をしたところで、ほとんど相居飛車になるコンピュータ将棋界で勝率が上がるとは考えにくいので。

そのため、こちらが振り飛車にちゃんと特化できれば、相居飛車に特化しているソフトの隙を突くことは不可能ではないと思っています。

ただし、ディープラーニングについては技術的に改善の余地(モデル、学習手法、探索の効率化等)がたくさんありそうで、そういった部分でブレークスルーができれば戦型とか関係なく強いというか、その部分のウエイトが高い戦いになると思います。

その意味では今からディープラーニングでコンピュータ将棋を始めてみるのはおススメです。たださっきも書いた通り仮想通貨の影響でGPUの値段が暴騰しているのがホント困りますね。

WCSC31のふりかえりは以上です。ありがとうございました。


この記事が気に入ったらサポートをしてみませんか?