メインコンテンツへスキップ
Serverless Sandboxes は公開プレビューです。
このチュートリアルでは、Serverless Sandbox 環境で PyTorch モデルをトレーニングします。そのために、適切な環境変数を指定してサンドボックスを起動し、必要な依存関係をインストールして、Python スクリプトを実行します。このスクリプトは、UCI Zoo データセットを使ってニューラルネットワークをトレーニングします。 このチュートリアルを完了すると、トレーニング済みの PyTorch モデルファイルがローカルに保存されます。これにより、ローカルのインフラストラクチャーを構成しなくても、Serverless Sandbox を使用して分離された ML トレーニング ワークロードを実行する方法を確認できます。このチュートリアルは、再現可能なトレーニング ジョブ向けに Serverless Sandboxes を評価したい ML 実務者や開発者を対象としています。

前提条件

始める前に、以下のセットアップ手順を完了してください。

W&B Python SDK をインストール

W&B Python SDK は、後で Serverless Sandbox を作成して操作する際に使用する Sandbox インターフェースを提供します。pip を使用してインストールします:

W&B にログインして認証する

W&B Serverless Sandboxes はお使いの W&B アカウントで実行されるため、作成する前に認証する必要があります。wandb login CLI コマンドを実行し、表示される案内に従ってログインします。
W&B が認証情報をどのように検索するかについて詳しくは、wandb login のリファレンスドキュメントを参照してください。

トレーニングスクリプトと依存関係をコピーする

このチュートリアルに必要な 3 つのファイル (requirements ファイル、ハイパーパラメーター ファイル、トレーニングスクリプト) を用意します。次のドロップダウンを展開し、各コードサンプルをこのチュートリアルと同じディレクトリ内の別々のファイルにコピーしてください。 次のセクションでは、これらのファイルを読み込んで、W&B Serverless Sandbox で PyTorch モデルをトレーニングするスクリプトを実行します。
以下のコードを requirements.txt という名前のファイルにコピー&ペーストしてください。このファイルには、トレーニングスクリプトに必要な依存関係が含まれています。
requirements.txt
以下のコードを hyperparameters.yaml という名前の YAML ファイルにコピー&ペーストしてください。このファイルには、トレーニングスクリプトのハイパーパラメーターが含まれています。
hyperparameters.yaml
以下のコードを train.py という名前のファイルにコピー&ペーストしてください。このスクリプトは、UCI Zoo データセットで PyTorch モデルをトレーニングし、トレーニング済みのモデルを zoo_wandb.pth という名前のファイルに保存します。
train.py

サンドボックスを作成してトレーニングスクリプトを実行する

トレーニングファイルの準備ができたら、1 つの Python スクリプトから W&B Serverless Sandbox を作成して管理します。次のコードスニペットでは、サンドボックスを作成し、その中にトレーニングスクリプトと依存関係をコピーし、トレーニングスクリプトを実行して、生成されたモデルファイルをダウンロードする方法を示します。次のセクションでは、このコードを1行ずつ説明します。 次のコードを Python ファイルにコピー&ペーストして実行してください。前の手順で作成した train.pyrequirements.txthyperparameters.yaml と同じディレクトリに保存してください。
train_in_sandbox.py
前のコードスニペットでは、次の処理を行います。
  1. (6〜9行目) サンドボックスにマウントするファイル (train.pyrequirements.txt) を指定します。
  2. (12行目) サンドボックスを起動します。サンドボックスは、python:3.13 コンテナーイメージを使用し、インターネットアクセスを有効にし、最大有効期間を 3600 秒 (1 時間) に設定しています。
  3. (18行目) hyperparameters.yaml ファイルをサンドボックスに書き込みます。これにより、トレーニングスクリプト (train.py) の実行時にハイパーパラメーターへアクセスできるようになります。
  4. (22行目) 依存関係をインストールします。サンドボックス内で pip install -r requirements.txt コマンドが実行され、トレーニングスクリプトに必要な依存関係がインストールされます。
  5. (26行目) トレーニングスクリプトを実行します。サンドボックス内で python train.py --config hyperparameters.yaml コマンドが実行され、トレーニングが開始されます。このスクリプトは UCI Zoo データセットで PyTorch モデルをトレーニングし、トレーニング済みのモデルを zoo_wandb.pth という名前のファイルに保存します。
  6. (27〜29行目) 出力と終了コードを表示します。トレーニングスクリプトの実行完了後、デバッグと検証のために、標準出力、標準エラー出力、終了コードがコンソールに表示されます。
  7. (33〜34行目) 生成されたモデルファイルをダウンロードします。read_file() メソッドでサンドボックスから zoo_wandb.pth を読み取り、スクリプトがそれをローカルに保存します。
スクリプトの実行が完了すると、作業ディレクトリに zoo_wandb.pth として保存されたトレーニング済みの PyTorch モデルが作成されます。それを生成したサンドボックスは、必要に応じて作成、使用、破棄されます。