見出し画像

Google Colabの制限と対策

「Google Colab」の制限と対策をまとめました。

1. Google Colabの制限

「Google Colab」の主な制限は、次のとおりです。

・RAM:12GB 
・ディスク
:CPU/TPC:最大107GB、GPU:最大68GB
・90分ルール : 何も操作せずに90分経つとリセット
・12時間ルール : インスタンスが起動してから12時間経つとリセット
・GPUの使用制限  : GPUを使いすぎるとリセット(上限未公開)

「Google Colab」のツールバーの「RAM/ディスク」にカーソルを移動することで、「RAM」「ディスク」の「使用サイズ/最大サイズ」、クリックすることで「現在のRAM・GPU・ディスクの使用率」を確認できます。

2. 90分ルールの対策

以下のPythonスクリプトをローカルで実行して、1時間毎に「Google Colab」にアクセスすることで、90分ルールによるリセットを回避できます。

import time
import datetime
import webbrowser

# 1時間毎に任意のノートブックを開く
for i in range(12):
    browse = webbrowser.get('chrome')
    browse.open('<任意のノートブックのURL>')
    print(i, datetime.datetime.today())
    time.sleep(60*60)

3. 12時間ルールの対策

12時間ルールでリセットされるまでの時間は、以下のコマンドで確認できます。

!cat /proc/uptime | awk '{printf("残り時間 : %.2f", 12-$1/60/60)}'
残り時間 : 11.60時間

リセット前にデータを退避するか、Googleドライブでデータの永続化することで対応します。

4. GPUの使用制限の対策

「Google Colab」は、状況によって動的に変化する使用制限を設けることで、無料でのリソース提供を実現しています。そのため、全体の使用量の上限、インスタンスの最大存続時間、利用できる GPUタイプなど、頻繁に変更されます。そのため、これらの上限は公開されていません。

いつリセットされるかは不明なため、Googleドライブでデータの永続化することで対応します。

5. データの永続化

「90分ルール」「12時間ルール」「GPUの使用制限」でインスタンスがリセットされると、それまで学習したデータも削除されてしまいます。Googleドライブに作業フォルダを作成することで、データを永続化でき、リセットされても再開できるようになります。

◎ Googleドライブの作業フォルダの作成
「work」という名前の作業フォルダを作成するコマンドは、次のとおりです。

# 作業用フォルダの作成
from google.colab import drive 
drive.mount('/content/drive')
!mkdir -p '/content/drive/My Drive/work/'
%cd '/content/drive/My Drive/work/'

◎ Googleドライブの容量が足りない場合
Googleドライブの容量が15GBで足りない場合は、月額250円で100GBに増やすことができます。

6. 割り当てられたGPUの確認

インスタンス起動時に、以下のGPUがランダムに割り当てられます。「Tesla A100」が一番速くメモリも大きいGPUになります。Pro/Pro+で課金した方がより良いGPUを優先して割り当てられます。

・Tesla A100 : 40GB
・Tesla V100 : 16GB
・Tesla P100 : 16GB 
・Tesla K80 : 12GB

割り当てられているGPUは、以下のコマンドで確認できます。

!nvidia-smi

性能の良いGPUがでるまで、リセットを繰り返すこともできますが、やりすぎると利用制限がかかります。

7. Colab Pro/Pro+

Colab Pro」(1,072円/月)、「Colab Pro+」(5,243円/月)にすることで、各種制限を緩和できます。

・GPU : 高性能GPUが優先して割り当てられる
・RAM : メニュー「編集 → ノートブックの設定」で「ハイメモリ」を選択可能
 ・標準メモリ : 12GB
 ・PROのハイメモリ : CPU/GPU:25GB、TPU:35GB
 ・PRO+のハイメモリ : CPU/GPU:51GB、TPU:35GB
・ディスク:CPU/TPC:225GB、GPU:166GB
・90分ルール : なし
・12時間ルール : 12時間 → 24時間
・GPUの使用制限 : 無料より長く利用可能
・バックグラウンド実行 : PRO+でのみ利用可能

関連




この記事が気に入ったらサポートをしてみませんか?