メインコンテンツへスキップ
W&B Launch では、ジョブキューに追加して run を作成します。ジョブは、W&B を組み込んだ Python スクリプトです。キューには、ターゲットリソース上で実行するジョブのリストが保持されます。エージェントはキューからジョブを取得し、ターゲットリソース上でジョブを実行します。W&B は、runsをトラッキングするのと同様に、launch ジョブもトラッキングします。

Launch ジョブ

Launch ジョブは、完了すべきタスクを表す特定の種類の W&B Artifact です。たとえば、一般的な Launch ジョブには、モデルのトレーニングやモデル評価のトリガーがあります。ジョブ定義には、次のものが含まれます。
  • 少なくとも 1 つの実行可能なエントリポイントを含む Python コードとその他のファイルアセット。
  • 入力 (設定パラメーター) と出力 (ログされるメトリクス) に関する情報。
  • 環境に関する情報 (たとえば、requirements.txt、ベースの Dockerfile) 。
ジョブ定義には主に 3 つの種類があります。
ジョブの種類定義この種類のジョブの実行方法
Artifact-based (または code-based) jobsコードおよびその他のアセットは W&B Artifact として保存されます。artifact ベースのジョブを実行するには、Launch エージェントを builder で設定する必要があります。
Git-based jobsコードおよびその他のアセットは、git repository 内の特定のコミット、ブランチ、またはタグからクローンされます。git ベースのジョブを実行するには、Launch エージェントを builder と git repository の認証情報で設定する必要があります。
Image-based jobsコードおよびその他のアセットは Docker image に組み込まれています。image ベースのジョブを実行するには、Launch エージェントを image repository の認証情報で設定する必要がある場合があります。
Launch ジョブは、モデル トレーニングに関係しない処理も実行できます。たとえば、モデルを Triton inference server にデプロイできます。ただし、すべてのジョブは正常に完了するために wandb.init を呼び出す必要があります。これにより、トラッキング用の run が W&B Workspace に作成されます。
作成したジョブは、W&B App のプロジェクトワークスペースにある Jobs タブで確認できます。そこから、ジョブを設定し、さまざまな ターゲットリソース で実行するために Launch キュー に送信できます。

Launch キュー

Launch キュー は、特定のターゲットリソースで実行するジョブを順番に並べたリストです。Launch キューは先入れ先出し (FIFO) です。作成できるキューの数に実質的な制限はありませんが、ターゲットリソースごとに 1 つのキューにするのが一般的な目安です。ジョブは、W&B App UI、W&B CLI、または Python SDK を使ってキューに追加できます。その後、1 つ以上の Launch エージェントを設定し、キューから項目を取得して、そのキューのターゲットリソースで実行できます。

ターゲットリソース

Launch queue がジョブを実行するように設定されているコンピュート環境を、ターゲットリソース と呼びます。 W&B Launch は、次のターゲットリソースをサポートします。 各ターゲットリソースは、リソース設定 と呼ばれる異なる設定パラメーターのセットを受け付けます。リソース設定には各 Launch queue で定義されたデフォルト値が適用されますが、ジョブごとに個別に上書きできます。詳細については、各ターゲットリソースのドキュメントを参照してください。

Launch エージェント

Launch エージェントは軽量な常駐プログラムで、実行するジョブがないか Launch キューを定期的に確認します。Launch エージェントがジョブを受け取ると、まずジョブ定義に基づいてイメージをビルドまたはプルし、その後ターゲットリソース上で実行します。 1 つのエージェントで複数のキューをポーリングできますが、その場合は、ポーリング対象の各キューに対応するすべての基盤ターゲットリソースをサポートできるように、エージェントを適切に設定する必要があります。

Launch エージェント環境

エージェント環境とは、Launch エージェントが実行され、ジョブをポーリングする環境のことです。
エージェントのランタイム環境は、キューのターゲットリソースとは独立しています。つまり、必要なターゲットリソースにアクセスできるよう十分に設定されていれば、エージェントは任意の場所にデプロイできます。