Lecture

共通資料 Google Colaboratory による GPU 計算

資料

本資料は複数の講義で共通に使う資料です. 手元の PC に GPU がなく, 計算に時間がかかりすぎるときに, Google が提供するオンラインの Python の実行環境 Google Colaboratory (略して Colab) の GPU を使う手順を扱います.

この資料の情報は, 短い期間で古くなります. Colab の画面, 無料で使える範囲, 割り当てられる GPU の種類は変わります. 資料と実際の画面が食い違ったら, 公式のヘルプで最新の情報を確かめてください. この資料の画像は, 以前の画面のものです.

Colab を使う場面

講義の本文のプログラムは, GPU のない PC でも動くように, 学習の規模を小さくしてあります. 本文の設定で足りるなら, この資料は不要です.

次のようなときに Colab の GPU を使います.

本文のプログラムは, 使えるデバイスを自動で選びます. GPU が使える Colab では, そのままのプログラムが GPU で動きます.

準備

ノートブックを開く

Colab を使うには, Google アカウントが必要です. アカウントを持っていない場合は, Google のページから作成します.

Google Colaboratory を開き, 新しいノートブックを作成します. ノートブックは, プログラムをセルという単位に分けて書き, セルごとに実行する形式のファイル (拡張子 .ipynb) です. セルの左にある再生ボタンか, Shift + Enter で, そのセルを実行します.

GPU を使う設定

ノートブックの右上にある接続の状態の横の矢印から, 「ランタイムのタイプを変更」(Change runtime type) を開きます. ハードウェア アクセラレータで GPU (T4 GPU など) を選び, 保存します.

ランタイムのタイプを変更して GPU を選ぶ

次のプログラムをセルに書いて実行し, True と表示されれば, GPU が使える状態です.

import torch

print(torch.cuda.is_available())

無料の範囲では, 混んでいるときに GPU が割り当てられない場合があります. 時間をおいて, もう一度設定してください.

プログラムとデータの用意

ライブラリ

Colab には, PyTorch, NumPy, pandas などの主なライブラリが入っています. 入っていないライブラリは, セルの先頭に ! を付けて, シェルコマンドで入れます. たとえば第10章のマルチラベル分類には, 次のセルを実行します.

!pip install transformers fugashi unidic-lite

データ

データは, セルからダウンロードします. 第10章のマルチラベル分類のデータは, 次のとおりです. -P data は, 保存先を data ディレクトリにする指定です. ディレクトリがなければ作られます.

!wget -P data https://raw.githubusercontent.com/yakagika/yakagika.github.io/main/slds_data/ch15/chABSA.csv

手元のファイルを使う場合は, 画面の左にあるフォルダのアイコンを開き, ファイルをドラッグアンドドロップして置きます.

プログラムと設定

本文のプログラムを, セルに貼り付けます. 本文のプログラムは, 学習の規模を冒頭の値で決めています. 第10章のマルチラベル分類の「元の設定」にするには, 次のように変えてから, すべてのセルを実行します.

EPOCHS = 5
MAX_LENGTH = 128
N_TRAIN = 2000  # 学習用の文は 1929 なので, 全件を使う

プログラムの先頭付近で Using device: cuda:0 と表示されれば, GPU で計算されています.

使うときの注意

ce0f13b2-4a83-4c1c-b2b9-b6d18f4ee6d2