中文

ReCycle:利用流水线自适应实现大型DNN的弹性训练

分布式、并行与集群计算 2024-09-27 v2 机器学习

摘要

训练大型深度神经网络(DNN)模型需要数千个GPU,耗时数天或数周。在此规模下,故障频繁发生,并对训练吞吐量产生重大影响。利用备用GPU服务器来减轻性能损失随着模型规模增长而日益昂贵。ReCycle是一个专为在故障存在下高效训练DNN而设计的系统,无需依赖备用服务器。它利用了分布式训练系统中固有的功能冗余——数据并行组中的服务器存储相同的模型参数——以及每个数据并行组内的流水线调度气泡。当服务器发生故障时,ReCycle动态地将微批次重新路由到数据并行对等节点,从而在多次故障下仍能实现不间断训练。然而,这种重新路由可能导致流水线阶段之间的不平衡,从而降低训练吞吐量。为解决此问题,ReCycle引入了两项关键优化,确保重新路由的微批次在原始流水线调度的气泡内被处理。首先,它将反向传播解耦为两个阶段:一个用于计算输入的梯度,另一个用于计算参数的梯度。其次,它通过交错优化器步骤来避免流水线阶段之间的同步。这些优化共同实现了自适应流水线调度,能够最小化甚至消除故障期间的训练吞吐量下降。我们描述了ReCycle的原型,并展示了它在多次故障下实现了高训练吞吐量,分别比最近的容错训练方案Oobleck和Bamboo高出高达1.46倍和1.64倍。

关键词

引用

@article{arxiv.2405.14009,
  title  = {ReCycle: Resilient Training of Large DNNs using Pipeline Adaptation},
  author = {Swapnil Gandhi and Mark Zhao and Athinagoras Skiadopoulos and Christos Kozyrakis},
  journal= {arXiv preprint arXiv:2405.14009},
  year   = {2024}
}

备注

SOSP'24 | Camera-Ready