kubeflow/trainer

Distributed AI Model Training and LLM Fine-Tuning on Kubernetes

What it solves

Kubeflow Trainerは、特に大規模言語モデル(LLM)の分散AIトレーニングおよびファインチューニングの複雑さを処理するように設計されています。Kubernetes上のハイパフォーマンスコンピューティング(HPC)クラスターにおけるマルチノード、マルチGPUワークロードのオーケストレーションを簡素化し、高スループットな通信と効率的なリソース利用を保証します。

How it works

これは、TrainJobRuntimes APIを提供するKubernetesネイティブなプラットフォームとして動作します。MPI (Message Passing Interface) をKubernetesに導入することで分散ジョブをオーケストレートし、GPUノード間の超高速同期を可能にします。また、大規模なデータをGPUノードに直接ゼロコピー転送するための分散データキャッシュも備えています。このシステムは、トポロジーを意識したスケジューリングのためのKueueや、ワークロードのオーケストレーションのためのJobSet/LeaderWorkerSetを含む、Cloud Native AIエコシステムと統合されます。

Who it’s for

PyTorch、JAX、XGBoost、HuggingFace、DeepSpeedなどのフレームワークを使用して、複数のGPUとノードにわたってモデルトレーニングやLLMのファインチューニングをスケールさせる必要があるAIエンジニアおよび開発者。

Highlights

  • Multi-framework support: PyTorch、MLX、HuggingFace、DeepSpeed、JAX、およびXGBoostをサポートします。
  • Kubernetes-native: Kubernetes向けに特別に構築されており、KueueやJobSetと統合されます。
  • HPC capabilities: プロセス間の高性能通信のためにMPIを統合しています。
  • Efficient data streaming: GPUへのゼロコピーデータ転送のための分散データキャッシュを含んでいます。
  • Python SDK: LLMのより容易な開発とファインチューニングのための専用SDKを提供します。