> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Launch を設定する

> キューを設定し、エージェントをデプロイしてコンピュートインフラストラクチャーにジョブを送信できるようにすることで、W&B Launch を設定します。

このページでは、W\&B Launch を設定するための大まかな手順を説明します。設定が完了すると、W\&B から独自のコンピュートインフラストラクチャー (Kubernetes、Amazon SageMaker、Vertex AI など) に機械学習ジョブを直接送信できます。Launch を設定することで、チームでコンピュートリソースを共有したり、ジョブをキューに追加したり、異なる環境間で run を再現したりできるようになります。

Launch を設定するには、次の作業を完了する必要があります。

1. **キューを設定する**: キューは先入れ先出し (FIFO) で処理され、それぞれにキュー設定があります。キュー設定では、ターゲットリソース上でジョブをどこでどのように実行するかを制御します。
2. **エージェントを設定する**: エージェントはお使いのマシンまたはインフラストラクチャー上で動作し、1 つ以上のキューをポーリングして Launch job を探します。エージェントはジョブをプルすると、イメージがビルド済みで利用可能であることを確認し、ジョブをターゲットリソースに送信します。

両方のステップを完了すると、チームは Launch job をキューに送信し、ターゲットリソース上で自動的に実行できるようになります。

<h2 id="set-up-a-queue">
  キューを設定する
</h2>

launch キューは、特定のターゲットリソースを指すように設定し、そのリソース固有の追加設定を含めることができます。たとえば、Kubernetes クラスターを指す launch キューでは、Launch キュー設定に環境変数を含めたり、カスタム namespace を設定したりできます。キューを作成するときは、使用するターゲットリソースと、そのリソースに適用する設定の両方を指定します。

