プログラミングと絵と音楽

コンピューター科学を専攻し、絵と音楽を趣味とするエンジニアのブログです。

機械学習用のGPU環境を用意するのが難しい...

良いGPU環境をいろいろ探しています。

動かしたいもの

趣味で書いているリバーシAIプログラムがあります。

github.com

このAIに学習をさせようとしているのですが、これに手こずっています。

まだ最善手を見つけられていませんが、色々調べましたので、それらを列挙していきます。

選択肢

何個か選択肢があります。

GPUを使わない。

GPUを使わずにCPUで全部済ませてしまうという方法もあります。長所は動作環境が限定されず、私が使っているさくらVPSでも実行することができます。

短所は、当然ですが時間がかかりすぎてしまうことです。リバーシのAIを10万回学習させるだけでも、多少複雑なモデルを使えば1日半くらいかかってしまいました。数百万回の学習をさせたい場合は現実的ではありません。

Colaboratory を使う。

別の記事で Colaboratory を挙げました。Jupyter環境が使えます。Googleアカウントさえあれば無料で使えますし、GPUも使用可能ですから、簡単な機械学習にはうってつけだと思います。

しかし、ファイルを分割している場合は読み込みをさせるのが大変です。ドライブのマウントとシンボリックリンクを用いて無理やり複数ファイルを読み込ませました。

また、ランタイムがタイムアウトしたときにおかしな動作になります。学習中にタイムアウト → 勝手に再実行 → ブラウザごとフリーズが何回か起こりました。

クラウドコンピューティングを使う。

AWS の EC2 や GCP の GCE の選択肢も挙がると思います。時間課金なので、少々使う分ならPCを買ったりするよりも安く済む可能性が高いです。また、家に物が増えないのも長所になります。

ただ、短時間で割安なのと同時に、使用時間が長いと大金を請求される可能性もあります。インスタンスを止め忘れたり、不正アクセスされた場合のリスクが大きいです。個人の趣味でやるには敷居が高いかもしれません。

機械学習用PCを買う。

機械学習ができるPCを一度買ってしまえば、あとは電気代しかかかりません。計算資源の利用に制限がなく、自宅サーバーとして勉強用に使用することができます。

しかし、Webで調べたところ、機械学習ができるPCは結構高く、最初から機械学習ができるようにセットアップされた i7 (6core 12 thread), 64GB memory, RTX 2080 graphics でも、50万円以上かかるようです。(私のクレジットカードでは上限超えてしまいます。)自分でOSやドライバを設定すればもう少し安く(25万円程度)になるようですが、ドライバを設定するのは難しいようで、失敗すると画面がつかなくなったりする例もあるらしく、かなりリスクのある買い物になるでしょう。

最後に

未だ選択できていませんが、色々な選択肢はあります。 悩んでる間にもっと良い選択肢が出ることを期待します。