[论文解读] Bamboo: Making Preemptible Instances Resilient for Affordable Training of Large DNNs
Bamboo 是一个分布式系统,通过在流水线并行训练的流水线空洞中注入冗余计算,增强了在抢占式云实例上训练大型深度神经网络(DNNs)的弹性与效率。与按需实例相比,它实现了 3.7 倍更高的训练吞吐量和 2.4 倍更低的成本,通过最小化频繁抢占场景下的重启开销,优于检查点机制。
DNN models across many domains continue to grow in size, resulting in high resource requirements for effective training, and unpalatable (and often unaffordable) costs for organizations and research labs across scales. This paper aims to significantly reduce training costs with effective use of preemptible instances, i.e., those that can be obtained at a much cheaper price while idle, but may be preempted whenever requested by priority users. Doing so, however, requires new forms of resiliency and efficiency to cope with the possibility of frequent preemptions - a failure model that is drastically different from the occasional failures in normal cluster settings that existing checkpointing techniques target. We present Bamboo, a distributed system that tackles these challenges by introducing redundant computations into the training pipeline, i.e., whereby one node performs computations over not only its own layers but also over some layers in its neighbor. Our key insight is that training large models often requires pipeline parallelism where "pipeline bubbles" naturally exist. Bamboo carefully fills redundant computations into these bubbles, providing resilience at a low cost. Across a variety of widely used DNN models, Bamboo outperforms traditional checkpointing by 3.7x in training throughput, and reduces costs by 2.4x compared to a setting where on-demand instances are used.
研究动机与目标
- 为解决训练大型 DNN 所带来的高昂成本,特别是对小型组织和研究实验室而言。
- 克服抢占式云实例的不可靠性与频繁抢占问题,这些因素会中断长时间运行的 DNN 训练。
- 在频繁抢占场景下,通过减少重启开销,超越传统检查点机制,进一步降低训练成本并提升效率。
- 设计一种系统,可在不牺牲可扩展性或模型规模的前提下,实现在抢占资源上的快速恢复与高吞吐量。
- 通过在流水线并行训练中利用冗余计算,为按需实例提供一种更具成本效益的替代方案。
提出的方法
- Bamboo 通过让每个训练节点不仅在其自身模型层上执行计算,还对其流水线中后继节点的层执行计算,引入了冗余计算(RC)。
- 它利用‘流水线空洞’——流水线并行中的空闲时段——通过填充冗余计算来实现在抢占后快速恢复。
- 系统使用轻量级协调机制确保一致性,并在节点活跃时避免重复计算。
- Bamboo 支持流水线并行和纯数据并行,均采用相同的基于 RC 的弹性机制。
- 通过预先计算并缓存流水线空洞中的结果,避免了完整检查点的需要,从而减少重启时间与计算浪费。
- 该设计在最小化资源开销的同时,最大化对不可预测抢占的弹性应对能力。
实验结果
研究问题
- RQ1在抢占式实例上,流水线空洞中的冗余计算是否能显著降低训练重启开销?
- RQ2在频繁抢占场景下,Bamboo 的方法与传统检查点机制相比,在训练吞吐量和成本效率方面表现如何?
- RQ3与使用按需实例相比,Bamboo 能在多大程度上降低训练成本,同时保持高吞吐量?
- RQ4相同的 RC 机制能否有效应用于流水线并行和纯数据并行?
- RQ5Bamboo 在多种广泛使用的 DNN 架构上的性能与成本影响如何?
主要发现
- 与基于检查点的方法相比,Bamboo 在抢占式实例上的训练吞吐量提高了 3.7 倍。
- 与使用按需实例相比,Bamboo 将训练成本降低了 2.4 倍,展现出强大的成本效率。
- 在频繁抢占场景下,Bamboo 显著优于检查点机制,后者在使用 64 个抢占实例训练 GPT-2 时,高达 77% 的训练时间被浪费。
- Bamboo 的冗余计算技术能有效填充空闲流水线空洞,且未引入显著开销或资源竞争。
- 该方法在六个代表性 DNN 模型上均表现出一致的吞吐量提升与成本降低。
- Bamboo 的设计可推广至流水线并行与纯数据并行,可在大规模 DNN 训练中实现广泛适用。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。