
【论文】略读笔记88-前沿-地理分布式训练

📖《Sailor: Automating Distributed Training over Dynamic, Heterogeneous, and Geo-distributed Clusters》
2025 年 ETH Zurich(苏黎世联邦理工学院)、Périz、MIT(麻省理工)、HES-SO团队 发表于 CCF-A 类会议 SOSP。
🎯需求
- ML 训练对 GPU 的高需求使得很难在单个可用区中分配大型同质高端 GPU 集群。
- 任务趋势:大规模机器学习 (ML) 对 GPU 的需求量很大。随着 ML 模型的大小持续呈指数级增长,它们需要越来越多的 GPU 来进行训练和微调。这种高需求使得模型开发人员很难分配所需数量的加速器来在公共云或企业集群中以高吞吐量训练模型。
- 资源趋势:数据中心通常托管各种 GPU 类型和代数,分布在各个地理区域。
- 训练方案限制:模型开发人员倾向于将模型训练限制在同构 GPU 集群上,因为最先进的分布式训练框架(如 Megatron-LM 和 DeepSpeed)假设同构 GPU 和节点间带宽。对大型同质 GPU 集群的需求加剧了高端 GPU 的稀缺。
- 利用区域内和跨区域可用的异构 GPU 可以以合理的成本提高吞吐量。
- 允许训练作业在异构 GPU 类型和/或跨区域分布的 GPU(即具有异构节点间带宽)上运行,可以让模型开发人员为每个作业访问更多 GPU,以提高训练吞吐量。例如,
- 假设一位模型开发人员试图通过使用 32 个 A100 GPU(图 1 中的 c2)来最大化训练吞吐量,但发现一个区域中当前只有 16 个 A100(图 1 中的 c0)可用。
- 使用异构 GPU 代(例如,c3 在区域中使用额外的 16 个 V100)或多区域配置(例如,c4 在一个区域内的 2 个区域中使用 32 个 A100)分别将吞吐量增加 1.15 倍和 1.87 倍,每次迭代的货币成本略有增加(黑线)。

图1: 当同质资源有限时,使用异构 GPU(A100、V100)或多个区域可以以低成本(黑线)增加 OPT-350M 训练吞吐量(c3-c4)。然而,当资源拓扑和作业并行化选择不当时,迭代时间和货币成本可能会显着增加(c5-c6)。
- 然而,在异构资源上训练 ML 模型会带来重大挑战,例如落后者和可能作业配置的巨大搜索空间。
- 1)首先,异构 GPU 类型和跨区域的放置呈指数级扩展了配置搜索空间。
- 1.1)寻找最佳配置需要联合优化资源分配和作业并行化计划(例如数据/管道/张量并行度)。
- 例如,在图 1 中,尽管 c5 使用与 c3 相同数量的 GPU,但由于并行化计划不理想,它的吞吐量要低得多。
- 1.2)搜索还必须考虑额外资源和数据传输造成的成本。云提供商对区域间和区域间数据传输收取大量费用,这会影响地理分布式配置。
- 在图 1 中,c6 使用与 c4 相同数量的 GPU 和并行化策略,但将训练分散到各个区域(而不是同一区域内的区域),这会增加成本。
- 1.3)此外,由于数据中心中的资源可用性由于可变的需求和节点故障或抢占而动态变化,因此有必要快速导航这个巨大的搜索空间。
- 图 2 显示了我们在 8 小时内能够分配的不同数量的 A100 GPU(我们在 Google Cloud 中的 2 个不同区域连续请求的 8 个 A100)。资源可用性的此类变化需要频繁地重新评估作业配置搜索空间。
- 【需求1】:因此,模型开发人员需要一个系统能够快速导航具有动态资源可用性的异构(和同质)配置的大型搜索空间,针对用户的性能成本目标进行优化,同时满足约束(例如预算限制)。

