- キューを設定する: キューは先入れ先出し (FIFO) で処理され、それぞれにキュー設定があります。キュー設定では、ターゲットリソース上でジョブをどこでどのように実行するかを制御します。
- エージェントを設定する: エージェントはお使いのマシンまたはインフラストラクチャー上で動作し、1 つ以上のキューをポーリングして Launch job を探します。エージェントはジョブをプルすると、イメージがビルド済みで利用可能であることを確認し、ジョブをターゲットリソースに送信します。
キューを設定する
launch キューは、特定のターゲットリソースを指すように設定し、そのリソース固有の追加設定を含めることができます。たとえば、Kubernetes クラスターを指す launch キューでは、Launch キュー設定に環境変数を含めたり、カスタム namespace を設定したりできます。キューを作成するときは、使用するターゲットリソースと、そのリソースに適用する設定の両方を指定します。 エージェントはキューからジョブを受け取る際に、キュー設定も併せて受け取ります。エージェントがジョブをターゲットリソースに送信するときは、キュー設定に加えて、ジョブ自体のオーバーライドも含めて送信します。たとえば、ジョブ設定を使用すると、そのジョブインスタンスに限定して Amazon SageMaker のインスタンスタイプを指定できます。このような場合は、エンドユーザー向けのインターフェースとして設定テンプレートを使用するのが一般的です。キューを作成する
キューを作成して、Launch job の実行先と設定方法を定義します。キューを作成するには、次の手順を実行します。- https://forge.coreweave.com/wandb/launch で Launch App にアクセスします。
- 画面右上の create queue ボタンをクリックします。
- Entity ドロップダウンメニューから、キューが属する entity を選択します。
- Queue フィールドにキューの名前を入力します。
- Resource ドロップダウンから、このキューに追加されたジョブが使用するコンピュートリソースを選択します。
- このキューで Prioritization を許可するかどうかを選択します。優先度付けを有効にすると、チームのユーザーは Launch job をキューに追加する際に優先度を指定できます。優先度の高いジョブは、優先度の低いジョブより先に実行されます。
- Configuration フィールドに、JSON または YAML 形式でリソース設定を入力します。設定ドキュメントの構造と意味は、キューが指すリソースタイプによって異なります。詳細については、各ターゲットリソース専用のセットアップページを参照してください。

Launch エージェントを設定する
Launch エージェントは、1 つ以上の launch キューをポーリングしてジョブを取得する、長時間実行のプロセスです。Launch エージェントは、プルするキューに応じて、先入れ先出し (FIFO) または優先度順でキューからジョブを取り出します。エージェントはキューからジョブを取り出すと、必要に応じてそのジョブのイメージをビルドします。その後、キュー設定で指定された設定オプションとともに、ジョブをターゲットリソースに送信します。エージェントは柔軟性が高く、さまざまなユースケースに合わせて設定できます。エージェントに必要な設定は、ユースケースによって異なります。詳しくは、Docker、Amazon SageMaker、Kubernetes、Vertex AI の各専用ページを参照してください。
W&B では、特定のユーザーの APIキーではなく、サービスアカウントの APIキーを使用してエージェントを起動することを推奨しています。サービスアカウントの APIキーを使用すると、次の 2 つの利点があります。
- エージェントが個々のユーザーに依存しなくなります。
- Launch で作成された run の作成者は、エージェントに関連付けられたユーザーではなく、Launch job を送信したユーザーとして扱われます。
エージェント設定
Launch エージェントを設定して、ポーリング対象のキュー、動作させる entity、並列実行するジョブの数を指定します。Launch エージェントは、launch-config.yaml という名前の YAML ファイルで設定します。デフォルトでは、W&B は ~/.config/wandb/launch-config.yaml にある設定ファイルを参照します。Launch エージェントを有効化する際に、別のディレクトリを指定することもできます。
Launch エージェントの設定ファイルの内容は、Launch エージェントの環境、launch キューのターゲットリソース、Docker ビルダーの要件、レジストリの要件などによって異なります。
ユースケースにかかわらず、Launch エージェントには次の主要な設定オプションがあります。
max_jobs: エージェントが並列で実行できるジョブの最大数。entity: キューが属する entity。queues: エージェントが監視する 1 つ以上のキューの名前。
設定 YAML ファイルの代わりに W&B CLI を使用して、Launch エージェントの共通設定オプション (ジョブの最大数、W&B entity、launch キュー) を指定することもできます。詳細については、
wandb launch-agent コマンドを参照してください。[ENTITY-NAME] を W&B entity に、[QUEUE-NAME] をエージェントがポーリングするキューの名前に置き換えてください。
launch-config.yaml
コンテナービルダーを設定する
Launch エージェントでイメージをビルドするように設定できます。git リポジトリまたはコードアーティファクトから作成した Launch job を使用する場合は、コンテナービルダーを使用するようにエージェントを設定する必要があります。Launch job の作成方法の詳細については、Launch job を作成するを参照してください。 W&B Launch は、次の 3 つのビルダーオプションをサポートしています。- Docker: Docker ビルダーは、ローカルの Docker デーモンを使用してイメージをビルドします。
- Kaniko: Kaniko は Google のプロジェクトで、Docker デーモンを利用できない環境でもイメージをビルドできます。
- Noop: エージェントはジョブをビルドせず、ビルド済みのイメージをプルするだけです。
Docker デーモンを利用できない環境 (Kubernetes クラスターなど) でエージェントがポーリングする場合は、Kaniko ビルダーを使用してください。Kaniko ビルダーの詳細については、Kubernetes を設定するを参照してください。
launch-config.yaml) の一部で、Docker または Kaniko の使用を指定しています。
launch-config.yaml
コンテナーレジストリを設定する
Launch エージェントをレジストリに接続し、ビルド済みのイメージをプルしたり、エージェントがビルドしたイメージをプッシュしたりしたい場合があります。Launch エージェントをレジストリに接続する主なシナリオは次のとおりです。- 高性能なワークステーションやクラスターなど、ビルドした環境とは別の環境でジョブを実行したい場合。
- エージェントを使用してイメージをビルドし、それらのイメージを Amazon SageMaker または Vertex AI で実行したい場合。
- イメージリポジトリからプルする際の認証情報を Launch エージェントから提供したい場合。
Launch エージェントを起動する
エージェントを設定したら、起動します。起動すると、エージェントは指定したキューのポーリングを開始し、ジョブをターゲットリソースにディスパッチします。Launch エージェントを起動するには、W&B CLI のlaunch-agent コマンドを使用します。[QUEUE-1] と [QUEUE-2] は、エージェントがポーリングするキューの名前に置き換えてください。