LeaderWorkerSet 的 Alauda 版本
LeaderWorkerSet
LeaderWorkerSet 的 Alauda 版本 基于 LeaderWorkerSet (LWS) Kubernetes SIG 项目。 LeaderWorkerSet 提供了一种 Kubernetes 原生的工作负载 API,用于以 Leader/Worker 模式部署一组 pod,使多节点分布式工作负载——尤其是大规模 AI 模型训练和推理——能够作为 Kubernetes 上的一等公民运行。
主要组件和功能包括:
- LeaderWorkerSet CRD:定义一组复制的 Leader/Worker pod 集合的核心 API 资源。每个副本由一个 leader pod 和若干可配置数量的 worker pod 组成,这些 pod 作为一个单元进行协同调度和管理。
- 协同调度与拓扑感知:组内的 leader 和 worker pod 会一起调度,并支持拓扑分布约束,以便将 pod 共同放置在同一节点、机架或可用区上,从而实现低延迟的节点间通信(例如 NVLink、InfiniBand)。
- 多节点 LLM 推理:支持通过 tensor parallelism 或 pipeline parallelism,在多个节点上提供超出单节点 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 连接之前先初始化 master 进程的框架。
LWS 由 Alauda AI 通过 default AmlCluster 中的 lws 组件进行安装和管理。有关 Alauda AI 的安装和组件配置,请参见 Install Alauda AI。
文档
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 推理工作负载的必需依赖。