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

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