ローンンチジョブ
ローンンチジョブは、完了するタスクを表す特定の種類の W&B Artifact です。例えば、一般的なローンンチジョブには、モデルのトレーニングやモデルの評価トリガーがあります。ジョブ定義には以下が含まれます:- Pythonコードやその他のファイルアセット、少なくとも1つの実行可能なエントリポイントを含む。
- 入力(設定パラメータ)および出力(ログされたメトリクス)に関する情報。
- 環境に関する情報。(例えば、
requirements.txt、ベースのDockerfile)。
| Job types | Definition | How to run this job type |
|---|---|---|
| アーティファクトベース(またはコードベース)のジョブ | コードや他のアセットが W&B アーティファクトとして保存される。 | アーティファクトベースのジョブを実行するには、ローンンチエージェントがビルダーで設定されている必要があります。 |
| Git ベースのジョブ | コードや他のアセットが git リポジトリの特定のコミット、ブランチ、またはタグからクローンされる。 | Git ベースのジョブを実行するには、ローンンチエージェントがビルダーと git リポジトリの資格情報で設定されている必要があります。 |
| イメージベースのジョブ | コードや他のアセットが Docker イメージに組み込まれている。 | イメージベースのジョブを実行するには、ローンンチエージェントがイメージリポジトリの資格情報で設定されている必要があるかもしれません。 |
ローンンチジョブは、モデルのトレーニングに関連しないアクティビティも実行可能です。例えば、モデルを Triton 推論サーバーにデプロイするなど。ただし、すべてのジョブは
wandb.init を呼び出して正常に完了する必要があります。これにより、W&B ワークスペース内でトラッキング目的の run が作成されます。Jobs タブの W&B アプリで見つけることができます。そこから、ジョブを設定して様々な ターゲットリソース で実行するための launch queue に送信できます。
Launch queue
ローンンチキューは、特定のターゲットリソースで実行するジョブの順序付けられたリストです。ローンンチキューは先入れ先出し (FIFO) です。持てるキューの数に実質的な制限はありませんが、1 つのターゲットリソースごとに 1 つのキューが理想的です。ジョブは W&B アプリ UI、W&B CLI または Python SDK を使用してエンキューできます。1 つまたは複数のローンンチエージェントを設定して、キューからアイテムを引き出し、それをキューのターゲットリソースで実行することができます。Target resources
ローンンチキューがジョブを実行するために設定された計算環境をターゲットリソースと呼びます。 W&B ローンンチは以下のターゲットリソースをサポートしています: 各ターゲットリソースは、リソース設定と呼ばれる異なる設定パラメータを受け入れます。リソース設定は各ローンンチキューによって定義されるデフォルト値を持ちますが、各ジョブによって個別に上書きすることができます。各ターゲットリソースの詳細については、ドキュメントを参照してください。Launch agent
ローンンチエージェントは、ジョブを実行するためにローンンチキューを定期的にチェックする軽量で持続的なプログラムです。ローンンチエージェントがジョブを受け取ると、まずジョブ定義からイメージをビルドまたはプルし、それをターゲットリソースで実行します。 1 つのエージェントは複数のキューをポーリングすることができますが、エージェントはポーリングするキューのバックするターゲットリソースすべてをサポートするように正しく設定されている必要があります。Launch agent environment
エージェント環境は、ローンンチエージェントが実行され、ジョブのポーリングを行う環境です。エージェントのランタイム環境はキューのターゲットリソースとは独立しています。言い換えれば、エージェントが必要なターゲットリソースにアクセスできるように十分な設定がされていれば、どこにでもデプロイすることができます。