チュートリアル: W&B ローンンチ 基本事項
2 minute read
What is Launch?
W&B Launch を使用して、トレーニング Runs をデスクトップから Amazon SageMaker、Kubernetes などの計算リソースに簡単にスケールできます。W&B Launch の設定が完了すると、トレーニング スクリプト、モデルの評価スイート、プロダクション推論用のモデルの準備などを、数回のクリックとコマンドで迅速に実行できます。
仕組み
Launch は、launch jobs、queues、agents の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 プロジェクトで閲覧できます。
- このリポジトリから作成された Launch Job は、この公開された
Walkthrough
このページでは、W&B Launch ワークフローの基本を案内します。
Prerequisites
開始する前に、次の前提条件が満たされていることを確認してください。
- https://wandb.ai/site でアカウントに登録し、その後 W&B アカウントにログインします。
- この Walkthrough には、動作する Docker CLI とエンジン付きのマシンへのターミナル アクセスが必要です。詳細については Docker インストールガイド を参照してください。
- W&B Python SDK バージョン
0.17.1
以上をインストールします:
pip install wandb>=0.17.1
- ターミナル内で
wandb login
を実行するか、WANDB_API_KEY
環境変数を設定して W&B を認証します。
ターミナル内で以下を実行します:
```bash
wandb login
```
```bash
WANDB_API_KEY=<your-api-key>
```
`<your-api-key>` をあなたの W&B API キーに置き換えます。
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 を確認します。
同じ hello-world ジョブを W&B Launch jobs リポジトリ内のソースコード から起動するには、次のコマンドを実行します。
wandb launch --uri https://github.com/wandb/launch-jobs.git \\
--job-name hello-world-git --project launch-quickstart \\
--build-context jobs/hello_world --dockerfile Dockerfile.wandb \\
--entry-point "python job.py"
このコマンドは次のことを行います。
- W&B Launch jobs リポジトリ を一時ディレクトリにクローンします。
- hello プロジェクト内に hello-world-git という名前のジョブを作成します。このジョブは、コードの実行に使用される正確なソースコードと設定を追跡します。
jobs/hello_world
ディレクトリとDockerfile.wandb
からコンテナイメージをビルドします。- コンテナを開始し、
job.py
Python スクリプトを実行します。
コンソール出力には、イメージのビルドと実行が表示されます。コンテナの出力は、前の例とほぼ同じである必要があります。
git リポジトリにバージョン管理されていないコードは、--uri
引数にローカルディレクトリパスを指定することで起動できます。
空のディレクトリを作成し、次の内容を持つ train.py
という名前の Python スクリプトを追加します。
import wandb
with wandb.init() as run:
run.log({"hello": "world"})
次の内容で requirements.txt
ファイルを追加します。
wandb>=0.17.1
ディレクトリ内から次のコマンドを実行します。
wandb launch --uri . --job-name hello-world-code --project launch-quickstart --entry-point "python train.py"
このコマンドは次のことを行います。
- 現在のディレクトリの内容を W&B に Code Artifact としてログします。
- launch-quickstart プロジェクトに hello-world-code という名前のジョブを作成します。
train.py
とrequirements.txt
を基礎イメージにコピーしてコンテナイメージをビルドし、pip install
で要件をインストールします。- コンテナを開始して
python train.py
を実行します。
Create a queue
Launch は、Teams が共有計算を中心にワークフローを構築するのを支援するように設計されています。これまでの例では、wandb launch
コマンドがローカルマシンでコンテナを同期的に実行しました。Launch キューとエージェントを使用すると、共有リソースでジョブを非同期に実行し、優先順位付けやハイパーパラメータ最適化などの高度な機能を実現できます。基本的なキューを作成するには、次の手順に従います。
- wandb.ai/launch にアクセスし、Create a queue ボタンをクリックします。
- キューを関連付ける Entity を選択します。
- Queue name を入力します。
- Resource として Docker を選択します。
- 今のところ、Configuration は空白のままにします。
- 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つのジョブが表示されるはずです。
新しいジョブのいずれかを選択し、それをキューに送信する手順は次のとおりです。
- Launch ボタンをクリックして、ジョブをキューに送信します。 Launch ドロワーが表示されます。
- 先ほど作成した 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>
フィードバック
このページは役に立ちましたか?
Glad to hear it! If you have further feedback, please let us know.
Sorry to hear that. Please tell us how we can improve.