google-cloud-aiplatform SDK の CustomJob クラスを介して Vertex AI と連携します。CustomJob のパラメータは、ローンチキュー設定で制御できます。Vertex AI は、GCP 外のプライベートレジストリからイメージをプルするように設定することはできません。つまり、Vertex AI と W&B Launch を使用したい場合、コンテナイメージを GCP またはパブリックレジストリに保存する必要があります。コンテナイメージを Vertex ジョブでアクセス可能にするための詳細は、Vertex AI ドキュメントを参照してください。
前提条件
- Vertex AI API が有効になっている GCP プロジェクトを作成またはアクセスしてください。 API を有効にする方法については、GCP API コンソールドキュメント を参照してください。
- Vertex で実行したいイメージを保存するための GCP Artifact Registry リポジトリを作成してください。 詳細については、GCP Artifact Registry ドキュメント を参照してください。
- Vertex AI がメタデータを保存するステージング GCS バケットを作成してください。 このバケットは、Vertex AI ワークロードと同じリージョンにある必要があります。ステージングおよびビルドコンテキストには同じバケットを使用できます。
- Vertex AI ジョブを立ち上げるために必要な権限を持つサービスアカウントを作成してください。 サービスアカウントに権限を割り当てる方法については、GCP IAM ドキュメント を参照してください。
- サービスアカウントに Vertex ジョブを管理する権限を付与してください。
| パーミッション | リソーススコープ | 説明 |
|---|---|---|
aiplatform.customJobs.create | 指定された GCP プロジェクト | プロジェクト内で新しい機械学習ジョブを作成することができます。 |
aiplatform.customJobs.list | 指定された GCP プロジェクト | プロジェクト内の機械学習ジョブを列挙することができます。 |
aiplatform.customJobs.get | 指定された GCP プロジェクト | プロジェクト内の特定の機械学習ジョブの情報を取得することができます。 |
Vertex AI ワークロードに標準以外のサービスアカウントのアイデンティティを引き継がせたい場合は、Vertex AI ドキュメントを参照してサービスアカウントの作成と必要な権限についての手順を確認してください。ローンチキュー設定の
spec.service_account フィールドを使用して、W&B の run 用のカスタムサービスアカウントを選択できます。Vertex AI 用キューを設定
Vertex AI リソース用のキュー設定は、Vertex AI Python SDK の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 アプリで作成する:- Launch ページ に移動します。
- Create Queue ボタンをクリックします。
- キューを作成したい Entity を選択します。
- Name フィールドにキューの名前を入力します。
- Resource として GCP Vertex を選択します。
-
Configuration フィールドに、前のセクションで定義した Vertex AI
CustomJobについての情報を入力します。デフォルトで、W&B は次のような YAML および JSON のリクエストボディを自動入力します: - キューを設定したら、Create Queue ボタンをクリックします。
spec.worker_pool_specs: 非空のワーカープール仕様リスト。spec.staging_bucket: Vertex AI アセットとメタデータのステージングに使用する GCS バケット。
ローンチエージェントを設定
ローンチエージェントは、デフォルトでは~/.config/wandb/launch-config.yaml にある設定ファイルを介して設定可能です。