kubeflow/trainer

Distributed AI Model Training and LLM Fine-Tuning on Kubernetes

What it solves

Kubeflow Trainer is designed to handle the complexities of distributed AI training and fine-tuning, specifically for large language models (LLMs). It simplifies the orchestration of multi-node, multi-GPU workloads across high-performance computing (HPC) clusters on Kubernetes, ensuring high-throughput communication and efficient resource utilization.

How it works

It operates as a Kubernetes-native platform that provides TrainJob and Runtimes APIs. It brings MPI (Message Passing Interface) to Kubernetes to orchestrate distributed jobs, enabling ultra-fast synchronization between GPU nodes. It also features a distributed data cache for zero-copy transfer of large-scale data directly to GPU nodes to maximize GPU utilization. The system integrates with the Cloud Native AI ecosystem, including Kueue for topology-aware scheduling and JobSet/LeaderWorkerSet for workload orchestration.

Who it’s for

AI practitioners and developers who need to scale their model training and LLM fine-tuning across multiple GPUs and nodes using frameworks like PyTorch, JAX, XGBoost, HuggingFace, and DeepSpeed.

Highlights

  • Multi-framework support: Supports PyTorch, MLX, HuggingFace, DeepSpeed, JAX, and XGBoost.
  • Kubernetes-native: Built specifically for Kubernetes, integrating with tools like Kueue and JobSet.
  • HPC capabilities: Integrates MPI for high-performance communication between processes.
  • Efficient data streaming: Includes a distributed data cache for zero-copy data transfer to GPUs.
  • Python SDK: Provides a dedicated SDK for easier development and fine-tuning of LLMs.