Google Colabプラン比較 (Kaggleコンペ用)
はじめに
kaggleのコンペ挑戦を始めてみました。
KaggleのCodeインスタンスではGPUの時間上限があるので、
GPUを手軽に使用できるGoogle Colaboratoryを使用できないか調べてみました。
※記載している情報に誤りがあることがあります。
もし情報の誤りを発見されましたら コメントなどで教えていただけますと助かります。
Google Colaboratoryのプラン比較
調べてみたところ、次のような構成のようです。
Colab |
Colab Free |
Colab Pro |
Colab Pro + |
K80(12GB) |
K80(12GB) , T4(16GB) and P100(16GB) |
K80(12GB) , T4(16GB) and P100(16GB) |
|
runtime |
12hr |
24hr |
24hr |
background |
× |
× |
〇 |
Session Timeout |
30min-90min(ばらつきあり) |
30min-90min(ばらつきあり) |
30min-90min(ばらつきあり) |
Mem(DRAM) |
16GB |
16GB(標準)/32GB(ハイメモリVM) |
16GB(標準)/52GB(ハイメモリVM) |
Disk |
107.77GB(CPU/TPU)/68.40GB(GPU) |
225.89GB(CPU/TPU)/147.15GB(GPU) |
?(調べて出てこなかった) |
Terminal |
× |
〇 |
〇 |
Cost |
Free |
月額1072円 ($9.99 USD) |
月額5243円 ($49.99 USD) |
参考にしたページ:
https://towardsdatascience.com/google-colab-pro-is-it-worth-49-99-c542770b8e56
https://webbigdata.jp/study/post-9927
https://upura.hatenablog.com/entry/2021/08/12/144546
考察
コンペにはColab Pro以上は最低限必要のようです。
Kaggleの画像コンペでは訓練/検証データが100GB前後である場合が多いので、Colab Free容量不足のため厳しいです。
・教示データ=127.45GB :https://www.kaggle.com/c/rsna-miccai-brain-tumor-radiogenomic-classification
・教示データ=98.27 GB : GLR2021 (https://www.kaggle.com/c/landmark-recognition-2021)
まとめ
繰り返しコンペにトライする場合、Google Colaboratory Proプランが良いようです。
コンペのsubmissionとコードの記録は履歴を残しておきたいので、次のような感じに使い分けるとよいかもです。
◆コンペ開始 (データ入出力やEDAの実施)
→ Kaggle Code
いろんな方のCodeをその場で実行して感触をつかみます。EDAの段階ではpandasやsklearnでのデータ可視化がメインのため、GPUは不要。
◆コンペ中盤 (モデル試作やハイパーパラメータ試行錯誤)
→ Google Colab Proで実施。githubやGoogleDriveに記録を残す。
◆Submission登録
→ Kaggle Code (Submissionとコードの履歴をセットで残すため)
参考情報
比較1: Kaggle Codeインスタンス
KaggleのCodeインスタンスは制約があるもののとても使いやすいですね。
<メリット>
・コンペデータをダウンロードする必要がない。
・KaggleのCodeに来歴をつけて残せる。Input/Outputも残せる。
<デメリット>
・20分でセッションが切れる。(openコマンドで対処可能かも?試していないです)
・1か月の利用時間上限がある(41hr/月)。
比較2: AWS EC2 (G4dn.xlarge)
低価格でインスタンスを用意できるAWSを使用した場合のコストを簡単に見積ってみました。
月10回(週2-3回)の頻度で12hr/回実行すると、g4dn.xlargeでは
10回/月x12hr/回x0.71USD/hr = 85.2 USD/月 (オンデマンド/東京リージョン)
スポットインスタンスを使用して、なんとかColab Pro+と同じぐらいのコスト。
<メリット>
自前で作成したカスタムAMIを使用できる。
インスタンスを停止させることで必要な時に簡単にインスタンスを起動できる。
<デメリット>
インスタンスを多重に起動するとコストはN倍化。
Colab Proプラン以上は同時に複数のNotebookを起動できるので、AWS EC2より得な気がします。
参考にしたページ:
https://aws.amazon.com/jp/ec2/instance-types/g4/
https://aws.amazon.com/jp/ec2/pricing/on-demand/