ysaz (ImanazaS) blog

最近はデータ分析や機械学習が中心。たまに音楽や書評。

Deep LearningとGPU環境

ちょっと前からfast.aiの提供するディープラーニングのオンラインコース、「Practical Deep Learning For Coders」に取り組んでいる。

course.fast.ai

このコースでは定番の犬猫分類などを扱ったりするのだが、私は手持ちのMacBook Pro上でプログラムを走らせるために、オリジナルのデータからいくらか画像データを抽出した小規模なデータセットで課題に取り組んでいた。

しかしコースが進むにつれ、Kaggleの過去コンペで使われたデータセットを扱う課題が出てくるなど、CPUで処理していては何日かかるかわからないようなタスクに対処するため、GPU環境を利用してみることにした。

AWSGPUを動かす

そこで、fast.aiが推奨しているAWSAmazon Web Service)でGPUNVIDIA Tesla K80)が使用できるp2インスタンスをしばらく試してみることに。
MacBook ProのCPUに比べて圧倒的に早い処理速度を体感することができたが、気になるのはそのコスト。

課金は1時間あたり$0.90であり、しかも立ち上げる度に課金されてしまうため、うまくいかなくて短時間に何度も再起動を繰り返していると、その分コストが跳ね上がる。

インスタンスもさることながら、更に厄介なのがストレージであるEBS(Elastic Block Store)。
fast.aiのチュートリアルに沿っていくと128 GBのストレージが出来上がり、インスタンス動作の有無や保存データの量にかかわらず、ストレージの維持だけで月$12.8もかかってしまう。

結果、ちょこちょことAWS上で作業するだけで、軽く月$30〜$40は超えてしまう。趣味の延長で使うには、お財布にやさしくない。

FloydHubとの出会い

もっと安く、手軽にGPUを触る方法はないものかとあれこれ調べていたところ、FloydHubと呼ばれるDeep Learning専用のサービスを発見した。

Floyd Zero Setup Deep Learning

単価は1時間あたり$0.40とAWSの半分以下、ストレージも保存量に比例して課金されるということで、ライトユーズに適している。
さらに嬉しいことに、最初の100時間は無料で利用できるということで、気持ちに余裕がもてる。
良いサービスだと思うので、これからも大きなトラブルなく、安定的に稼働し続けてほしい。

FloydHubの使い方については、次回の記事で少しばかりまとめてみたい。