介绍
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 GitHub:https://github.com/kubernetes-sigs/lws — LeaderWorkerSet Kubernetes SIG 项目的源码、API 参考和示例。
- KServe (Alauda Build):../kserve/intro — KServe 使用 LeaderWorkerSet 作为多节点 LLM 推理工作负载的必备依赖。