端の知識の備忘録

技術メモになりきれない、なにものか達の供養先

Google Colab Proで使えるGPU, TPUの現状(20220410)

まとめ

(2022/10/21追記) Google Colab ProのGPU割当の仕様は大きく変わりました。従って下の記述はほぼ無意味です。

未だにV100とA100が自由に選択できないガチャ要素はあるようですが、基本的にはトークン制で使いたいGPUを選べるようになったそう。次の記事が詳しいのでこっち読みましょう。

atmarkit.itmedia.co.jp

GPU・TPUガチャの結果に関してはあくまで自分が確認した限りでの情報になりますので、参考程度に見てください

  • 2022年4月現在、Google Colab無料版ではGPUはK80か偶にT4しか引けなかったし、TPUは一度たりとも使えなかった
  • 2022年4月現在、Google Colab ProではGPUはP100がほとんどでたまにT4という感じ。TPUは今のところ100%v2しか使えないものの、割当されないことはなかった。本当はv3使いたいんだけども一度もお目にかかれていません。
    • また、Colabをつかうのであれば気になるところである切断の頻度ですが、TPU v2割当時でも12時間以内の使用であれば意図しない切断は一度も起きていません

欲を言うならGPUならV100、TPUもV3を使いたいところであるが、Colab Proでは今のところ一度も割当されません。月5000円のColab Pro+ を契約しろということでしょう。

とはいえ約月1000円という価格を考えれば、P100やTPU v2が自由に使えるというだけでも十二分です。特にKaggleの大規模なデータセットを扱ってTPUのデカいメモリの有難みを思い知りました。最近はGPUは使わずTPU v2を1日中使ってモデルを改良してます。

ここから先はダラダラとしたGoogle Colabを使い始めた経緯を書いているだけなので、興味のある人だけどうぞ。

いきさつ

最近データサイエンスの勉強の腕試しということで、Kaggleを始めた。

参加中のコンペはSorghum -100 Cultivar Identification - FGVC 9というやつで、草の画像を100種の品種のうちどれだか当てられるモデルを作るというもの。

レーニングとテストそれぞれ1024x1024の解像度の画像が22000枚程度あり、これを使って学習アンド評価を行うわけである。

最初のトライということで、なるべくデータがシンプルなものがいいなと思って、画像から品種の分類というシンプル極まりないタスクであるこいつをデビュー戦に選んだ。

まだ1ヶ月ほど時間があるのですが、順位は最高5位/90チームくらいまで上がり現在は10位/115チーム。うまく行けばブロンズくらいは取れるかも?と思って日夜モデルの改善に励んでおります。

このコンペは画像サイズがデカく枚数も多いので、なかなか学習に苦労する。今自宅で使える計算リソースはメインのデスクトップ(Ryzen5 5600x + RX6900XT)と過去紹介したこともあるお手製AIサーバー(i5 6400 + K40)で、最初の方はMobilenetみたいな軽めのCNNの転移学習でベースラインを作っていたのでなんとかなっていたが、結局今メインで育てているEfficientNetV2みたいな最近のデカ目のモデルを詰めていく段になると、CPUやK40じゃどうにも時間がかかりすぎる。

https://hashicco.hatenablog.com/entry/2020/05/30/002945

ということで、途中からKaggleのノートブックに実行環境を移しGPU(ほとんどP100)や、少しコードに手を加えてTPU対応してTPUv3を使ってモデル構築に取り組み始めました。

ただ、KaggleのGPU,TPUにはクオータ(週制限)があり、それぞれ週20時間、週40時間しか使えない。大体週の前半で使い切ってしまうのでこれだと困る。

そんな計算環境難民の脱出先として有名なのはGoogle Colabでしょう。基本無料で使える上、太っ腹にもGPUとTPUまで使わせてくれるというのであるから使わない手はない。

で、久々に無料版Google Colabを使ってみたところ、いくらガチャしようとも全然まともなGPUを掴めない!TPUに至っては掴めすらしない! もう2022年だというのにK80かよくてもT4しか使えないとなるとKaggleでは戦えない。

こういう経緯でしゃーなしにGoogle Colab Proに登録して1ヶ月くらい使ってみましたので、実際使えるリソースや切断頻度の現状を記しておきます。可能であれば随時更新していきます。