よくある質問
基本
Colaboratory(略称: Colab)は、Google Research が提供するサービスです。Colab では、誰でもブラウザ上で Python を記述、実行できるため、機械学習、データ分析、教育に特に適しています。具体的には、GPU などのコンピューティング リソースに料金なしでアクセスしながら、特別な設定なしでご利用いただけるホスト型の Jupyter Notebook サービスです。
はい。Colab は料金なしでご利用いただけます。
Colab のリソースは保証型ではなく、無制限でもありません。使用量の上限が状況に応じて変動します。これは Colab がリソースを料金なしで提供するうえで必要です。詳細については、リソース制限をご覧ください。
より豊富なリソースを確実に利用したい場合は、Colab Pro をおすすめします。
Colab のリソースは、インタラクティブなユースケースに優先的に割り当てられます。大量のコンピューティングに関連するアクション、他者に悪影響を与えるアクション、Google のポリシーの回避に関連するアクションは禁止されています。以下は、Colab ランタイムでは許可されていません。
- ファイル ホスティング、メディア配信、または Colab とのインタラクティブなコンピューティングに関連していない他のウェブサービスの提供
- トレントのダウンロードまたはピアツーピアのファイル共有への関与
- リモート デスクトップまたは SSH の使用
- リモート プロキシへの接続
- 暗号通貨マイニング
- サービス拒否攻撃の実行
- パスワードの解読
- 複数アカウントの使用による、アクセスまたはリソース使用量の制限の回避
- ディープフェイクの作成
有料ユーザーの追加の制限事項は、こちらに記載されています。
Jupyter は、Colab のベースになっているオープンソース プロジェクトです。Colab では、Jupyter のノートブックを使用したり他のユーザーと共有したりできます。ダウンロード、インストール、実行などの操作は一切不要です。
Colab の使用
Colab ノートブックは、Google ドライブに保存することも、GitHub から読み込むこともできます。Colab ノートブックは、Google ドキュメントや Google スプレッドシートと同じように共有できます。Colabo ノートブックの右上にある [共有] ボタンをクリックするか、Google ドライブのファイル共有の手順に沿って共有してください。
ノートブックの全コンテンツ(テキスト、コード、出力、コメント)が共有されます。保存、共有の対象からコードセルの出力を除外するには、[編集] > [ノートブックの設定] > [このノートブックを保存する際にコードセルの出力を除外する] を使用します。使用している仮想マシンは、設定済みのカスタム ファイル、カスタム ライブラリを含め、共有されません。そのため、ノートブックで必要なカスタム ライブラリまたはカスタム ファイルのインストールと読み込みを行うセルについては、保存対象から除外しないことをおすすめします。
はい、できます。[ファイル] メニューの [ノートブックをアップロード] を選択してください。
Google ドライブで、Colab ノートブックを検索できます。ノートブック ビューの左上にある Colab ロゴをクリックすると、ドライブが開いてすべてのノートブックが表示されます。また、[ファイル] > [ノートブックを開く] を選択して、最近開いたノートブックを探すこともできます。
コードは、各アカウント専用の仮想マシンで実行されます。一定時間アイドル状態にある仮想マシンは削除されます。また、仮想マシンには、Colab のサービスで定められた最大存続時間があります。
作成した Colab ノートブックは、こちらの手順で Google ドライブからダウンロードできます。また、Colab の [ファイル] メニューからダウンロードすることもできます。Colab ノートブックはすべて、オープンソースの Jupyter ノートブック形式(.ipynb)で保存されています。
[ランタイム] > [ランタイムを接続解除して削除] を選択することで、割り当てられている管理下のすべての仮想マシンを元の状態に戻すことができます。この方法は、システム ファイルを誤って上書きしてしまった場合や、互換性のないソフトウェアをインストールしてしまった場合など、仮想マシンの状態が健全でなくなった場合に便利です。リセットできる回数は Colab によって制限されており、リソースが不当に消費されるのを防いでいます。リセットできなかった場合は、しばらくしてからもう一度お試しください。
drive.mount()
が失敗して「タイムアウト」と表示されることがあるのはどうしてですか?また、drive.mount()
でマウントしたフォルダでの I/O オペレーションが失敗することがあるのはどうしてですか?Google ドライブのオペレーションは、フォルダ内のファイル数やサブフォルダ数が増えすぎるとタイムアウトすることがあります。数千件ものアイテムが最上位の「マイドライブ」フォルダの直下にあると、ドライブのマウント処理がタイムアウトする可能性が高くなります。マウントを繰り返し試みると最終的に成功することがあります。これは、失敗するたびに、タイムアウトするまでの断片がローカルのキャッシュに保存されるためです。この問題が発生した場合は、「マイドライブ」の直下にあるファイルやフォルダをサブフォルダに移動してみてください。drive.mount()
が正常終了した後で他のフォルダから読み取りを行うと、同様の問題が発生することがあります。多くのアイテムが含まれているフォルダ内のアイテムにアクセスすると、OSError: [Errno 5] Input/output error
のようなエラーが発生することがあります。この問題も同様に、直下にあるアイテムをサブフォルダに移動することで解決できます。
注: ファイルやサブフォルダをゴミ箱に移動して「削除」するだけでは、この問題を解決できないことがあります。この方法で解決できない場合は、ゴミ箱を空にしてください。
Colab で Google ドライブをマウントすると、ノートブックのどのコードからでも Google ドライブ内のすべてのファイルにアクセスできます。通常、ユーザーは新しいランタイムに接続するたびに、コードセルをノートブックに追加して、このアクセス権を手動で付与する必要があります。これにより、ユーザーはノートブックに付与されている権限を完全に把握できます。
場合によっては、Google ドライブへのアクセス権が必要とされるのは 1 回のみで、その後のセッション中に Google ドライブが自動的に再マウントされます。ファイルを保護するため、これは、ノートブックが複数のチェックに合格した場合にのみ許可されます。たとえば、他のユーザーが編集したノートブックは自動的に Google ドライブをマウントしません。
Google ドライブでは、ユーザー単位およびファイル単位のオペレーション数や帯域幅の割り当てなど、さまざまな上限が適用されます。こうした上限を超えると、上記のように Input/output error
が発生し、Colab の UI に通知が表示されます。一般的な原因としては、よく使用されている共有ファイルへのアクセスや、さまざまなファイルへの短期間の頻繁なアクセスが挙げられます。対応策の例:
- drive.google.com でファイルをコピーし、他のユーザーの使用状況が上限を超えないように共有の範囲を絞る。
- I/O 読み取りを細かく何度も行うことは避ける。代わりにアーカイブ形式(例:
.zip
ファイル、.tar.gz
ファイル)で Google ドライブから Colab VM にデータをコピーし、マウントされた Google ドライブのディレクトリではなく VM 上でローカルでデータのアーカイブを解除する。 - 容量の上限がリセットされるまで、1 日待つ。
Google ドライブでは、各ユーザーがドライブに保存できるデータの量に制限があります。ドライブのオペレーションが Input/output error
によって失敗し、容量上限を超えたという通知が表示された場合、drive.google.com で一部のファイルを削除し、ゴミ箱を空にして空き容量を確保してください。確保した空き容量が Colab で使用できるようになるまで、少し時間がかかることがあります。
ドライブの容量を購入する場合は、Google ドライブにアクセスしてください。ドライブの容量を購入しても、Colab VM で利用できるディスク容量は増えないことに注意してください。Colab VM で利用できるディスク容量を増やすには、Colab Pro のサブスクリプションにご登録ください。
リソース制限
Colab では、大量の強力な GPU を低価格で動的に提供するために、使用量上限とハードウェアの可用性を動的に調整する柔軟性を維持する必要があります。
料金がかからないバージョンの Colab では、GPU のような高価なリソースへのアクセスが厳しく制限されています。有料バージョンの Colab は、支払い額に見合う高い価値をユーザーに提供することを目標としています。
GCP Marketplace から、Colab で使用する保証型リソースを購入できます。
Colab では、状況によって変動する動的な使用量上限を設け、リソースの保証または無制限の提供を行わないことで、料金なしのリソース提供をある程度実現しています。つまり、全体的な使用量上限は、アイドル タイムアウト時間、VM の最大存続期間、利用可能な GPU タイプなどの要素と同様、時間とともに変化する可能性があります。そうした変更が頻繁に起きる可能性がある(そして実際にしばしば起きる)ことが一因で、Colab ではこれらの上限を公開していません。
こちらの有料プランのいずれかを購入すると、Colab の使用量上限を緩和できます。それらのプランでも、リソースの可用性は時間とともに動的に変化する可能性があります。
GCP Marketplace から、Colab で使用する保証型リソースを購入できます。
Colab で利用可能な GPU のタイプは時間とともに変化します。これは、Colab のリソースへのアクセスを料金なしで提供するうえで必要な処置です。
こちらの有料プランのいずれかを購入すると、利用可能状況に応じてプレミアム GPU を利用できます。
特定の専用ハードウェアへのアクセスをご希望の場合は、GCP Marketplace で Colab を検索してください。
Colab では、インタラクティブ コンピューティングが優先されます。アイドル状態の場合、ランタイムはタイムアウトします。
料金がかからないバージョンの Colab の場合、ノートブックは可用性と使用パターンに応じて最長で 12 時間実行できます。Colab Pro、Pro+、従量課金制では、コンピューティング ユニットの残量に応じてコンピューティングの可用性が高くなります。
ノートブックは通常、可用性と使用パターンに応じて最長で 12 時間実行できます。Pro、Pro+、従量課金制プランでは、利用可能なコンピューティング ユニットを使い切るとバックエンドが終了する可能性があります。
Colab Pro+ では、十分なコンピューティング ユニットがあれば、最長 24 時間連続でコードを実行できます。アイドル タイムアウトは、コードの実行が終了した場合にのみ適用されます。
GCP Marketplace で専用の VM を購入すると、ランタイムの制限とアイドル タイムアウトを完全に緩和できます。
料金がかからないバージョンの Colab では、標準のシステムメモリ プロファイルを持つ VM にアクセスできます。
有料バージョンの Colab では、可用性とコンピューティング ユニットの残量に応じて、ハイメモリ システム プロファイルを持つマシンにアクセスできます。
注: メモリとはシステムメモリを指し、すべての GPU チップは同じメモリ プロファイルを持ちます。
作業が終了したら Colab のタブを閉じ、作業に不要な GPU または余分なメモリを使用しないようにしてください。そうすれば、Colab で使用量上限に達することが少なくなります。上限に達したら、従量課金制を利用していつでも追加のコンピューティングを購入できます。
有料バージョンの Colab を最大限に活用する方法について詳しくは、Colab の定期購入を最大限に活用するをご覧ください。
Colab では、GPU と TPU を含む、オプションの高速コンピューティング環境を提供しています。GPU または TPU ランタイムでコードを実行しても GPU または TPU が使用されているとは限りません。GPU の使用量上限に達するのを避けるには、GPU を使用していない場合は標準ランタイムに切り替えることをおすすめします。[ランタイム] > [ランタイムのタイプを変更] を選択し、[ハードウェア アクセラレータ] を [なし] に設定します。
Colab で GPU と TPU のランタイムを使用する方法の例については、GPU を使用した TensorFlow と Colab での TPU のサンプル ノートブックをご覧ください。
その他の質問
Google では、2014 年に Jupyter 開発チームと協力し、このツールの初期バージョンをリリースしました。その後、Google 社内での利用を通じて発展させたのが現在の Colab です。
Colab では、Python のサポートとそのエコシステムのサードパーティ製ツールに重点が置かれています。他の Jupyter カーネル(R、Scala など)のサポートを望む声があることも承知しており、サポートしたいと考えておりますが、まだ日程を明らかにできる段階にはありません。
Colab ノートブックを開き、[ヘルプ] メニューから [フィードバックを送信] を選択してください。
Colab では、さまざまな出力を安全に表示するために、ホスト元の異なる HTML iframe と Service Worker を使用しています。ブラウザで iframe 内の Service Worker を使用するにはサードパーティの Cookie を有効にする必要があります。すべてのサイトに対してサードパーティの Cookie を有効にする別の手段としては、ブラウザの設定でホスト名(googleusercontent.com)を許可する方法もあります。
Colab のエディタでは一般的な等幅フォントを使用しています。最新のブラウザでは等幅フォントに使用するフォント ファミリーを設定できます。一般的なブラウザでの手順:
- Firefox: Firefox サポート ドキュメントの手順に沿って、[等幅] フォントを設定します。
- Chrome:「chrome://settings/fonts」にアクセスして、[固定幅フォント] セクションを変更します。
Colab での Python 2 のサポートは終了しました。Python 2 から Python 3 へのコードの移行については、Python 2 コードから Python 3 への移行をご覧ください。
お申し込みページの「よくある質問」をご覧ください。
Colab Pro、Colab Pro+、従量課金制に関する情報(価格、アップグレードが処理される方法を含む)については、お申し込みページをご覧ください。
Colab への Workspace ユーザーのアクセスは、組織の管理者がアクセスできる Workspace のオン / オフのコントロールによって制御されます。
Workspace for Education の組織は、学生(18 歳未満)が Google Workspace for Education アカウントで追加サービスを使用することについて保護者の同意を得る必要があります。これを行うには、こちらのお知らせ用テンプレートを使用します。追加サービスのリストに Colab を含めるようにしてください。
詳細については、ヘルプセンターの記事「Google Workspace for Education について保護者と情報を共有する」をご覧ください。なお、13 歳未満のお子様の Google アカウントは、現時点では Colab でサポートされていません。