Google Colaboratoryの有料版(Colab Pro+、以下Colabと呼称する)を普段から使っているのですが、リソースの限界を感じることが度々あり、さらに拡張性のあるGoogle CloudのColab Enterpriseを試しに使ってみました。
コスト面や使用感などの面から比較をしようと思います。
結論から言うと、Colabで済むならColabを使ったほうが安上がりだし、使い勝手も良いように思いました。
Colab Pro+で感じている限界について
なんといっても使えるGPUの選択肢が少なく、大規模な機械学習モデルの学習はなかなか難しい印象です。使えるGPUの個数も種類を問わずに1個だけなので、並列学習を行うことはできません。
また、プライベートで使うときには対して問題にならないかもしれないですが、業務で使う場合などには機密情報の保存する場所の制約などがあるとColabの使用は躊躇してしまいます。Colabで使うデータは基本的にはGoogle Driveにマウントするしかないからです。
Colab Enterpriseの拡張性について
まずGPUについてですが、これは好きに拡張することができます。もちろんCPUのマシンタイプも自由に選べますし、その他のディスクタイプも好きなようにカスタマイズすることができます。
また、保存するデータの格納場所に関しても、自身で構築したセキュアな場所を指定することが可能なため、より制約の厳しい場合でも対応可能です。
ColabとColab Enterpriseの比較
コスト面
GPUのNVIDIA T4を1時間使う場合を考えます。
GPUのマシンタイプ以外の要素はデフォルトの値を使います。
Colab
Colabの課金では100ユニットあたり1,179円かかり、GPUのNVIDIA T4を使うと1時間あたり1.44ユニット消費されます。したがって約17円/h程度のコストとなります。
なお、ColabではT4を使うときに「ハイメモリ」の選択肢がありますが、この場合は「ハイメモリ」は使っていません。
このとき、システムRAM:12.7GB、GPU RAM:15.0GB、ディスク235.7GBです。
Colab Enterprise
us-central1(アイオワ)リージョンでNVIDIA T4を使い1時間接続しました。その結果、実測値として46円かかりました。最初に接続したりするところなどで手間取ったためあまり正確ではない部分はあるかもしれないですが、約46円/hです。
このとき、システムRAM:15.6GB、GPU RAM:15.0GB、ディスク100GBです。
以上から総合的にみて、Colab Enterpriseのほうが安く使えることが分かります。
使用感
Colabのほうがかなり使いやすく感じます。
先ほどのコスト面での比較のときにus-central1(アイオワ)リージョンを使っていたのは、asia-northeast1(東京)リージョンやリーズナブルで有名なasia-east1(台湾)リージョンが使えなかったからです。どうやらこれらのリージョンのT4は人気すぎて供給が間に合っていないようです。このようにGPUの手配ができるかどうかを試すのに、一つのリージョンあたりで大体1分くらいかかる印象なので、なかなかすんなり始めることができずにストレスを感じました。
ちなみにColabの方でも、A100のGPUは人気なためにたまに接続ができないことがありますが、何回かトライすればすぐに手配ができる印象です。
また、どれくらいのリソースが使われたのかの反映もColabのほうが早くコスト管理のしやすさも感じました。Colab Enterpriseだと使用したコストの反映が数時間くらいかかる印象でした。
結論
どうしてもColabではできないことに関してはやむなくColab Enterpriseを使い、それ以外のことではColabを使おう。