ホーム > カテゴリ > Python・人工知能・Django >

Colab Proの使い方 [高性能GPU]

Colaboratory Pro(Colab Pro)はGoogleが運営するクラウドサービスです。「高性能なGPU」(Tesla V100-SXM2やTesla P100-PCIEなど)をPythonによる機械学習、データ分析、教育などに使用できます。

月額1072円(税込)で80-100万円の高性能GPUを使用することができます。

ライブラリに関しては初期状態でTensorFlowやPyTorch、Chainer、NumPy、Pillow、OpenCVなどがインストール済みです。

目次

1. 基本的な流れ
2. Colab ProとGoogleドライブの関係性
3. Googleドライブのマウント
4. TesnsorFlow 1系を使用する
5. GPU設定とメモリ/ディスク容量
6. AIのトレーニングについて
7. 頻繁に使用するコマンド
8. +テキストの使い方
9. Colabノートブックの終了(セッション)
10. Colab Proの制限事項

1. 基本的な流れ

Googleドライブに作成した1つの「Colab ノートブック」(Jupyter NoteBookがベース)でGPUを用いた処理を24時間連続して実行できる。24時間を超える場合は一度、セッションを終了してから再度、AIの学習を行う。

念の為にAIのトレーニング中は1時間毎にモデルを保存すると良い。

※Googleドライブは15GBまで無料。月額250円で100Gに増量できる。

2. Colab ProとGoogleドライブの関係性

Colab Proはセッションが接続される度にあなただけのVM(仮想マシン)が新規作成されます。これは最大24時間でそれ以後は自動的に切断されます。

24時間経過しても、新しいセッションでVMを新規作成すれば再び、24時間連続して使用できます。ここの注意点としてはVMに作成したファイルはセッションが切断される度に消えてなくなります。

ですので、モデルは定期的にGoogleドライブに保存する必要があります。

次はディレクトリ構成です。

# Colab Proの作業用ディレクトリ
/content
# Googleドライブのディレクトリ ※マウント必須
/content/drive/My Drive

このようにColab ProからGoogleドライブへアクセスできます。Googleドライブ(/content/drive/My Drive)を使用するにはセッション毎に毎回、マウントをする必要があります。

3. Googleドライブのマウント

「+コード」でセルを作成して次のコードを入力します。

# Google Drive に接続
from google.colab import drive
drive.mount('/content/drive')

URLリンクをクリックしてログイン/許可後に、表示されるコードをコピーして「白いテキストボックス」にコードを貼り付けてエンターキーを押します。

「+コード」でセルを作成後、次のコマンドでGoogleドライブを確認。

%cd /content/drive/My Drive/
%ls

4. TesnsorFlow 1系を使用する

次のコマンドで初期状態のPythonパッケージの確認ができます。

!pip freeze

TensorFlowは標準では2系ですのでご注意ください。

TensorFlowの1系を使用する場合は次のコマンドを実行します。

# TensorFlow 1系を使用する
%tensorflow_version 1.x
import tensorflow as tf
print(tf.__version__)

5. GPU設定とメモリ/ディスク容量

メニューの[ランタイムのタイプを変更]で次のように設定します。

次のコマンドでGPUを確認できます。

!nvidia-smi -L

!nvidia-smi

VMのRAMとディスク容量は右上にマウスを持っていくと確認できます。

6. AIのトレーニングについて

例えば、NVIDIAの「SyleGAN2-ADA」を使用する場合は初期状態ではインストールされていませんので、次のようにダウンロードします。

# SyleGAN2-ADAのダウンロード
%cd /content/
!git clone https://github.com/NVlabs/stylegan2-ada.git
%ls

データセットについては画像ファイルをパソコン側でZIP圧縮してからColab(/content)にアップロードします。アップロード後にunzipコマンドで展開すると良いです。

アップロードはブラウザの左側にある「ファイル」のアイコンをクリックするとアップロード可能です。

注意点としてはデータセットをGoogleドライブに置いて、そのままColabから読み取るとファイルの読み込み速度が非常に遅いです。データセットは必ずColabのVMのディスクにアップロードして下さい。

また、Googleドライブでは削除した「同一ファイル構成のファイル名を使用しない」ことです。Googleドライブはファイルを「版」で管理しているので削除後、すぐ同じファイル名を作ると古い方が使用される場合がありますのでご注意下さい。

7. 頻繁に使用するコマンド

cd パスカレントディレクトリの移動
lsカレントディレクトリのファイル、ディレクトリの一覧
cp コピー元 コピー先ファイルのコピー
mv 移動元 移動先ファイルの移動
rm ファイル名ファイルを削除する
rm -r ディレクトリ名ディレクトリを丸ごと削除
!unzip ZIPファイル名その場所にZIPファイルを展開する
※cdで移動してからコマンドを実行する

コマンドがエラーで使用できない場合はコマンドの先頭に「%」または「!」を付与すれば動作します。

8. +テキストの使い方

# あいうHTMLのH1タグ(見出し)と同等
行末に半角スペース2個改行
[プチモンテ](https://www.petitmonte.com/) URLリンク

とりあえず、必要最低限のこれだけ出来れば良いでしょう。

9. Colabノートブックの終了(セッション)

メニューの[ランタイム][セッションの管理]の「終了」です。

10. Colab Proの制限事項

無料版のColaboratory(Colab)では90分制限、90分ルールと呼ばれる仕様があって、その時間、何も操作しないと自動的にセッションが切断されます。

Colab Proだとその仕様が解除されているか不明です。少なくても私の環境では10時間放置してもセッションは接続されたままでした。

次はColaboratory公式から引用

Colab Pro を使用すると、ノートブックを最大 24 時間接続したままにでき、アイドル タイムアウトも比較的生じにくくなります。ただし、接続時間が保証されているわけではなく、アイドル タイムアウトの動作は変わる場合もあります。

この「アイドル タイムアウト」というのがGPUで計算中の事を含めないのであれば、GPU計算中の24時間は連続的に使用できると言う事になります。

おまけ

庶民が購入できる約10万円の「GeForce GTX 1080 Ti」(11GB)と80万円台の「Tesla P100-PCIE」(16GB)を比較してみたら、処理速度は同レベルで搭載メモリが異なるだけのようでした。

ちなみに100万円台の「Tesla V100-SXM2」(16GB)は「Tesla P100-PCIE」(16GB)の3倍以上高速です。Colabで使用できるGPUは毎回ランダムですのでV100が来た場合に24時間計算させるとP100の72時間分の成果です。

最後に「ターミナル」についてです。ブラウザ左下のアイコンの「ターミナル」を使用するとGPU計算中でもコマンドを実行出来ます。

以上となります。

おもちゃのAI研究室

https://www.petitmonte.com/ai/





関連記事



公開日:2021年05月05日 最終更新日:2021年05月06日
記事NO:02896