kubernetes-sigs/lws

LeaderWorkerSet: An API for deploying a group of pods as a unit of replication

何を解決するか

このプロジェクトは、複数のポッドが単一のユニットとして連携して動作する必要があるAI/ML推論ワークロードのデプロイを管理するためのKubernetes APIを提供します。特に、複数のデバイスおよびノードに分散された大規模言語モデル(LLM)のデプロイという課題に焦点を当てており、これらのポッドが個別にではなく、一括で作成・スケーリング・更新されることを保証します。

動作方法

このプロジェクトは2つの主要なAPIを導入します:

  • LeaderWorkerSet (LWS): 単一のリーダーポッドと複数のワーカーポッドからなる「スーパー・ポッド」を管理します。グループ内のポッドに一意の識別子(インデックス)を割り当て、並列に作成し、ギャングスケジューリング(すべてまたはなし)を使用してスケジューリングを可能にします。
  • DisaggregatedSet (DS): LWSを基盤として、推論の各フェーズ(例:prefillとdecode)が別々のインフラ上で実行される高度な非統合アーキテクチャをサポートします。複数の役割間でのロールアウトを調整し、発見およびルーティング用のヘッドレスサービスを管理します。

対象ユーザー

大規模AIモデル向けの高性能分散推論サービングスタックを管理するインフラエンジニアおよびKubernetesオペレーター。

主な特徴

  • ユニットベースのレプリケーション: スケーリング、ローリングアップデート、障害処理において、ポッドのグループを単一のユニットとして扱います。
  • トポロジー意識的な配置: 同じグループ内のポッドを最適化されたパフォーマンスを実現するために同一ノードに配置できます。
  • すべてまたはなしの再起動: グループ内の1つのポッドが失敗した場合、全体が再作成され、一貫性が維持されます。
  • 非統合アーキテクチャのサポート: LLM推論における独立したprefillフェーズとdecodeフェーズに特化して設計されています。
  • 調整されたロールアウト: 更新中にキャパシティ比を維持するために、複数の役割を同期して更新します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト