Lazarus: Resilient and Elastic Training of Mixture-of-Experts Models
作者: Yongji Wu, Wenjie Qu, Xueshen Liu, Tianyang Tao, Yifan Qiao, Zhuang Wang, Wei Bai, Yuan Tian, Jiaheng Zhang, Z. Morley Mao, Matthew Lentz, Danyang Zhuo, Ion Stoica
分类: cs.DC, cs.LG
发布日期: 2024-07-05 (更新: 2025-10-24)
💡 一句话要点
Lazarus:面向MoE模型,实现弹性容错训练,提升训练效率。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 混合专家模型 弹性训练 容错训练 分布式训练 竞价实例
📋 核心要点
- 大规模MoE模型训练面临频繁故障挑战,尤其是在使用竞价实例时,现有容错方案缺乏弹性,无法有效利用资源。
- Lazarus通过自适应专家副本分配和最优放置算法,提升故障恢复概率,并充分利用剩余资源,实现弹性训练。
- 实验表明,Lazarus在频繁节点故障下性能提升高达5.7倍,在真实竞价实例场景下提升高达3.4倍。
📝 摘要(中文)
稀疏激活的混合专家模型(MoE)架构越来越多地被用于扩展大型语言模型(LLM)。然而,频繁的故障仍然带来了巨大的挑战,因为即使是单个故障也会导致所有GPU空闲等待,直到故障解决,并且可能因为需要从检查点重新启动训练而损失大量的训练进度。在公有云上使用竞价实例进行模型训练加剧了这个问题,尽管竞价实例提供了显著的成本节约,但会引入频繁的抢占——本质上是在整个训练过程中定期发生的故障。现有的高效容错训练解决方案要么缺乏弹性,要么依赖于在流水线并行中构建弹性,由于MoE架构采用的专家并行策略,这些方案无法应用于MoE模型。我们提出了Lazarus,一个用于MoE模型弹性容错训练的系统。Lazarus自适应地分配专家副本以解决专家工作负载的固有不平衡并加速训练,同时开发了一种可证明最优的专家放置算法,以最大化故障恢复的概率。通过自适应专家放置和灵活的令牌调度器,Lazarus还可以在故障后充分利用所有可用节点,避免GPU空闲。我们的评估表明,在频繁的节点故障下,Lazarus的性能优于现有的MoE训练系统高达5.7倍,在真实的竞价实例跟踪中,性能优于现有系统高达3.4倍。
🔬 方法详解
问题定义:论文旨在解决大规模MoE模型在分布式训练过程中,由于节点故障(特别是使用竞价实例时频繁发生的抢占)导致的训练效率低下问题。现有容错方案要么缺乏弹性,无法根据资源变化动态调整;要么依赖于流水线并行,不适用于MoE模型的专家并行架构。这些痛点导致GPU资源浪费,训练时间延长。
核心思路:Lazarus的核心思路是通过自适应的专家副本管理和优化的专家放置策略,提高系统的容错能力和资源利用率。具体来说,Lazarus动态调整专家副本的数量,以适应不同专家的负载需求,并设计了一种最优放置算法,最大化在发生故障时能够恢复的专家数量。同时,Lazarus采用灵活的令牌调度器,确保在节点故障后,剩余节点能够充分利用,避免GPU空闲。
技术框架:Lazarus的整体框架包含以下几个主要模块:1) 专家副本管理器:负责监控各个专家的负载,并根据负载情况动态调整专家副本的数量。2) 专家放置算法:根据集群的拓扑结构和故障概率,将专家副本放置在不同的节点上,以最大化故障恢复的概率。3) 令牌调度器:负责将输入令牌分配给不同的专家,并确保在节点故障后,令牌能够被重新调度到其他可用的专家上。4) 故障检测与恢复模块:负责检测节点故障,并触发专家副本的迁移和令牌的重新调度。
关键创新:Lazarus的关键创新在于其自适应的专家副本管理和最优的专家放置算法。与传统的静态副本策略相比,Lazarus能够根据专家的负载动态调整副本数量,从而更好地适应不同专家的需求。最优放置算法则考虑了集群的拓扑结构和故障概率,能够最大化故障恢复的概率。此外,Lazarus的灵活令牌调度器也能够确保在节点故障后,剩余节点能够充分利用,避免GPU空闲。
关键设计:Lazarus的关键设计包括:1) 自适应副本调整策略:根据专家的负载情况,动态调整副本数量。负载高的专家分配更多的副本,负载低的专家分配较少的副本。2) 最优放置算法:使用动态规划算法,在给定集群拓扑结构和故障概率的情况下,找到最优的专家放置方案,最大化故障恢复的概率。3) 令牌调度策略:采用一种基于优先级的令牌调度策略,优先将令牌分配给负载较低的专家,以实现负载均衡。
🖼️ 关键图片
📊 实验亮点
Lazarus在模拟的节点故障场景和真实的竞价实例跟踪中进行了评估。实验结果表明,在频繁的节点故障下,Lazarus的性能优于现有的MoE训练系统高达5.7倍。在真实的竞价实例跟踪中,Lazarus的性能优于现有系统高达3.4倍。这些结果表明,Lazarus能够有效地提高MoE模型的训练效率和容错能力。
🎯 应用场景
Lazarus适用于大规模分布式训练的MoE模型,尤其是在使用成本敏感的竞价实例时。该系统可以显著提高训练效率,降低训练成本,并加速大型语言模型的开发和部署。未来,Lazarus可以扩展到其他类型的分布式训练任务,例如数据并行和流水线并行。
📄 摘要(原文)
Sparsely-activated Mixture-of-Experts (MoE) architecture has increasingly been adopted to further scale large language models (LLMs). However, frequent failures still pose significant challenges as training scales. The cost of even a single failure is significant, as all GPUs need to idle wait until the failure is resolved, potentially losing considerable training progress as training has to restart from checkpoints. This problem is exacerbated by the growing use of spot instances on public clouds for model training, which despite offering substantial cost savings, introduce frequent preemptions-essentially failures that regularly occur throughout the training process. Existing solutions for efficient fault-tolerant training either lack elasticity or rely on building resiliency into pipeline parallelism, which cannot be applied to MoE models due to the expert parallelism strategy adopted by the MoE architecture. We present Lazarus, a system for resilient and elastic training of MoE models. Lazarus adaptively allocates expert replicas to address the inherent imbalance in expert workload and speeds up training, while a provably optimal expert placement algorithm is developed to maximize the probability of recovery upon failures. Through adaptive expert placement and a flexible token dispatcher, Lazarus can also fully utilize all available nodes after failures, leaving no GPU idle. Our evaluation shows that Lazarus outperforms existing MoE training systems by up to 5.7x under frequent node failures and 3.4x on a real spot instance trace.