介绍

LeaderWorkerSet

Alauda Build of LeaderWorkerSet 基于 LeaderWorkerSet (LWS) Kubernetes SIG 项目。
LeaderWorkerSet 提供了一个 Kubernetes 原生的工作负载 API,用于以 Leader/Worker 模式部署一组 Pod,实现多节点分布式工作负载——尤其是大型 AI 模型的训练和推理——作为 Kubernetes 的一等公民运行。

主要组件和功能包括:

  • LeaderWorkerSet CRD:核心 API 资源,定义一组复制的 Leader/Worker Pod 集合。每个副本由一个 leader pod 和可配置数量的 worker pod 组成,作为一个整体进行共调度和管理。
  • 共调度与拓扑感知:组内的 leader 和 worker pod 一起调度,支持拓扑分布约束,可将 Pod 共置于同一节点、机架或可用区,以实现低延迟的节点间通信(例如 NVLink、InfiniBand)。
  • 多节点 LLM 推理:支持超出单节点 GPU 内存的大型语言模型(如 Llama 3.1 405B)通过张量并行或流水线并行在多节点上提供服务。LWS 是 Alauda Build of KServe 在此场景下的必备依赖。
  • 多节点训练:通过提供稳定、共置的 leader/worker pod 组,具备可预测的主机名和网络身份,支持分布式训练框架(PyTorch DDP、DeepSpeed、Megatron-LM)。
  • 滚动更新与故障恢复:支持组级别的滚动重启和自动 Pod 替换,确保在发生故障或更新时,整个 Leader/Worker 组能够一致地被回收。
  • 启动顺序控制:leader pod 可作为入口和协调者,worker pod 在 leader 准备好后启动——支持需要主进程先初始化后 worker 连接的框架。

平台上的安装请参见 Install LeaderWorkerSet

文档

LeaderWorkerSet 上游文档及相关资源:

  • LeaderWorkerSet 文档https://lws.sigs.k8s.io/ — 官方文档,涵盖概念、API 参考和使用指南。
  • LeaderWorkerSet GitHubhttps://github.com/kubernetes-sigs/lws — LeaderWorkerSet Kubernetes SIG 项目的源码、API 参考和示例。
  • KServe (Alauda Build)../kserve/intro — KServe 使用 LeaderWorkerSet 作为多节点 LLM 推理工作负载的必备依赖。