エージェントはキューからジョブを受け取る際に、キュー設定も併せて受け取ります。エージェントがジョブをターゲットリソースに送信するときは、キュー設定に加えて、ジョブ自体のオーバーライドも含めて送信します。たとえば、ジョブ設定を使用すると、そのジョブインスタンスに限定して Amazon SageMaker のインスタンスタイプを指定できます。このような場合は、エンドユーザー向けのインターフェースとして[設定テンプレート](/ja/products/wandb/platform/launch/setup-queue-advanced#configure-queue-template)を使用するのが一般的です。

<h3 id="create-a-queue">
  キューを作成する
</h3>

キューを作成して、Launch job の実行先と設定方法を定義します。キューを作成するには、次の手順を実行します。

1. [https://forge.coreweave.com/wandb/launch](https://forge.coreweave.com/wandb/launch) で Launch App にアクセスします。
2. 画面右上の **create queue** ボタンをクリックします。
3. **Entity** ドロップダウンメニューから、キューが属する entity を選択します。
4. **Queue** フィールドにキューの名前を入力します。
5. **Resource** ドロップダウンから、このキューに追加されたジョブが使用するコンピュートリソースを選択します。
6. このキューで **Prioritization** を許可するかどうかを選択します。優先度付けを有効にすると、チームのユーザーは Launch job をキューに追加する際に優先度を指定できます。優先度の高いジョブは、優先度の低いジョブより先に実行されます。
7. **Configuration** フィールドに、JSON または YAML 形式でリソース設定を入力します。設定ドキュメントの構造と意味は、キューが指すリソースタイプによって異なります。詳細については、各ターゲットリソース専用のセットアップページを参照してください。

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/platform/_media/create-queue.gif?s=b1b45e0c25106d463208f8e8408bcd9d" alt="Launch キューの作成" width="1686" height="1450" data-path="products/wandb/platform/_media/create-queue.gif" />
</Frame>

これで、Launch job を受け取り、選択したターゲットリソースにルーティングできるキューが作成されました。次に、このキューからジョブをプルするエージェントを設定します。

<h2 id="set-up-a-launch-agent">
  Launch エージェントを設定する
</h2>

Launch エージェントは、1 つ以上の launch キューをポーリングしてジョブを取得する、長時間実行のプロセスです。Launch エージェントは、プルするキューに応じて、先入れ先出し (FIFO) または優先度順でキューからジョブを取り出します。エージェントはキューからジョブを取り出すと、必要に応じてそのジョブのイメージをビルドします。その後、キュー設定で指定された設定オプションとともに、ジョブをターゲットリソースに送信します。

<Note>
  エージェントは柔軟性が高く、さまざまなユースケースに合わせて設定できます。エージェントに必要な設定は、ユースケースによって異なります。詳しくは、[Docker](/ja/products/wandb/platform/launch/setup-launch-docker)、[Amazon SageMaker](/ja/products/wandb/platform/launch/setup-launch-sagemaker)、[Kubernetes](/ja/products/wandb/platform/launch/setup-launch-kubernetes)、[Vertex AI](/ja/products/wandb/platform/launch/setup-vertex) の各専用ページを参照してください。
</Note>

<Note>
  W\&B では、特定のユーザーの APIキーではなく、サービスアカウントの APIキーを使用してエージェントを起動することを推奨しています。サービスアカウントの APIキーを使用すると、次の 2 つの利点があります。

  * エージェントが個々のユーザーに依存しなくなります。
  * Launch で作成された run の作成者は、エージェントに関連付けられたユーザーではなく、Launch job を送信したユーザーとして扱われます。
</Note>

<h3 id="agent-configuration">
  エージェント設定
</h3>

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 つ以上のキューの名前。

<Note>
  設定 YAML ファイルの代わりに W\&B CLI を使用して、Launch エージェントの共通設定オプション (ジョブの最大数、W\&B entity、launch キュー) を指定することもできます。詳細については、[`wandb launch-agent`](/ja/products/wandb/ref/cli/wandb-launch-agent) コマンドを参照してください。
</Note>

次の YAML スニペットは、Launch エージェントの主要な設定キーの指定方法を示しています。`[ENTITY-NAME]` を W\&B entity に、`[QUEUE-NAME]` をエージェントがポーリングするキューの名前に置き換えてください。

```yaml title="launch-config.yaml" theme={"system"}
# 同時実行する run の最大数。-1 = 無制限
max_jobs: -1

entity: [ENTITY-NAME]

# ポーリング対象のキューのリスト。
queues:
  - [QUEUE-NAME]
```

<h3 id="configure-a-container-builder">
  コンテナービルダーを設定する
</h3>

Launch エージェントでイメージをビルドするように設定できます。git リポジトリまたはコードアーティファクトから作成した Launch job を使用する場合は、コンテナービルダーを使用するようにエージェントを設定する必要があります。Launch job の作成方法の詳細については、[Launch job を作成する](/ja/products/wandb/platform/launch/create-launch-job)を参照してください。

W\&B Launch は、次の 3 つのビルダーオプションをサポートしています。

* Docker: Docker ビルダーは、ローカルの Docker デーモンを使用してイメージをビルドします。
* [Kaniko](https://github.com/GoogleContainerTools/kaniko): Kaniko は Google のプロジェクトで、Docker デーモンを利用できない環境でもイメージをビルドできます。
* Noop: エージェントはジョブをビルドせず、ビルド済みのイメージをプルするだけです。

<Note>
  Docker デーモンを利用できない環境 (Kubernetes クラスターなど) でエージェントがポーリングする場合は、Kaniko ビルダーを使用してください。

  Kaniko ビルダーの詳細については、[Kubernetes を設定する](/ja/products/wandb/platform/launch/setup-launch-kubernetes)を参照してください。
</Note>

イメージビルダーを指定するには、エージェント設定に builder キーを含めます。たとえば、次のコードスニペットは Launch 設定 (`launch-config.yaml`) の一部で、Docker または Kaniko の使用を指定しています。

```yaml title="launch-config.yaml" theme={"system"}
builder:
  type: docker | kaniko | noop
```

<h3 id="configure-a-container-registry">
  コンテナーレジストリを設定する
</h3>

Launch エージェントをレジストリに接続し、ビルド済みのイメージをプルしたり、エージェントがビルドしたイメージをプッシュしたりしたい場合があります。Launch エージェントをレジストリに接続する主なシナリオは次のとおりです。

* 高性能なワークステーションやクラスターなど、ビルドした環境とは別の環境でジョブを実行したい場合。
* エージェントを使用してイメージをビルドし、それらのイメージを Amazon SageMaker または Vertex AI で実行したい場合。
* イメージリポジトリからプルする際の認証情報を Launch エージェントから提供したい場合。

コンテナーレジストリと連携するようにエージェントを設定する方法の詳細については、[エージェントの高度なセットアップ](/ja/products/wandb/platform/launch/setup-agent-advanced)のページを参照してください。

<h2 id="activate-the-launch-agent">
  Launch エージェントを起動する
</h2>

エージェントを設定したら、起動します。起動すると、エージェントは指定したキューのポーリングを開始し、ジョブをターゲットリソースにディスパッチします。Launch エージェントを起動するには、W\&B CLI の `launch-agent` コマンドを使用します。`[QUEUE-1]` と `[QUEUE-2]` は、エージェントがポーリングするキューの名前に置き換えてください。

```bash theme={"system"}
wandb launch-agent -q [QUEUE-1] -q [QUEUE-2] --max-jobs 5
```

エージェントが起動すると、指定したキューに送信されたジョブをエージェントがプルし、ターゲットリソースに転送します。

Kubernetes クラスター内で Launch エージェントにキューをポーリングさせたい場合もあります。詳細については、[キューの高度な設定ページ](/ja/products/wandb/platform/launch/setup-queue-advanced)を参照してください。
