Launch とは
Colab で試す
仕組み
Launch は、Launch job、キュー、エージェント という 3 つの基本コンポーネントで構成されています。 Launch job は、ML ワークフロー内のタスクを設定して実行するための設計図です。作成した Launch job は launch キュー に追加できます。launch キューは先入れ先出し (FIFO) のキューです。このキューを使用して、Amazon SageMaker や Kubernetes クラスターなどの特定のコンピュートターゲットリソースに向けてジョブを設定し、送信できます。 ジョブがキューに追加されると、Launch エージェント がそのキューをポーリングし、キューのターゲットとなっているシステム上でジョブを実行します。
はじめに
ユースケースに応じて、以下のリソースを参照し、W&B Launch を使い始めてください。- W&B Launch を初めて使用する場合は、まず Launch ウォークスルーガイドをご覧ください。
- W&B Launch の設定方法を確認します。
- Launch job を作成します。
- W&B Launch の公開ジョブ GitHub リポジトリでは、Triton へのデプロイや LLM の評価など、一般的なタスクのテンプレートを確認できます。
- このリポジトリから作成された Launch job は、公開されている W&B プロジェクト
wandb/jobsproject で確認できます。
- このリポジトリから作成された Launch job は、公開されている W&B プロジェクト
ウォークスルー
このページでは、W&B Launch ワークフローの基本を順を追って説明します。W&B Launch は、機械学習ワークロードをコンテナー内で実行します。このウォークスルーを進めるうえでコンテナーの知識は必須ではありませんが、あると理解しやすくなります。コンテナーの概要については、Docker のドキュメントを参照してください。
前提条件
始める前に、以下の前提条件を満たしていることを確認してください。これらは、このウォークスルーで後ほどコマンドを実行するために必要なアカウント、ツール、認証に関する条件です。- https://wandb.ai/site でアカウントを作成し、W&B アカウントにログインします。
- このウォークスルーでは、Docker CLI と Docker エンジンが正常に動作するマシンにターミナルからアクセスできる必要があります。詳しくは Docker インストールガイド を参照してください。
- W&B Python SDK バージョン
0.17.1以降をインストールします。 - ターミナルで
wandb loginを実行するか、WANDB_API_KEY環境変数を設定して、W&B で認証します。
- W&B にログイン
- 環境変数
ターミナルで次のコマンドを実行します。
Launch job を作成する
Launch job は Launch に実行させるワークロードの設計図です。キューに作業を送信するには、事前に Launch job を作成しておく必要があります。Launch job は、Docker イメージを使用する方法、Git リポジトリから作成する方法、ローカルのソースコードから作成する方法の 3 通りで作成できます。- Docker イメージを使用する
- Git リポジトリから作成する
- ローカルのソースコードから作成する
W&B にメッセージをログする既製のコンテナーを実行するには、ターミナルを開いて次のコマンドを実行します。このコマンドは、コンテナーイメージ
wandb/job_hello_world:main をダウンロードして実行します。Launch は、wandb でログされたすべての内容が launch-quickstart project に送られるようにコンテナーを設定します。コンテナーは W&B にメッセージをログし、W&B 上の run へのリンクを表示します。リンクをクリックすると、W&B UI で run を確認できます。キューを作成する
Launch job の準備ができたら、次のステップとして、ジョブをどこでどのように実行するかを定義するキューを作成します。Launch は、チームが共有コンピュートを軸にワークフローを構築できるように設計されています。これまでの例では、wandb launch コマンドはローカルマシン上でコンテナーを同期的に実行していました。launch キューとエージェントを使用すると、共有リソース上でジョブを非同期に実行できるほか、優先順位付けやハイパーパラメーター最適化などの高度な機能も利用できます。基本的なキューを作成するには、次の手順に従ってください。
- https://forge.coreweave.com/wandb/launch にアクセスし、Create a queue ボタンをクリックします。
- キューを関連付ける Entity を選択します。
- Queue name を入力します。
- Resource として Docker を選択します。
- Configuration は空欄のままにします。
- Create queue をクリックします。

エージェントをキューに接続する
キューは、エージェントがポーリングするまでアイドル状態のままです。そのため、ジョブを実行するには、先にエージェントを接続する必要があります。キューをポーリングしているエージェントがない場合、キュービューの画面上部に赤いバナーが表示され、そこに Add an agent ボタンが表示されます。このボタンをクリックすると、エージェントを実行するためのコマンドを確認してコピーできます。コマンドは次のようになります。[QUEUE-NAME] をキュー名に、[ENTITY-NAME] を W&B の entity に置き換えてください。ターミナルでこのコマンドを実行して、エージェントを起動します。エージェントは指定されたキューをポーリングし、実行するジョブを取得します。ジョブを受け取ると、エージェントはそのジョブのコンテナーイメージをダウンロードまたはビルドしてから実行します。これは、wandb launch コマンドをローカルで実行した場合と同じ動作です。
Launch ページに戻り、キューが Active と表示されていることを確認してください。
キューにジョブを送信する
キューとポーリングを行うエージェントの準備ができたので、先ほど作成した Launch job のいずれかを送信し、共有コンピュート上で実行される様子を確認しましょう。W&B アカウントの launch-quickstart project にアクセスし、画面左側のナビゲーションからジョブタブを開きます。 Jobs ページには、過去の run から作成されたジョブの一覧が表示されます。Launch job をクリックすると、ソースコード、依存関係、およびそのジョブから作成された run を確認できます。このウォークスルーを完了すると、一覧には 3 つのジョブが表示されます。 いずれかのジョブを選び、次の手順に従ってキューに送信します。- Launch ボタンをクリックして、ジョブをキューに送信します。Launch ドロワーが表示されます。
- 先ほど作成した Queue を選択し、Launch をクリックします。
wandb launch コマンドで --queue 引数を指定すると、ジョブをキューに直接プッシュできます。たとえば、hello-world コンテナージョブをキューに送信するには、次のコマンドを実行します。
[QUEUE-NAME] を実際のキュー名に置き換えてください。
これで、W&B Launch のワークフロー一式が完成しました。Launch job、キュー、キューをポーリングするエージェント、そして共有コンピュート上で非同期に実行されるジョブで構成されています。このパターンは、独自のトレーニング、評価、推論のワークロードにも再利用できます。