ローンチの用語と概念
less than a minute
W&B ローンンチを使用すると、ジョブをキューに追加して run を作成します。ジョブは W&B と組み合わせた Python スクリプトです。キューは、ターゲットリソースで実行するジョブのリストを保持します。エージェントはキューからジョブを取り出し、ターゲットリソース上でジョブを実行します。W&B はローンンチジョブを W&B が run をトラッキングするのと同様にトラッキングします。
ローンンチジョブ
ローンンチジョブは、完了するタスクを表す特定の種類の W&B Artifact です。例えば、一般的なローンンチジョブには、モデルのトレーニングやモデルの評価トリガーがあります。ジョブ定義には以下が含まれます:
- Pythonコードやその他のファイルアセット、少なくとも1つの実行可能なエントリポイントを含む。
- 入力(設定パラメータ)および出力(ログされたメトリクス)に関する情報。
- 環境に関する情報。(例えば、
requirements.txt
、ベースのDockerfile
)。
ジョブ定義には3つの主要な種類があります:
Job types | Definition | How to run this job type |
---|---|---|
アーティファクトベース(またはコードベース)のジョブ | コードや他のアセットが W&B アーティファクトとして保存される。 | アーティファクトベースのジョブを実行するには、ローンンチエージェントがビルダーで設定されている必要があります。 |
Git ベースのジョブ | コードや他のアセットが git リポジトリの特定のコミット、ブランチ、またはタグからクローンされる。 | Git ベースのジョブを実行するには、ローンンチエージェントがビルダーと git リポジトリの資格情報で設定されている必要があります。 |
イメージベースのジョブ | コードや他のアセットが Docker イメージに組み込まれている。 | イメージベースのジョブを実行するには、ローンンチエージェントがイメージリポジトリの資格情報で設定されている必要があるかもしれません。 |
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
エージェント環境は、ローンンチエージェントが実行され、ジョブのポーリングを行う環境です。
フィードバック
このページは役に立ちましたか?
Glad to hear it! If you have further feedback, please let us know.
Sorry to hear that. Please tell us how we can improve.