图2: Google Cloud 中两个区域的 A100 GPU 在 8 小时内可用。我们要求每个区域有 8 个 GPU。该痕迹收集于 2024 年 4 月。
- 1.1)寻找最佳配置需要联合优化资源分配和作业并行化计划(例如数据/管道/张量并行度)。
- 2)其次,分析许多候选配置以评估其吞吐量是非常昂贵和耗时的。因此,准确估计候选配置的迭代时间至关重要。这在异构环境中具有挑战性,
- 2.1)因为峰值 FLOPS、内存容量、CPU-GPU 互连、每个节点的 GPU 数量以及节点间带宽的差异通常会导致落后者,从而显着限制吞吐量。
- 2.2)更重要的是,每个 GPU 内存容量的变化可能会导致某些 GPU 出现内存不足(OOM) 错误,从而扰乱整个训练工作。
- 【需求2】:模拟迭代时间并检查作业配置是否有效(即不会导致 OOM)需要正确建模落后者和每个 GPU 内存占用。
- 3)最后,在给定可用资源的情况下为训练作业找到适当的资源分配和并行化计划后,模型开发人员需要能够在分布式训练框架(例如 Megatron)中运行此作业配置。
- 3.1)我们发现,在异构资源拓扑上运行的作业的最佳配置通常包括每个阶段的异构并行度,以平衡不同 GPU 类型的计算和内存容量的负载。
- 3.2)此外,由于资源可用性可能经常变化(例如,当使用现货实例时),训练框架必须能够快速重新配置作业。
- 【需求3】:当今最先进的分布式培训框架需要进行调整以支持此类异构作业配置。
- 1)首先,异构 GPU 类型和跨区域的放置呈指数级扩展了配置搜索空间。
- 允许训练作业在异构 GPU 类型和/或跨区域分布的 GPU(即具有异构节点间带宽)上运行,可以让模型开发人员为每个作业访问更多 GPU,以提高训练吞吐量。例如,
🚧现状
- 当前的系统缺乏对异构资源上有效训练模型的支持。
- 1)首先,当前的工作没有与作业并行化计划共同优化资源分配。
- 功能不足:Aceso、Galvatron 和表 1 中的其他系统期望用户选择固定的资源分配,系统会为此推荐作业并行化计划。大多数系统也不考虑异构资源拓扑。
- 性能不佳:最近的系统,如 Atlas、DTFM、Metis 和 FlashFlex 优化了异构 GPU 或地理分布式设置的并行化,但它们的搜索时间过长(对于具有 10 个 GPU 的配置,长达数小时) 或次优成本函数,使它们不适合具有动态资源可用性的环境。
- 2)其次,现有系统依赖不准确的模拟器来估计候选配置的训练吞吐量和内存占用。
- 例如,Varuna 在估计内存占用时忽略了重要的内存源(例如,优化器、通信等所需的内存),因此推荐了导致 OOM错误 的配置。
- 3)最后,像 Megatron-LM 这样最先进的分布式训练框架重新配置作业的速度很慢,并且不支持异构作业并行化计划或每个 GPU 的不同微批量大小,而这对于最大化吞吐量和最小化异构集群中的成本是必要的。
- 1)首先,当前的工作没有与作业并行化计划共同优化资源分配。
![表1: 分布式机器学习训练规划器概述。我们省略了改变 ML 训练语义的规划器。Support栏符号代表的是:[支持的并行度、推荐资源分配、支持异构GPU类型、支持多专区]。Search Time 搜索时间假设集群由 128 个 A100 GPU 和 OPT-350M 模型组成。](https://figures.semanticscholar.org/36922be23c6122f84d58ba6fe12c923a5e942fe4/3-Table1-1.png)
🛩创新
- 我们推出了 Sailor,这是一个通过异构、地理分布式和动态可用资源自动进行分布式训练的系统。
- Sailor由三个组件组成:配置规划器、模拟器和分布式训练框架。
- 1)规划器导航资源分配和作业并行化计划组合的搜索空间。它建议在约束(例如最大预算或最小吞吐量)下优化用户定义的目标(例如最大吞吐量或最小成本)的配置。规划器考虑异构 GPU 和机器类型以及地理分布式设置。
- 2)规划器使用模拟器对任何给定配置的迭代时间和内存占用进行准确建模。通过将动态编程和搜索空间修剪与有效的启发式相结合,即使对于具有数百个 GPU 和不同程度的异构性的分配,规划器也能在几秒钟内找到解决方案。这使得 Sailor 能够根据资源可用性快速调整计划。
- 3)最后,训练框架添加了对异构配置的支持来执行规划器的配置。它还增加了对容错和弹性的支持,从而能够适应资源可用性的变化。这些组件共同使 Sailor 能够在同质、异构和/或动态资源环境中高效地自动化大规模训练。
- Sailor由三个组件组成:配置规划器、模拟器和分布式训练框架。
📊效果
- Sailor 结合了高效的搜索空间探索算法、准确的运行时和内存占用模拟以及支持不同类型异构性的分布式训练框架,以优化训练吞吐量和成本。
- 我们在各种设置中评估Sailor,并将其与之前的作品进行广泛比较。
- 据我们所知,我们的工作首次在同质和异构场景中比较了迄今为止提出的主要开源 ML 训练规划器(表 1)。
- 我们表明,Sailor 可以找到资源分配和作业并行化计划,从而在同构和异构集群中实现比基线更高的吞吐量。
- 我们展示了 Sailor 如何利用异构资源将吞吐量提高 1.1-2.87 倍(与异构感知基线(Metis、FlashFlex、AMP)相比),同时将搜索时间保持在 10 秒(与基线所需的几分钟或几小时相比)。
- 我们还展示了与 DTFM 相比,Sailor 在地理分布式设置中分别提高性能 5.9 倍和降低成本 9.8 倍的能力。
- 最后,我们展示了 Sailor 在给定吞吐量限制的情况下最大限度地减少货币成本的能力,与第二最佳性能基准相比,可节省 40% 的成本。
⛳️未来机会
- 规划器和模拟器的限制:我们的规划器和模拟器目前仅支持 1F1B 管道并行调度,并且不包含激活卸载(activation offloading)或重新实现(rematerialization)等优化。添加对这些优化的支持留待将来的工作。
- 异构硬件的额外挑战:在异构和地理分布式数据中心上进行训练可能会带来额外的挑战。
- 加速器供应商(例如 NVIDIA 与 AMD)和网络链路(例如 Infiniband 与以太网)的异构性可能会阻碍高性能集体通信库(例如 NCCL)的使用,而这些库通常采用统一的网络协议。为了最大限度地提高性能,集体必须适应异构链接。
- 此外,地理分布式网络容易出现不可靠性,包括不可预测的抖动和数据包丢失。训练框架和算法应该检测并适应这些问题。
- 最后,尽管 Sailor 优化了并行化策略,但它是基于最初为同构设置引入的策略(例如 1F1B 管道调度)。在这种情况下实现高性能可能需要开发新的调度,更有效地重叠计算和通信,从而减少泡沫时间。
🧠疑问
- 训练框架的演进史?例如 Megatron-LM 和 DeepSpeed 是为了解决什么问题而出现的?
- 图2资源变化看起来只是在小时or分钟级别的变化,就算视图更新慢又会有什么影响?
- 地理分布式训练时,任务其实都放在一起?如果考虑任务不放在一起训练,任务间的通信对整体的影响有多大?即使规划时能考虑通信延迟,在实践上多大规模内的任务能够适用?
- 前两个创新点的目标很明确,但是从引言看具体的手段(或者称为“亮点”)还不太明确,后续需要继续看。但整体可能是一个很扎实的工作(至少GitHub上已有44个star,实验有接近5页),实现上的扎实性还需要继续深入看来判断。
- 希望这篇博客对你有帮助!如果你有任何问题或需要进一步的帮助,请随时提问。
- 如果你喜欢这篇文章,欢迎动动小手给我一个follow或star。
🗺参考文献
[1] Foteini Strati, Zhendong Zhang, George Manos, Ixeia Sánchez Périz, Qinghao Hu, Tiancheng Chen, Berk Buzcu, Song Han, Pamela Delgado, and Ana Klimovic. 2025. Sailor: Automating Distributed Training over Dynamic, Heterogeneous, and Geo-distributed Clusters. In Proceedings of the ACM SIGOPS 31st Symposium on Operating Systems Principles (SOSP ‘25). Association for Computing Machinery, New York, NY, USA, 204–220. https://doi.org/10.1145/3731569.3764839
[2] Sailor - Github
- 标题: 【论文】略读笔记88-前沿-地理分布式训练
- 作者: Fre5h1nd
- 创建于 : 2026-05-12 12:51:22
- 更新于 : 2026-05-12 14:44:51
- 链接: https://freshwlnd.github.io/2026/05/12/literature/literatureNotes88/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论

