kubeflow/trainer

Distributed AI Model Training and LLM Fine-Tuning on Kubernetes

What it solves

Kubeflow Trainer 是为处理分布式 AI 训练和微调的复杂性而设计的,特别是针对大语言模型 (LLMs)。它简化了在 Kubernetes 高性能计算 (HPC) 集群上跨多节点、多 GPU 工作负载的编排,确保高吞吐量通信和高效的资源利用。

How it works

它作为一个 Kubernetes 原生平台运行,提供 TrainJobRuntimes API。它将 MPI (Message Passing Interface) 引入 Kubernetes 以编排分布式作业,从而实现 GPU 节点之间的超快速同步。它还具有分布式数据缓存功能,可将大规模数据直接零拷贝传输到 GPU 节点,从而最大限度地提高 GPU 利用率。该系统与云原生 AI 生态系统集成,包括用于拓扑感知调度 (topology-aware scheduling) 的 Kueue 以及用于工作负载编排的 JobSet/LeaderWorkerSet。

Who it’s for

AI 从业者和开发者,他们需要使用 PyTorch、JAX、XGBoost、HuggingFace 和 DeepSpeed 等框架在多个 GPU 和节点上扩展其模型训练和 LLM 微调。

Highlights

  • Multi-framework support: 支持 PyTorch、MLX、HuggingFace、DeepSpeed、JAX 和 XGBoost。
  • Kubernetes-native: 专为 Kubernetes 构建,与 Kueue 和 JobSet 等工具集成。
  • HPC capabilities: 集成了 MPI 以实现进程间的高性能通信。
  • Efficient data streaming: 包括一个用于向 GPU 进行零拷贝数据传输的分布式数据缓存。
  • Python SDK: 提供专门的 SDK,以便更轻松地开发和微调 LLMs。