u++の備忘録

『極意本』サンプルコードをクラウド上で動かそう

Kaggle Advent Calendar 2023 の 1 日目の記事です。

「『極意本』サンプルコードをクラウド上で動かそう」の題目で、11 月 26 日開催の「Kaggle Tokyo Meetup 2023」で発表しました。 会場&サポート提供による Google のスポンサーセッションにお招きいただき、ユーザ視点で Google 関連のクラウドサービスを紹介しました。 発表資料とアーカイブ動画も公開済みですが、本記事では発表の要点をまとめて説明します。

www.youtube.com

発表の題材

発表の題材は、2023 年に刊行した『Kaggleに挑む深層学習プログラミングの極意』(講談社)のサンプルコードです。 GPU 付きのクラウド環境を JupyterNotebook / JupyterLab と共に手軽に構築できる選択肢を解説しました。 取り上げたクラウドサービスは、Kaggle Notebooks / Google Colab / Vertex AI Workbench です。

GitHub のサンプルコード

GitHub では、サンプルコードを JupyterNotebook / JupyterLab から実行できるファイルも提供しています。

!git clone https://github.com/smly/kaggle-book-gokui.git
%cd kaggle-book-gokui/chapter2
!pip install -r requirements.txt
!python 00_mlp.py

動かし方は①リポジトリのダウンロード③ファイルの実行③ファイルの実行ーーと単純ですが、いくつか詰まりがちな箇所があります。 たとえば、CPU / GPU の性能(メモリ含む)、ストレージのサイズ、ライブラリのバージョン(CUDA 含む)などです。

これらの需要に対処するため、3 つの選択肢を紹介しました。 ぜひ、ご自身の用途に合わせた選択をしていきましょう。

Kaggle Notebooks

Kaggle 上で提供されている計算資源です。 2023 年 11 月時点では、毎週標準で GPU を 30 時間、TPU を 20 時間まで利用可能となっています。 2020 年に、需要に応じ週次で追加時間が設けられる仕組みが導入されました。 2022 年の更新では、RAM が 30 GB になり、GPU で P100 か T4*2 を選択可能になりました。 高頻度(最近は毎週)で Kaggle Notebooks を構成するための Docker イメージが更新されています。 バージョンの固定も可能です。

Google Colab

ブラウザ上の実行環境です。 Google Drive を簡単にマウントできる利点があります。 さまざまな課金プランが提供されています。 2023 年 11 月、サイドバーに環境変数設定できるようになりました。

VertexAI Workbench

JupyterLab を独自の設定で起動できる Google Cloud サービスです。 PyTorch や CUDA のバージョンを指定し環境構築できます。 「Kaggle Python [BETA]」という、Kaggle と同等の選択肢もあります。 コア数やメモリも設定できる他、課金額の見積もりが出るのも嬉しいです。