Skip to main content
このチュートリアルでは、ジョブを Vertex AI トレーニング ジョブとして実行するよう W&B Launch を設定する手順を説明します。これにより、トレーニング ワークロードを Google Cloud のマネージド インフラストラクチャーにオフロードできます。Vertex AI トレーニング ジョブでは、Vertex AI プラットフォーム上で、組み込みのアルゴリズムまたはカスタム アルゴリズムを使用して機械学習モデルをトレーニングできます。Launch job を開始すると、基盤となるインフラストラクチャー、スケーリング、オーケストレーションは Vertex AI が管理します。このガイドは、W&B Launch をすでに使用しており、Google Cloud Vertex AI でジョブを実行したい ML エンジニアおよびプラットフォーム管理者を対象としています。 W&B Launch は、google-cloud-aiplatform SDK の CustomJob クラスを介して Vertex AI と連携します。CustomJob のパラメーターは Launch キュー設定で制御できます。Vertex AI では、Google Cloud 外部のプライベート レジストリからイメージをプルするように設定することはできません。そのため、W&B Launch で Vertex AI を使用する場合は、コンテナーイメージを Google Cloud またはパブリック レジストリに保存する必要があります。Vertex ジョブからコンテナーイメージにアクセスできるようにする方法の詳細については、Vertex AI のドキュメントを参照してください。

前提条件

Launch キューを設定する前に、以下の Google Cloud リソースと権限が準備されていることを確認してください。
  1. Vertex AI API を有効にした Google Cloud プロジェクトを作成するか、既存のプロジェクトにアクセスできるようにします。 API の有効化の詳細については、Google Cloud API Console のドキュメントを参照してください。
  2. Vertex で実行するイメージを保存するための Google Cloud Artifact Registry リポジトリを作成します。詳細については、Google Cloud Artifact Registry のドキュメントを参照してください。
  3. Vertex AI がメタデータを保存するための ステージング用 GCS バケットを作成します。ステージングバケットとして使用するには、このバケットを Vertex AI ワークロードと同じリージョンに配置する必要があります。ステージングとビルドコンテキストには同じバケットを使用できます。
  4. Vertex AI ジョブを起動するために必要な権限を持つ サービスアカウントを作成します。サービスアカウントへの権限の割り当ての詳細については、Google Cloud IAM のドキュメントを参照してください。
  5. 次の表に示すとおり、サービスアカウントに Vertex ジョブを管理する権限を付与します。
Vertex AI ワークロードに標準以外のサービスアカウントのアイデンティティを引き受けさせる場合は、サービスアカウントの作成方法と必要な権限について Vertex AI のドキュメントを参照してください。W&B run で使用するカスタムサービスアカウントを選択するには、launch キュー設定の spec.service_account フィールドを使用します。

Vertex AI 用のキューを設定する

Google Cloud の前提条件が整ったら、次に、W&B Launch が Vertex AI ジョブを送信する際に使用するキュー設定を計画します。Vertex AI リソースのキュー設定では、Vertex AI Python SDK の CustomJob コンストラクターと、CustomJob の run メソッドに渡す入力を指定します。リソース設定は spec キーと run キーの下に格納されます。
  • spec キーには、Vertex AI Python SDK の CustomJob コンストラクターの名前付き引数に渡す値を指定します。
  • run キーには、Vertex AI Python SDK の CustomJob クラスの run メソッドの名前付き引数に渡す値を指定します。
実行環境は spec.worker_pool_specs リストでカスタマイズします。ワーカープール仕様では、ジョブを実行するワーカーのグループを定義します。デフォルト設定のワーカー仕様では、アクセラレーターなしの n1-standard-4 マシンを 1 台要求します。マシンタイプ、アクセラレータータイプ、アクセラレーターの数は、必要に応じて変更できます。 利用可能なマシンタイプとアクセラレータータイプの詳細については、Vertex AI のドキュメントを参照してください。

キューを作成する

キュー設定の計画ができたら、Vertex AI をコンピュートリソースとして使用するキューを W&B アプリで作成します。
  1. Launch ページにアクセスします。
  2. Create Queue ボタンをクリックします。
  3. キューを作成する Entity を選択します。
  4. Name フィールドにキューの名前を入力します。
  5. Resource として Google Cloud Vertex AI を選択します。
  6. Configuration フィールドに、Vertex AI 用のキューを設定するで定義した Vertex AI CustomJob の情報を入力します。デフォルトでは、次のような YAML および JSON のリクエストボディが W&B によって自動入力されます。
  7. キューの設定が完了したら、Create Queue ボタンをクリックします。
少なくとも次のフィールドは指定する必要があります。
  • spec.worker_pool_specs: ワーカープール仕様のリスト (空にはできません)。
  • spec.staging_bucket: Vertex AI のアセットとメタデータのステージングに使用する GCS バケット。
Vertex AI のドキュメントの一部では、ワーカープール仕様のキーがすべてキャメルケース (例: workerPoolSpecs) で記載されています。一方、Vertex AI Python SDK では、これらのキーにスネークケース (例: worker_pool_specs) を使用します。Launch キュー設定のキーには、すべてスネークケースを使用してください。

Launch エージェントを設定する

キューを作成したら、Launch エージェントを設定して、キューをポーリングし、ジョブを Vertex AI にディスパッチできるようにします。Launch エージェントの設定は設定ファイルで行います。この設定ファイルは、デフォルトでは ~/.config/wandb/launch-config.yaml に配置されています。
Vertex AI で実行するイメージを Launch エージェントにビルドさせる場合は、エージェントの高度な設定を参照してください。

エージェントの権限を設定する

最後に、前提条件で作成したサービスアカウントとして動作するために必要な認証情報を Launch エージェントに付与します。このサービスアカウントとして認証する方法は複数あります。ワークロード アイデンティティ、ダウンロードしたサービスアカウントの JSON、環境変数、Google Cloud Platform のコマンドラインツールのいずれか、またはこれらを組み合わせて認証できます。
最終更新日 2026年9月30日