メインコンテンツへスキップ
W&B Launch を使用すると、ML ワークロードを Kubernetes クラスターにプッシュできます。これにより、ML エンジニアは、Kubernetes で既に管理しているリソースを、W&B 上のシンプルなインターフェースから利用できます。 W&B は、公式 Launch エージェントイメージを提供しており、W&B が管理する Helm チャートを使ってクラスターにデプロイできます。 W&B は Kaniko ビルダーを使用して、Launch エージェントが Kubernetes クラスター内で Docker イメージをビルドできるようにしています。Launch エージェント用に Kaniko を設定する方法や、ジョブのビルドを無効にしてビルド済みの Docker イメージのみを使用する方法について詳しくは、高度なエージェント設定を参照してください。
Helm をインストールし、W&B の Launch エージェント Helm チャートを適用またはアップグレードするには、Kubernetes リソースを作成、更新、削除するための十分な権限を持つクラスターへの kubectl アクセスが必要です。通常は、cluster-admin 権限を持つユーザー、または同等の権限を持つ custom role が必要です。

Kubernetes向けのキューを設定する

Kubernetesのターゲットリソースに対するLaunchのキュー設定は、Kubernetes Job spec または Kubernetes Custom Resource spec のいずれかに似たものになります。 Launchキューの作成時には、Kubernetesワークロードリソースのspecのあらゆる要素を制御できます。
セキュリティ上の理由から、次のリソースが指定されていない場合、W&BはそれらをLaunchキューに追加します。
  • securityContext
  • backOffLimit
  • ttlSecondsAfterFinished
次のYAMLスニペットは、これらの値がLaunchキュー内でどのように表示されるかを示しています。
example-spec.yaml

キューを作成する

Kubernetes をコンピュートリソースとして使用するキューを W&B App で作成します。
  1. Launch ページにアクセスします。
  2. Create Queue ボタンをクリックします。
  3. キューを作成する Entity を選択します。
  4. Name フィールドにキューの名前を入力します。
  5. Resource として Kubernetes を選択します。
  6. Configuration フィールドに、前のセクションで設定した Kubernetes Job workflow spec または Custom Resource spec を指定します。

Helm を使用して Launch エージェントを設定する

W&B が提供する Helm チャート を使用して、Kubernetes クラスターに Launch エージェントをデプロイします。Launch エージェントの動作は、values.yaml ファイル で制御します。 通常は Launch エージェントの設定ファイル (~/.config/wandb/launch-config.yaml) で定義する内容を、values.yaml ファイル内の launchConfig キーに指定します。 たとえば、Kaniko Docker イメージビルダーを使用する EKS 上で Launch エージェントを実行できるようにする Launch エージェント設定があるとします。
launch-config.yaml
values.yaml ファイル内では、次のようになります。
values.yaml
レジストリ、環境、必須のエージェント権限の詳細については、高度なエージェント設定を参照してください.