Skip to main content

What is Launch?

Try in Colab

W&B Launch を使用して、トレーニング Runs をデスクトップから Amazon SageMaker、Kubernetes などの計算リソースに簡単にスケールできます。W&B Launch の設定が完了すると、トレーニング スクリプト、モデルの評価スイート、プロダクション推論用のモデルの準備などを、数回のクリックとコマンドで迅速に実行できます。

仕組み

Launch は、launch jobsqueuesagents の3つの基本的なコンポーネントで構成されています。 launch jobは、ML ワークフローでタスクを設定および実行するためのブループリントです。Launch Job を作成したら、launch queue に追加できます。Launch Queue は、Amazon SageMaker や Kubernetes クラスターなどの特定のコンピュートターゲットリソースに Jobs を構成して送信できる先入れ先出し (FIFO) のキューです。 ジョブがキューに追加されると、launch agents がそのキューをポーリングし、キューによってターゲットとされたシステムでジョブを実行します。
ユースケースに基づいて、あなた自身またはチームの誰かが選択した compute resource target(たとえば、Amazon SageMaker)に従って Launch Queue を設定し、独自のインフラストラクチャーに Launch エージェントをデプロイします。 Launch Jobs、キューの仕組み、Launch エージェント、および W&B Launch の動作に関する追加情報については、Terms and Concepts ページを参照してください。

開始方法

ユースケースに応じて、W&B Launch を始めるために次のリソースを確認してください。
  • 初めて W&B Launch を使用する場合は、Walkthrough ガイドを閲覧することをお勧めします。
  • W&B Launch の設定方法を学びます。
  • Launch Job を作成します。
  • Triton へのデプロイや LLM の評価などの一般的なタスクのテンプレートについては、W&B Launch の公開ジョブ GitHub リポジトリ をチェックしてください。
    • このリポジトリから作成された Launch Job は、この公開された wandb/jobs project W&B プロジェクトで閲覧できます。

Walkthrough

このページでは、W&B Launch ワークフローの基本を案内します。
W&B Launch は、コンテナ内で機械学習ワークロードを実行します。コンテナについての知識は必須ではありませんが、このWalkthroughに役立ちます。コンテナの入門書は Docker ドキュメント をご覧ください。

Prerequisites

開始する前に、次の前提条件が満たされていることを確認してください。
  1. https://wandb.ai/site でアカウントに登録し、その後 W&B アカウントにログインします。
  2. この Walkthrough には、動作する Docker CLI とエンジン付きのマシンへのターミナル アクセスが必要です。詳細については Docker インストールガイド を参照してください。
  3. W&B Python SDK バージョン 0.17.1 以上をインストールします:
    pip install wandb>=0.17.1
    
  4. ターミナル内で wandb login を実行するか、WANDB_API_KEY 環境変数を設定して W&B を認証します。
ターミナル内で以下を実行します:
wandb login

Create a launch job

Docker イメージ、git リポジトリから、またはローカルソースコードから3つの方法のいずれかで Launch Job を作成します。
W&B にメッセージをログする事前に作成されたコンテナを実行するには、ターミナルを開いて次のコマンドを実行します。
wandb launch --docker-image wandb/job_hello_world:main --project launch-quickstart
前述のコマンドは、コンテナイメージ wandb/job_hello_world:main をダウンロードして実行します。Launch は、wandb でログされたすべての情報を launch-quickstart プロジェクトに報告するようにコンテナを設定します。コンテナは W&B にメッセージをログし、新しく作成された Run へのリンクを W&B に表示します。リンクをクリックして、W&B UI で Run を確認します。

Create a queue

Launch は、Teams が共有計算を中心にワークフローを構築するのを支援するように設計されています。これまでの例では、wandb launch コマンドがローカルマシンでコンテナを同期的に実行しました。Launch キューとエージェントを使用すると、共有リソースでジョブを非同期に実行し、優先順位付けやハイパーパラメータ最適化などの高度な機能を実現できます。基本的なキューを作成するには、次の手順に従います。
  1. wandb.ai/launch にアクセスし、Create a queue ボタンをクリックします。
  2. キューを関連付ける Entity を選択します。
  3. Queue name を入力します。
  4. Resource として Docker を選択します。
  5. 今のところ、Configuration は空白のままにします。
  6. Create queue をクリックします :rocket:
ボタンをクリックすると、ブラウザはキュー表示の Agents タブにリダイレクトされます。キューにエージェントがポーリングされるまで、キューは Not active 状態のままです。
高度なキューの設定オプションについては、advanced queue setup ページ を参照してください。

Connect an agent to the queue

キューにポーリング エージェントがない場合、キュー ビューには画面上部の赤いバナーに Add an agent ボタンが表示されます。ボタンをクリックしてコマンドをコピーし、エージェントを実行します。コマンドは次のようになります。
wandb launch-agent --queue <queue-name> --entity <entity-name>
コマンドをターミナルで実行してエージェントを起動します。エージェントは指定されたキューをポーリングして、実行するジョブを収集します。受信後、エージェントはジョブのためにコンテナイメージをダウンロードまたはビルドして実行します。wandb launch コマンドがローカルで実行されたかのように。 Launch ページ に戻って、キューが Active として表示されていることを確認します。

Submit a job to the queue

W&B アカウントの launch-quickstart プロジェクトに移動し、画面の左側のナビゲーションから Jobs タブを開きます。 Jobs ページには、以前に実行された Runs から作成された W&B Jobs のリストが表示されます。Launch Job をクリックすると、ソースコード、依存関係、およびジョブから作成されたすべての Runs を表示できます。この Walkthrough を完了すると、リストに3つのジョブが表示されるはずです。 新しいジョブのいずれかを選択し、それをキューに送信する手順は次のとおりです。
  1. Launch ボタンをクリックして、ジョブをキューに送信します。 Launch ドロワーが表示されます。
  2. 先ほど作成した Queue を選択し、Launch をクリックします。
これにより、ジョブがキューに送信されます。このキューをポーリングするエージェントがジョブを取得し、実行します。ジョブの進行状況は、W&B UI からやターミナル内のエージェントの出力を調査することで監視できます。 wandb launch コマンドは --queue 引数を指定することで Jobs をキューに直接プッシュできます。たとえば、hello-world コンテナジョブをキューに送信するには、次のコマンドを実行します。
wandb launch --docker-image wandb/job_hello_world:main --project launch-quickstart --queue <queue-name>