連載
» 2021年12月06日 05時00分 公開

Colab Pro/Pro+とは? 無料版との違い、比較表Google Colaboratory入門

Colabは無償で使えるが、実行時間など制限もある。この制限を低減できる上位版のColab Proと、最上位版のPro+を紹介。GPUや実行時間、メモリ、ディスクサイズ、Proのみで使えるターミナル機能、Pro+のみで使えるバックグラウンド機能などについて説明する。

[一色政彦,デジタルアドバンテージ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Google Colaboratory入門」のインデックス

連載目次

本稿は、2020年3月17日に公開、2021年6月7日に改訂した記事を、2021年12月2日の最新情報に合わせてさらに改訂したものです。Colab Pro+の情報をアップデートしました。


 機械学習/データサイエンス分野で特に人気の(Pythonなどの)実行環境であるGoogle Colaboratory(以下、Colab)は無償で使えるものの、無制限ではない。実行時間やメモリ容量などに制限がある。こういった制限を低減する有償プロ版「Colab Pro」が2020年3月に発表され、米国とカナダのみで申し込みできる状況だった。それから1年後の2021年3月19日以降、日本でも申し込み可能になった(図1)。さらに、より強力な有償プロプラス版「Colab Pro+」が2021年8月に発表され、同日から日本でも申し込み可能である。

図1 当日にDeep InsiderのTwitterアカウントでツイートした内容(この機会にTwitterフォローもお願いします!)


 本稿では、「Colab ProやColab Pro+にはどのような機能があるのか?」について、無償版と有償のPro版とPro+版の違いを比較表で示した後、項目ごとに違いを紹介していく。本題に入る前に、無償版の利点と欠点を示しておこう。

Colab無償版の利点と欠点

 Colabは、機械学習やデータサイエンスの作業を効率化するために、グーグルにより無料で提供されている。環境構築が不要でブラウザーからすぐに機械学習のPythonコードを実行でき、そのコードを含むノートブックを簡単に共有できるなどのメリットがある。何よりGPUに無料でアクセスできる点がありがたい。ディープラーニングといえばGPUで高速化を図りたい場面がよくあるが、Colabを使えば自前の環境を用意しなくてもよいというメリットがある。無償版でも、ターミナル機能(詳細後述)やバックグラウンド実行(詳細後述)を除き、ほぼ全ての機能が利用できる。

 ただし、欠点がないわけではない。具体的には、サービスの持続可能性を確保したり、乱用を防いだりするために、リソースに以下のような制限が設けられているのだ。

  1. GPUを使う場合、高速なGPUがなかなか割り当てられない
  2. 最長12時間、実行すると自動的にリセットがかかる
  3. 大きなデータを読み込んで処理するとメモリ不足に陥る

 いずれの制限も大きなデータを扱うディープラーニングなどの作業時に問題となりやすい。例えば1日中、Colabノートブックで作業をしている場合、2番目の制限により、突然リセットがかかって、最初から実行し直さなければならなくなるといったことがある。こういった制限を大幅に低減してくれるのがColab ProやPro+である(あくまで低減であり、無制限ではないことに注意してほしい)。

Colab無償版と、有償のColab Pro版と、Pro+版の比較

 Colab無償版とColab Pro/Pro+有償版の概要は下記リンク先のColabノートブックにまとめられているので、必要に応じて参照してほしい。

 無償版とPro/Pro+有償版の違いをまずは比較表で示す(表1)。各数値やGPUは2021年12月2日現在のもので、筆者が試した範囲でしかなく、常にこの数値のままとは限らないので注意してほしい。

Colab 無償版 有償Pro版 有償Pro+版
GPU 例:Tesla K80 例:Tesla P100(PCIe)/T4 例:Tesla V100(SXM2)/A100(SXM2)
実行時間 最長12時間 最長24時間 最長24時間(より安定)
メモリ 例:12.69GB 例:12.69GB(標準)/
25.46GB(CPU/GPUでハイメモリVM)/
35.25GB(TPUでハイメモリVM)
例:12.69GB(標準)/
51.01GB(CPU/GPUでハイメモリVM)/
35.25GB(TPUでハイメモリVM)
ディスク 例:107.72GB(CPU/TPU)/78.19GB(GPU) 例:225.89GB(CPU/TPU)/166.83GB(GPU) 例:225.89GB(CPU/TPU)/166.83GB(GPU)
ターミナル × ○使える ○使える
バックグラウンド実行 × × ○使える
費用 無料 月額1072円 月額5243円
表1 Google Colabの無償版との比較表
いずれも2021年12月2日時点のもの。

 各項目の詳細についてそれぞれ説明していこう。

高速なGPU

図2 無償版と有償Pro/Pro+版でnvidia-smi(NVIDIA GPUデバイス監視)コマンドを実行した例 図2 無償版と有償Pro/Pro+版でnvidia-smi(NVIDIA GPUデバイス監視)コマンドを実行した例

 ColabノートブックでGPUを使う場合、無償版では基本的に、

というGPUを搭載した仮想マシン(VM)がWebブラウザーで表示中のColabノートブックに割り当てられる(図2の上)。たまに(後述する)有償Pro版用のGPUが割り当てられることもあるが、その優先度は大幅に制限されている。

 有償Pro版では通常、

など(図2の真ん中)、有償Pro+版では通常、

などのより高速なGPUが優先的に割り当てられる(図2の下)。また、TPUも優先的に利用できる。

 なお、無償版や有償Pro/Pro+版のColabノートブックでCPU(=None)/GPU/TPUを切り替えるには、メニューバーの[ランタイム]−[ランタイムのタイプを変更]をクリックすると表示される図3のダイアログで、[ハードウェア アクセラレータ]欄で「None」/「GPU」/「TPU」を選択して[保存]をクリックするだけである。

図3 CPU(=None)/GPU/TPUを切り替えるための設定 図3 CPU(=None)/GPU/TPUを切り替えるための設定

 当然ながら、上記の「Colabで割り当てられるGPU」は2021年12月2日現在のもので、将来的に変更される可能性があるので注意してほしい。

より長い実行時間

図4 無償版でよく起こるタイムアウトの例 図4 無償版でよく起こるタイムアウトの例

 無償版では、

  • 最長12時間

 Colabノートブックに接続したままにできる。ただし、使っていないアイドル状態が最長90分ほど続くと、タイムアウトになって自動的に接続が切断される(図4)。

 有償Pro/Pro+版では、

  • 最長24時間(つまり2倍になる)

 Colabノートブックに接続したままとなり、アイドル状態によるタイムアウトも生じにくくなる(接続が保証されるわけではない)。

 注意してほしいのが、あくまで各時間は「最長」という点である。実際には、例えば無償版で9時間や有償Pro版で19時間などより短い時間までしか接続を維持できなかったり、例えば無償版で30分などより短いアイドル時間でタイムアウトしたりすることが多い。有償Pro+版では、接続の安定性が有償Pro版よりも高まるとのこと。

より大きなメモリ

図5 無償版と有償Pro/Pro+版(CPU/GPU/TPU)ハイメモリVMでのメモリ(RAM)サイズの違い 図5 無償版と有償Pro/Pro+版(CPU/GPU/TPU)ハイメモリVMでのメモリ(RAM)サイズの違い

 無償版では、

  • 12.69GB

有償Pro版では基本的に、

  • [標準の場合]RAM:12.69GB、CPU:1コア2スレッド
  • [ハイメモリVMの場合]RAM:25.46GB(CPU/GPUの場合)|35.25GB(TPUの場合)、CPU:2コア4スレッド(つまり2倍以上になる)

有償Pro+版では基本的に、

  • [標準の場合]RAM:12.69GB、CPU:1コア2スレッド
  • [ハイメモリVMの場合]RAM:51.01GB(CPU/GPUの場合)|35.25GB(TPUの場合)、CPU:4コア8スレッド(つまり4倍以上になる)

のメモリサイズの仮想マシン(VM)にColabノートブックが割り当てられる(あくまで筆者が得た数値。有償Pro+版で標準RAMでGPU選択時に6コア12スレッド、ハイメモリVMでTPU選択時に20コア40スレッドというCPUが得られたりもしたので、これらの数値より性能が高い/低いVMが割り当てられる可能性もある)。

 通常は「標準」となり無償版と変わらないが、有償Pro/Pro+版では「ハイメモリ仮想マシン(High Memory VM)」(=RAM増量ランタイム)を明示的に指定することができる(無償版ではできない)。

 有償Pro/Pro+版でハイメモリVMを指定するには、メニューバーの[ランタイム]−[ランタイムのタイプを変更]をクリックすると表示される図6のダイアログで、[ランタイムの仕様]欄で「ハイメモリ」を選択して[保存]をクリックするだけである。

図6 ハイメモリVMを指定するための設定 図6 ハイメモリVMを指定するための設定

 なお、無償版でもより大きなメモリが必要だと判断されると、RAM増量ランタイム(=ハイメモリVM)へのアップグレードを促される場合がある。具体的な流れは、Colab Tipsの3位で紹介している。しかし最近の無償版では、この割り当てが起こることはめったにないので期待しない方がよい。

より大きなディスク

図7 無償版GPUと、有償Pro/Pro+版(CPU/TPU)と、有償Pro/Pro+版(GPU)でのディスク容量の違い 図7 無償版GPUと、有償Pro/Pro+版(CPU/TPU)と、有償Pro/Pro+版(GPU)でのディスク容量の違い

 無償版では、

  • 107.72(CPU/TPU選択時)
  • 78.19GB(GPU選択時)

が仮想マシン(VM)のディスクサイズである。

 有償Pro/Pro+版では、

  • 225.89GB(CPU/TPU選択時)
  • 166.83GB(GPU選択時)

がディスクサイズとなる。

 ColabはGoogleドライブと連携しているので、ディスクサイズが足りない場合は、Googleドライブをデータ置き場として利用したりできる。Googleドライブは無料で15GBが使えるが、必要に応じてGoogle Oneストレージの100GB/200GB/2TBといったプランを利用すればよいだろう。

ターミナル機能

図8 無償版GPUと有償Pro/Pro+版でのターミナル機能の違い 図8 無償版GPUと有償Pro/Pro+版でのターミナル機能の違い

 有償Pro/Pro+版でのみ、

  • ターミナル:OSのコマンドを実行できるコンソール環境

が使える。Bashシェル環境となっており、ColabをLinux OSをターミナルで操作する感覚で使える。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。