(ちゃんと検証してQiitaに載せようと思っていたネタですが、まともな検証ができなかったのでこっちのブログに載せます)
google colaboratoryのpro版が日本でも契約できるようになりましたね。
(なんか最近5000円払うとpro+にアップデートできるみたい・・・)
別に手元にGPUを積んだ機械学習バリバリこなせるPCがあるよって人は興味ないと思いますが、自分みたいにノートPCしか使える環境にない人は結構魅力的なサービスだと思ってます。
AWSとかAzureでvmを借りれば、わざわざGPUがなくても機械学習できますが、GPUが載ったvmを時間借りすると普通に数日学習を回しただけでも数千円とかかかってしまい、一方定額でGPUのある環境を使用できるgoogle colabはそれだけで魅力的に感じてしまいます。
ただ、課金せずに割り当てられるのはK80。一昔というか二昔前のGPUという感じで、メモリーは12GBあるのでそこそこ重いモデルも動きますが、計算速度はGTX 1080の方がまだマシなのではないでしょうか。
と、言っても僕がクラウドサービスからvmを借りるときはk80が載ったインスタンスなので贅沢言うな!という感じですが、1000円出せばp100が載ったvmがコンスタントに使えるようになるのです。そうなると、課金したくなりますよね。
ということで、google colaboratoryのpro版を契約して一か月間使ってみて、実際pro版はどうだったのかをまとめてみたいと思います。
GPUはP100は絶対使える。たまにV100も当たる
とりあえず、現時点(2021年8月)では確実にP100を使用することができます。K80に当たったことはないです。さらに言うとT4にもあったことないです。
で、公式にも書いてませんがV100もたまにあたります。いままで自分が確認しただけでも3回ありました。
残念ながらそういう時に限って大して計算リソースを使用するプログラムを実行しないので恩恵は受けれてませんが、100万円近くしたGPUを月1000円で使用できるのはすごいですよね・・・。
業務用GPUのteslaと一般向けのGeForceでは単純な性能の比較はできませんが、例えばCNNの学習に必要な時間を比較すると、P100が1080 ti以上、V100が3090並みの性能が出るようですね。
K80よりいいGPUもつかってみたいなぁというモチベーションだったのですがこれはうれしいですね。
V100が当たるのはしばらく使ってなかったときの一番最初の接続のみ
Nが3なので何とも言えませんが、一つの思ったことはV100が当たるのはしばらく(一週間)つかってなく、久々に接続したときの最初に割り当てられたvmだということです。
で、一回接続が切れるとP100に戻ってしまいます。
さらに、その後何度接続しなおしてもV100が当たることはないんですよね。
一回検証しようとして何回も再起動を繰り返したのですが、20回P100続いた時点で止めました(本当は何%でV100を引けるのか検証したかった)。
となると、最初に引いたV100を大事に使うのがよさそうです。逆にいいGPUを引きたいからって何度も接続しなおしても無駄。
なんか、google colaboratory pro+版なるものもある
この記事をかくために公式の仕様を見ていたら、pro+版なるものが用意されていることにきづきました。プラス版ってなにがプラスされているのでしょうか?
こちらは
- バックグラウンド実行
- さらに高性能なGPU
- メモリが増加
- 長時間のランタイム
が売りだそうで、多分確約できないのでこういう柔っとした言い方になっているのだと思いますが、もしかするとpro版からプラス版にすればV100が普通に使えるようになるのかもしれまん。
そうなると、逆にpro版ではV100が当たることはなくなってしまうのかもしれませんね。
ただ、月額5,243円でちょっと自分の今の用途ではわりに合わないなと思いました。
というのも、ちょっとした技術調査くらいでしかgoogle colabを使わないし、時間がある時しかディープラーニングしない自分は常に月額使用料を払い続けるのはちょっとなと感じました。
ジムを契約したけど、そんなジム行かなかった的な感じです。
まぁ1,000円なら年間一万円ちょっとなのでそれでもかなり安い気がしますが、5000円となると日常的に深層学習する人しかわりに合わないのではと思いました。まぁ、colabはローカルのPCやクラウド上のvmのように使い勝手がいいわけではないし、だったらGPUマシンを組んでしまったほうがいい気がします(それでもクラウドの課金代とかローカルPCの電気代とか騒音とか維持コストを考えたらcolabにもメリットある)。
今後やりたいこと
お金がないので1000円のpro版を使い倒してやろうと思っているのですが、やっぱりVMの状態が接続が切れるとまっさらになるのがきついです。
driveをマウントする方法もありますが、i/oが遅くていちいち読み書きしていると遅くてしょうがないです。
ということで、クラウド上のストレージをcolabのvmにマウントさせられないか考えてみようと思います。そしたら結構使い勝手が良くなるかと・・・
それでは。