kuberay: Rayクラスター、ジョブ、およびサービスのライフサイクルを管理するためのKubernetes operator
kuberay: Rayクラスター、ジョブ、およびサービスのライフサイクルを管理するためのKubernetes operator
何を解決するか
KubeRayは、Kubernetes上でのRayアプリケーションのデプロイと管理を簡素化し、トレーニングや推論などの分散AIワークロードのためのクラスターを手動で構成する複雑さを取り除きます。
仕組み
これはKubernetes operatorとして動作し、異なるワークロードタイプを管理するために3つの主要なカスタムリソース定義(CRD)を提供します:
- RayCluster: 作成、削除、オートスケーリング、およびフォールトトレランスを含む、Rayクラスターの完全なライフサイクルを管理します。
- RayJob: クラスターの作成、特定のジョブの送信、および完了時にクラスターを自動的に削除することができます。
- RayService: RayClusterとRay Serveのデプロイメントグラフを組み合わせることで、高可用性とゼロダウンタイムのアップグレードを可能にします。
さらに、ワークフローを簡素化するための kubectl ray プラグイン、構成管理用のAPIサーバー、およびリソースの可視化のための実験的なダッシュボードを提供します。
対象ユーザー
これは、Kubernetes上で大規模な分散機械学習およびAIアプリケーション(LLMのオンライン推論やバッチトレーニングなど)を実行する必要がある開発者やプラットフォームエンジニア向けに設計されています。
ハイライト
- 自動化されたライフサイクル管理: クラスターの作成、スケーリング、およびフォールトトレランスを自動的に処理します。
- 統合されたエコシステム: Prometheus、Grafana、Nginx、およびVolcanoやKueueのようなキューイングシステムと統合されます。
- ワークロード固有のリソース: 長期実行サービス(RayService)および使い捨てジョブ(RayJob)のための専用リソース。
- スケーラビリティ: Apple、Google、およびSpotifyのような組織によって、AIインフラストラクチャを数千のノードにスケールさせるために使用されています。
Sources
- undefinedray-project/kuberay