google-cloud-aiplatform SDK の CustomJob クラスを介して Vertex AI と連携します。CustomJob の パラメータ は、 Launch キューの 設定 で制御できます。Vertex AI は、Google Cloud 外部のプライベートレジストリからイメージをプルするように設定することはできません。つまり、Vertex AI を W&B Launch で使用する場合、コンテナイメージを Google Cloud または公開レジストリに保存する必要があります。コンテナイメージを Vertex ジョブからアクセス可能にする方法の詳細については、Vertex AI のドキュメントを参照してください。
事前準備
- Vertex AI API が有効な Google Cloud プロジェクトを作成またはアクセスします。 API の有効化に関する詳細は、Google Cloud API コンソールのドキュメントを参照してください。
- Google Cloud Artifact Registry リポジトリを作成 して、Vertex で実行するイメージを保存します。詳細は Google Cloud Artifact Registry のドキュメントを参照してください。
- ステージング用の GCS バケットを作成 して、Vertex AI が メタデータ を保存できるようにします。この バケット は、ステージング バケット として使用するために、Vertex AI のワークロードと同じリージョンにある必要があることに注意してください。同じ バケット をステージングとビルドコンテキストの両方に使用できます。
- サービスアカウントを作成 し、Vertex AI ジョブを起動するために必要な権限を付与します。サービスアカウントへの権限割り当てに関する詳細は、Google Cloud IAM のドキュメントを参照してください。
- サービスアカウントに Vertex ジョブを管理する権限を付与します
| 権限 | リソーススコープ | 説明 |
|---|---|---|
aiplatform.customJobs.create | 指定した Google Cloud プロジェクト | プロジェクト内での新しい 機械学習 ジョブの作成を許可します。 |
aiplatform.customJobs.list | 指定した Google Cloud プロジェクト | プロジェクト内の 機械学習 ジョブの一覧表示を許可します。 |
aiplatform.customJobs.get | 指定した Google Cloud プロジェクト | 特定の 機械学習 ジョブに関する 情報 の取得を許可します。 |
Vertex AI ワークロードに標準以外のサービスアカウントの ID を使用させたい場合は、サービスアカウントの作成と必要な権限について Vertex AI のドキュメントを参照してください。 Launch キュー 設定 の
spec.service_account フィールドを使用して、W&B Runs 用のカスタムサービスアカウントを選択できます。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 マシンを要求します。必要に応じて、マシンタイプ、アクセラレータタイプ、および数を変更できます。
利用可能なマシンタイプとアクセラレータタイプの詳細については、Vertex AI ドキュメントを参照してください。
キューを作成する
コンピューティングリソースとして Vertex AI を使用するキューを W&B アプリで作成します。- Launch ページ に移動します。
- Create Queue ボタンをクリックします。
- キューを作成する Entity を選択します。
- Name フィールドにキューの名前を入力します。
- Resource として Google Cloud Vertex AI を選択します。
- Configuration フィールド内に、前のセクションで定義した Vertex AI
CustomJobに関する 情報 を入力します。デフォルトでは、W&B は以下のような YAML および JSON のリクエストボディを自動入力します。
- キューを 設定 したら、Create Queue ボタンをクリックします。
spec.worker_pool_specs: ワーカープール仕様の空でないリスト。spec.staging_bucket: Vertex AI のアセットと メタデータ のステージングに使用される GCS バケット。
Launch エージェントを設定する
Launch エージェント は、デフォルトで~/.config/wandb/launch-config.yaml にある設定ファイルを通じて 設定 可能です。