1.Google Colab Proが日本から利用可能にまとめ
・Colab Pro版がオススメかどうかというと「その人の使い方次第」
・Colab Free版で支障を感じていない人は無理にColab Pro版にする必要はない
・Colab Free版では実現できない事が増えてきたらPro版を試す価値はある
2.Colabの無料版と有料版の違い
Google Colaboratoryはブラウザから機械学習/人工知能を動かせる無料のウェブアプリです。機械学習や人工知能を勉強してみたいと考えている初心者/入門者の方にオススメです。
無料で利用できるにも関わらずGPUやTPUが利用可能で、何のセットアップもせずともに即ブラウザから動かせると言う事がものすごく有り難い事です。(GPUを自分でセットアップする事に興味がある方はWindowsの事例とLinuxの事例を読んでみてください)
無料版でも十分便利なのですが、アメリカやカナダでは使い勝手が向上した有料のColab Pro版が公開されており、日本でも「Pro版もご検討ください!」としっかりとした日本語でオススメしてくる割に実際に申し込むと「予期しないエラーが発生しました」とエラーになる状態で申し込めずに長らく放置されていました。
しかし、そのGoogle Colaboratoryの有料版であるGoogle Colab Proがようやく日本でも正式サービスが開始されて利用可能になったので、早速申し込んでみました。
2021年8月更新)Colab Pro+というColab Proの更に上位版がいつの間にか申し込み可能になっている事が確認されています。価格は月額$49.99(\5,243円/月)です。基本的にColab Pro+の方がColab Proより更にスペックの高いGPUやマシン、多くのメモリが割り当てられるとの事ですが、最大の特徴はブラウザを閉じてもバックグラウンドで引き続き実行が可能と言う事です。しかし、同時に実行可能なセッションは1つに制限されているようです。(以前はColab Proは同時に複数セッションを走らせる事が可能だったのですが、Colab Pro+のリリースと同時にColab Proも同時に実行可能なセッションが1つに制限された模様です)
Colab Pro版の価格
2021年4月時点の価格は\1,072/月の月額課金(サブスクリプション)サービスです。
以下のように請求書には価格¥1,072、税¥0と書いてありますが、海外からの直接購入扱いになるので消費税はかからないそうです。クレジットカードのご利用店名及び商品名はGOOGLE*COLAB(SINGAPORE)となっています。
前述のようにColabの料金は変更されています。
Colab Pro版の申し込み方法
「https://colab.research.google.com/signup」から申し込むか、もしくはColabを立ち上げて、上段メニューの「ツール」→「設定」→「Colab Pro」からボタン1つで簡単にアップグレード可能です。解約も同ページから可能。以下は購入後の画面です。
Colab Proの歴史
2020年2月8日
アメリカでサービス開始
~当初は裏技を使えば日本からも利用できた模様~
2020年7月
Colab Proのディスクサイズが倍増
2020年10月6日
カナダでサービス開始
~Pro版を薦めて来るが実際には申し込めない時代~
2020年12月
Colab ProでTerminal(コマンドライン、CMD)が利用可能に
2021年3月26日
ブラジル、フランス、ドイツ、インド、日本、タイ、イギリスで正式サービス開始
2021年8月
Colab Proの上位版であるColab Pro+がひっそり申し込み可能に
Google Colaboratoryの2021年の進化はこちらにまとめてあります
2022年9月
Pay As You Goとして有料版の価格体系が実質従量課金に変更
Colab Proの利点
公式ドキュメントがColab Proの利点として挙げているのは以下です。
(1)Colab Free版よりColab Pro版の方が性能が良いGPUが優先的に割り当てられる
例えばFree版がK80(12GB)とするとPro版はT4(16GB)やP100(16GB)のGPUが割り当てられるとの事。
各GPUの性能比較に関しては以下の記事をご覧ください。
GCP上で大きなモデルを動かした際のGPUの性能比較
私の現在の使い方ですとGPUの速度差はそんなに大きく感じたことはありません。ただし、大きなモデルではGPUに搭載されているメモリ量が少ないと動かせないケースが出てくる場合があります。追記)捕捉に書きましたがV100の上位版を引く事があります。前言撤回しますが画像系の処理は圧倒的に速かったです。
(2)Colab Free版よりColab Pro版の方がより多くのメモリ搭載されたマシンが優先的に割り当てられる
Free版でもPro版と同等の本体メモリ(25GB)を搭載されたマシンが割り当てられる事はありますが、Free版を使いすぎたり、混雑している場合は本体メモリが半減(12GB)したマシンが割り当てられる事があります。
これもマシン本体のメモリが気になってくるのは大きなモデルを動かす場合であるのと、大きなモデルは25GBでも足りなくなるケースがあるのでそんなに魅力的には感じてませんでした。
(3)Colab Free版は12時間経過すると問答無用で一時切断されるがColab Pro版は24時間まで連続使用できる
Colabは計算を実行している途中でも切断されてしまう事があるのですが、運よく切断されなくてもFree版は12時間以上は連続稼働できませんでした。Colab Pro版は最大で24時間まで連続稼働できるのと計算途中の切断割合がFree版より低いとのお話です。
個人的には数日に渡って連続稼働が必要な学習は自宅PCでやっているので、そんなに魅力を感じてなかったのですが、最近、暖かくなってきたじゃないですか?
GPU搭載マシンが稼働しっぱなしの部屋の温度は明らかに高くなる事を肌で実感し、空調も計算に入れると夏はやっぱり電気代が予想以上になりそうなので、Colab Pro版で24時間毎にチェックポイントを保存して保存したチェックポイントを自宅PCで確認する感じのルーチンが確立出来たらな、と思って契約してみました。
Colab無料版のスペック例
Colab Pro版のスペック例
あれ?Colab Proなのにメモリ搭載量が少ない!?と思ったのですが、Colab Proは「ノートブックの設定」からランタイムの仕様を「ハイメモリ」に選択できます。
ハイメモリタイプにすると以下のように25.51GBメモリのランタイムに接続できます。
その他、2021年4月時点のColab Pro限定のメリットは
(4)Colab Free版(68.40GB or 100GB)に比べてディスクサイズが2倍(147.15GB or 225.89GB)
具体的なディスクサイズは起動時毎に異なっているようで「なんか今回多いな?」と感じる事があります。上記のカッコ内のサイズは私が出会った事があるサイズで確約されたサイズというわけではないです。
嬉しい事は嬉しいですが、Colab内のデータはFree版でもPro版でもランタイムがリセットされると消えてしまうので、永続的な保管場所はマウント可能なGoogleドライブの無料枠15Gになるので、本格的に使いだすと15GBでは足りなくなり、Google Oneの100GB/月額250円か200GB/月額380円がおそらく必要になります。ちなみにGoogle Oneの100GBは契約すると最大容量が100GBになります。115GBになると思っていたので残念です。厳密には有料契約で増えるのは85GBです。ファイルのコピーに非常に時間がかかるなど使い勝手もイマイチな部分もあるので場合によっては他のストレージサービスを使う事も検討の余地があるかもしれません。
(5)ブラウザ上から実行できるTerminal(コマンドライン)が利用可能
地味に便利と思います。無料版でも疑似的なコマンドラインは実行できたのですが、プロ版のコマンドラインはColabが実行中でも別ウインドウからコマンドをバリバリ実行できるので実質、1000円でGPU付きのレンタルサーバー(Ubuntu系)が使い放題であるとも言えます。ディフォルトですとviもvimも入ってませんが、aptで好きなエディターをインストールできます。スーパーユーザ権限持ちのシェルが開放されているのでほぼ何でも出来てしまいます。
左下のターミナルのアイコンを押すとコマンドラインが打ち込める対話型のシェルが起動できます。
下図では右側にターミナルを表示させてますが、右上の赤枠のレイアウトアイコンを押すと
「水平分割」、「垂直分割」、「単一タブ(タブ切り替え)」の中からページのレイアウトは選択できます。
ちなみにColabのTerminalでは Ctrl + v ではコピペができません。貼り付けしたい場合はShift + Ctrl + vでペーストできます。
引き続き、Colab Proを使ってみて気づいたことがあったら本ページをレビューとして更新していこうと思います。
その他、使っていて気が付いたTipsや捕捉
(1)Colab Proの優遇度
少し前からGCPで単価が安い地域でGPU付きのインスタンスを作成しようとすると「リソース確保に失敗しました」と出て作成に失敗する事が多くなっていたのですが、Colab Proの多地域展開直後の現在はこの現象が悪化している気がします。Colab Pro側では普通にGPUが確保できるのにGCPでは確保できないのでColab ProはGCP比で相当優遇されたサービスになっていると感じます。
なお、捕捉ですが、GCPのGPU割り当て数内に収まっているのにリソース不足と出てGPUが確保できずにインスタンス起動が出来ない現象はカスタマーサポート経由でリソース制限緩和依頼をする事で多少改善されました。GCPは明示されていないリソース制限が発動するケースがあるみたいです。
2023年9月現在、有料版ですとプレミアムGPUとしてA100やV100を選択可能になっているのですが、A100(GPUメモリ40G)を選択しても割当に失敗し、V100(GPUメモリ16G)が割り当てられる事があります。かなりGPUが不足している状況です。
(2)巨大ファイルや大量ファイルのコピー
Colab ProであってもGoogleドライブに格納した大量ファイルもしくは巨大なファイルにアクセスする処理は異常に時間がかかる時があります。Colab Pro側に一旦コピーした方が早いのでコピーが必要になるのですが、単純なcpコマンドは非常に時間がかかる and 途中で止まってしまったりします(360ファイル13Gバイトはコピーが正常完了できなかった)。大量ファイルの場合の解決策はGoogleドライブには全ファイルを固めたzipファイルを置くようにして、Colab Pro側からunzipコマンドでColab Pro内に解凍するようにすると比較的スムーズにコピーできます。360ファイル13Gバイトもunzipなら大丈夫でした。巨大ファイルの場合は、何処かのサーバーにアップしてそのサーバーに対してColab Proからwgetコマンドで直接ダウンロードする事などが回避策としてあげられます。
(3)V100-SXM2がGPUに割り当てられる事がある
Colab ProではV100-PCIeより更に性能が良いV100-SXM2がGPUとして割り当てられる事があります。画像系の処理は糞速いです。P100で1バッチ4分以上かかっていた処理が1分20秒で終わっていたので、あまりの速さに何事かと思って確認したらV100-SXM2でした。これはホントに起動時に毎回ガチャを引くような感覚ですね。
(4)24時間経過してないのに計算途中に切断されてしまう事
フリー版よりは全然少ないですが、まだ稀にあります。経験側的にだいたい、19時間くらいで切れてしまう事が多いですね。JavaScriptを使った切断防止トリックはPro版ではまだ使った事がないので切断防止に有効なのかはまだ確かめてません。(最近は無料版でもreCAPTCHで人がまだそこにいるかを確かめるポップアップが出るようになってしまったので切断防止トリックはおそらく使えなくなりました。)切断されてしまうと計算結果が消えてしまうので、定期的にGoogle ドライブなりに保存する仕組みを考える必要があります。
(5)Googleドライブに保存してあるColabファイルの一覧を確認する
プロ版に限った話ではないのですが「ファイル」メニューからGoogleドライブにColabファイルのコピーを保存する事が出来ます。そして、整理整頓せずに気軽に保存しすぎると何を何処に保存したか良くわからない状態に陥る事があります。その場合、Googleドライブ上部の検索窓に「owner:me type:application/vnd.google.colaboratory」を入れて検索するとColabファイルの一覧が出て来るので探しやすくなります。
「https://drive.google.com/drive/search?q=owner:me%20type:application/vnd.google.colaboratory」をブックマークに登録しておいても良いかもしれません。
また、コードの動作をさっと確認したい場合などはメモ用Colabを使う習慣づけをする事などもUntitledの大群から身を守るのに役立つかもしれません。
(6)その他、Google Colabの変わった使い方など
1)Google ColabのランタイムをGCEに設定する
Colabの背後で動いているマシン(ランタイム)をGCE(Google Compute Engine、要はクラウド上で動かす仮想マシン)に設定する方法です。Colabが割り当ててくるマシンはスペックが安定しないのでいざと言うときに有料でもイイから良いマシンを使えるようにしておこうと思ってやったのですが、設定は結構面倒なので、どうせクラウドにお金使うのでしたら、AI Platformからノートブックを選択してJupyter notebookを起動する方が設定がほぼ不要なので楽かもです。ColabはJupyterをGoogleが改良したものなので、ColabとJupyterは多少使い勝手が異なりますが、ブラウザから操作する点は同じです。
2)Google Colabのランタイムをリモートホストに設定する
Colabの背後で動いているマシン(ランタイム)を自分のPCに設定する方法です。クラウドと違ってお金を払う必要はありませんが、こちらも設定はやや手間です。
3)Google Colabをプロ仕様に設定する
少し内容が古くなってしまっていますが、Colab上でJupyterを動かすなど、黒魔術的な事もやってるHowTO記事です。
4)Google Colab上でVS Codeを動かしてブラウザでアクセス
VS Code好きな人向けの記事です。
5)Colabで動かすシリーズとしてシリーズ化するかもしれない雑多なスクリプト
・TwitterのAPIを使って自分がフォローしているフォロー先一覧を取得してCSV及び、Googleスプレッドシートに保存するPythonスクリプト
・TwitterのAPIを使って自分をフォローしてくれているフォロワー一覧を取得してCSV及び、Googleスプレッドシートに保存するPythonスクリプト
・Google Colabのmatplotlibでグラフ内に日本語を使う方法
・Google Colabで日本語を含むPDFファイルを作成する方法
6)Colab無料版のライバルとなりうるAmazonの同等サービス
Amazon SageMaker Studio Lab:無料版Google Colabの強力なライバル
7)2021年にあったGoogle Colabのアップデートのまとめ
3.Google Colab Proが日本から利用可能に関連リンク
1)twitter.com
@GoogleColab