google-cloud-aiplatform SDK の CustomJob クラスを介して Vertex AI と連携します。CustomJob のパラメーターは、Launch キュー設定で制御できます。Vertex AI は、Google Cloud 外のプライベートレジストリからイメージを取得するようには設定できません。つまり、W&B Launch で Vertex AI を使用する場合、コンテナーイメージは Google Cloud またはパブリックレジストリに保存する必要があります。Vertex ジョブからコンテナーイメージにアクセスできるようにする方法の詳細については、Vertex AI documentation を参照してください。
前提条件
- Vertex AI API を有効にした Google Cloud プロジェクトを作成するか、アクセスできるようにします。 API の有効化について詳しくは、Google Cloud API Console のドキュメントを参照してください。
- Google Cloud Artifact Registry リポジトリを作成します。Vertex で実行するイメージの保存先として使用します。詳しくは、Google Cloud Artifact Registry のドキュメントを参照してください。
- ステージング用の GCS バケットを作成します。これは Vertex AI がメタデータを保存するために使用します。このバケットをステージング用バケットとして使用するには、Vertex AI ワークロードと同じリージョンにある必要があります。ステージングとビルドコンテキストの両方に同じバケットを使用できます。
- サービスアカウントを作成します。Vertex AI ジョブを起動するために必要な権限を付与してください。サービスアカウントへの権限の割り当てについて詳しくは、Google Cloud IAM のドキュメントを参照してください。
- サービスアカウントに Vertex ジョブを管理する権限を付与します
| Permission | Resource Scope | Description |
|---|---|---|
aiplatform.customJobs.create | 指定した Google Cloud プロジェクト | プロジェクト内で新しい機械学習ジョブを作成できます。 |
aiplatform.customJobs.list | 指定した Google Cloud プロジェクト | プロジェクト内の機械学習ジョブを一覧表示できます。 |
aiplatform.customJobs.get | 指定した Google Cloud プロジェクト | プロジェクト内の特定の機械学習ジョブに関する情報を取得できます。 |
Vertex AI ワークロードで標準以外のサービスアカウントのアイデンティティを使用する場合は、サービスアカウントの作成方法と必要な権限について Vertex AI のドキュメントを参照してください。Launch キュー設定の
spec.service_account フィールドを使用すると、W&B run にカスタムサービスアカウントを選択できます。Vertex AI 用のキューを設定する
CustomJob コンストラクタと CustomJob の run method に渡す入力を指定します。リソースの設定は、spec キーと run キーの下に保存されます。
specキーには、Vertex AI Python SDK のCustomJobコンストラクタ の名前付き引数に対応する値が含まれます。runキーには、Vertex AI Python SDK のCustomJobクラスのrunmethod の名前付き引数に対応する値が含まれます。
spec.worker_pool_specs リストで行います。worker pool spec は、ジョブを実行する worker のグループを定義します。デフォルトの設定に含まれる worker spec では、アクセラレータなしの n1-standard-4 マシン 1 台が指定されています。必要に応じて、マシンタイプ、アクセラレータタイプ、アクセラレータ数を変更できます。
利用可能なマシンタイプとアクセラレータタイプの詳細については、Vertex AI documentation を参照してください。
キューを作成する
- Launch ページにアクセスします。
- Create Queue ボタンをクリックします。
- キューを作成する Entity を選択します。
- 名 フィールドにキューの名前を入力します。
- Resource として Google Cloud Vertex AI を選択します。
- 設定 フィールドで、前のセクションで定義した Vertex AI
CustomJobに関する情報を入力します。デフォルトでは、W&B によって次のような YAML および JSON のリクエストボディが入力されます。
- キューを設定したら、Create Queue ボタンをクリックします。
spec.worker_pool_specs: 空でない worker pool specification のリスト。spec.staging_bucket: Vertex AI のアセットとメタデータのステージングに使用する GCS bucket。
Launch エージェントを設定する
~/.config/wandb/launch-config.yaml にある設定ファイルで設定できます。