- キューのセットアップ: キューはFIFOであり、キュー設定を持っています。キューの設定は、ジョブがどこでどのように対象リソースで実行されるかを制御します。
- エージェントのセットアップ: エージェントはあなたのマシン/インフラストラクチャー上で実行され、1つ以上のキューからローンチジョブをポールします。ジョブがプルされると、エージェントはイメージがビルドされ、利用可能であることを確認します。その後、エージェントはジョブを対象リソースに送信します。
キューのセットアップ
Launch キューは、特定の対象リソースとそのリソースに特有の追加設定を指すように設定する必要があります。例えば、Kubernetes クラスターを指すローンチキューは、環境変数を含めたり、カスタムネームスペースのローンチキュー設定を設定したりします。キューを作成する際には、使用したい対象リソースとそのリソースに使用する設定の両方を指定します。 エージェントがキューからジョブを受け取ると、キュー設定も受け取ります。エージェントがジョブを対象リソースに送信する際には、キュー設定とジョブ自体のオーバーライドを含めます。例えば、ジョブ設定を使用して、特定のジョブインスタンスのみの Amazon SageMaker インスタンスタイプを指定することができます。この場合、エンドユーザーインターフェースとして queue config templates を使用することが一般的です。キューの作成
- wandb.ai/launch で Launch App へ移動します。
- 画面の右上にあるcreate queueボタンをクリックします。

- Entity のドロップダウンメニューから、そのキューが所属する エンティティ を選択します。
- Queue フィールドにキューの名前を入力します。
- Resource のドロップダウンから、ジョブをこのキューに追加する際に使用する計算リソースを選択します。
- このキューのPrioritizationを許可するかどうかを選択します。優先度が有効になっている場合、チームのユーザーは起動ジョブをエンキューする際にその優先度を定義できます。優先度が高いジョブは、優先度が低いジョブより先に実行されます。
- Configuration フィールドに、JSON または YAML 形式でリソース設定を提供します。設定ドキュメントの構造とセマンティクスは、キューが指すリソースタイプに依存します。詳細については、対象リソースに関する専用の設定ページを参照してください。
ローンチエージェントのセットアップ
ローンチエージェントは、ジョブのための1つ以上のローンチキューをポールする長時間実行されるプロセスです。ローンチエージェントは、FIFO 順序または優先順序でジョブをデキューし、ポールするキューに依存します。エージェントがキューからジョブをデキューすると、そのジョブのためにイメージをオプションでビルドします。その後、エージェントはジョブをキュー設定で指定された設定オプションとともに対象リソースに送信します。エージェントは非常に柔軟で、さまざまなユースケースをサポートするように設定できます。エージェントに必要な設定は、特定のユースケースに依存します。Docker、Amazon SageMaker、Kubernetes、または Vertex AI に関する専用ページを参照してください。
W&B は、特定のユーザーの APIキー ではなく、サービスアカウントの APIキー でエージェントを起動することをお勧めします。サービスアカウントの APIキー を使用することには次の2つの利点があります。
- エージェントは、特定のユーザーに依存しません。
- Launch によって作成された run に関連付けられた作成者が、エージェントに関連付けられたユーザーではなく、ローンチジョブを送信したユーザーとして Launch に表示されます。
エージェントの設定
launch-config.yaml という名前の YAML ファイルでローンチエージェントを設定します。デフォルトでは、W&B は ~/.config/wandb/launch-config.yaml に設定ファイルを確認します。ローンチエージェントをアクティブにするときに、異なるディレクトリーを指定することもできます。
ローンチエージェントの設定ファイルの内容は、ローンチエージェントの環境、ローンチキューの対象リソース、Dockerビルダ要件、クラウドレジストリ要件などに依存します。
ユースケースに関係なく、ローンチエージェントにはコア設定可能なオプションがあります。
max_jobs: エージェントが並行して実行できるジョブの最大数entity: キューが所属するエンティティqueues: エージェントが監視する1つ以上のキューの名前
W&B CLI を使用して、ローンチエージェントのためのユニバーサル設定可能オプションを指定できます(設定 YAMLファイルの代わりに)。最大ジョブ数、W&B エンティティ、およびローンチキューです。詳細については、
wandb launch-agent コマンドを参照してください。launch-config.yaml
コンテナビルダーの設定
ローンチエージェントをイメージ構築に使用するように設定できます。Git リポジトリまたはコードアーティファクトから作成されたローンチジョブを使用する場合、コンテナビルダーを使用するようにエージェントを設定する必要があります。Create a launch job を参照して、ローンチジョブの作成方法について詳しく学んでください。 W&B Launch は3つのビルダーオプションをサポートしています:- Docker: DockerビルダーはローカルのDockerデーモンを使用してイメージをビルドします。
- Kaniko: Kaniko は、Dockerデーモンが利用できない環境でのイメージ構築を可能にする Google のプロジェクトです。
- Noop: エージェントはジョブをビルドしようとせず、代わりに事前にビルドされたイメージをプルするだけです。
エージェントが Dockerデーモンが利用できない環境でポールしている場合(例えば、Kubernetesクラスター)、Kanikoビルダーを使用してください。Kanikoビルダーの詳細については、Set up Kubernetes を参照してください。
launch-config.yaml)の一部を示しています。
launch-config.yaml
コンテナレジストリの設定
場合によっては、ローンチエージェントをクラウドレジストリに接続したいかもしれません。ローンチエージェントをクラウドレジストリに接続したい一般的なシナリオは次のとおりです:- ジョブをビルドした場所以外の環境(強力なワークステーションやクラスターなど)でジョブを実行したい場合。
- エージェントを使用してイメージをビルドし、Amazon SageMakerやVertexAIでこれらのイメージを実行したい場合。
- エージェントにイメージリポジトリからプルするための資格情報を提供してもらいたい場合。
ローンチエージェントのアクティブ化
launch-agent W&B CLIコマンドを使用してローンチエージェントをアクティブ化します: