没有合适的资源?快使用搜索试试~ 我知道了~
4470海报:Swift:大规模DNN训练的快速故障恢复0Yuchen Zhong 1,Guangming Sheng 1,Juncheng Liu 2,Jinhui Yuan 2,Chuan Wu 101 香港大学,中国,2OneFlow公司,中国{yczhong,gmsheng,cwu}@cs.hku.hk,{liujuncheng,yuanjinhui}@oneflow.org0摘要随着深度学习模型的规模越来越大,训练时间和资源消耗也越来越长,使得容错变得至关重要。现有的最先进方法,如CheckFreq和ElasticHorovod,需要在内存中备份模型状态的副本,这对于大型模型来说是昂贵的,并且会产生非常大的开销。本文提出了Swift,一种新颖的分布式深度神经网络训练故障恢复设计,可以显著减少故障恢复开销,而不影响训练吞吐量和模型精度。Swift通过解决由故障引起的模型状态不一致性,利用数据并行性中模型状态的副本来实现基于复制的恢复,而不创建额外的快照。其次,Swift提出了基于日志的恢复,以实现管线并行性中的快速故障恢复。0CCS Concepts: • 计算方法 → 分布式人工智能。0关键词:分布式DNN训练;容错性01引言大型深度神经网络(DNN)最近已被证明可以提高模型性能[2],但是训练这些模型容易出现故障,因为使用了许多机器(例如,数百台GPU机器)和较长的训练时间(例如,几天到几个月)。目前,深度学习框架中最常见的容错方法是全局检查点,它周期性地保存整个模型状态(即参数和优化器状态),并在故障发生时从最新的检查点重新开始。取决于0未经许可,个人或课堂使用本作品的全部或部分内容的数字或纸质副本无需支付费用,前提是不得以盈利或商业优势为目的进行复制或分发,并且副本上必须带有本声明和第一页的完整引用。必须尊重本作品中第三方组件的版权。对于其他任何用途,请联系所有者/作者。PPoPP'23,2023年2月25日至3月1日,加拿大蒙特利尔,QC,加拿大©2023版权由所有者/作者所有。ACM ISBN979-8-4007-0015-6/23/02。https://doi.org/10.1145/3572848.35775100对于检查点频率来说,这往往会导致数小时的计算时间丢失[8]。CheckFreq[9]通过将操作分为两个阶段来实现更频繁的检查点:首先,模型状态被复制到GPU内存中,称为快照,或者如果GPU内存不足,则复制到CPU内存中;接下来,异步将快照写入磁盘。ElasticHorovod[1]是一个用于弹性训练的框架,采用了类似的方法,但没有第二阶段。原因是ElasticHorovod假设进行分布式数据并行训练,每个工作进程都维护模型状态的副本;在故障恢复期间,幸存的工作进程之一将快照广播给其他工作进程,并且所有工作进程都从快照重新开始训练。为了防止状态损坏,ElasticHorovod必须进行快照。如果在模型更新期间发生故障,则幸存的工作进程处于尴尬的境地-某些参数已更新,而其他参数尚未更新。我们将这个问题称为崩溃一致性问题。然而,我们发现这两种方法都会因为快照的开销而减慢训练速度,如图1所示。本文研究了一种更好的分布式DNN训练故障恢复设计,可以显著减少恢复开销,而不影响训练吞吐量和最终模型精度。Swift使用基于复制的恢复和基于日志的恢复相结合的方法来实现这个目标。我们在PyTorch[10]中实现了Swift,并且代码公开在https://github.com/jasperzhong/swift。02Swift设计首先,Swift使用一种称为更新撤销的新方法来解决故障引起的模型状态不一致性,从而允许使用数据并行性中的模型状态副本进行基于复制的恢复,而不创建额外的快照。其次,Swift提出了基于日志的恢复,以实现管线并行性中的快速故障恢复。02.1 更新撤销0优化器中的许多更新操作,例如SGD和Adam[6],在数学上是可逆的,这意味着有一个反向操作可以逆转原始操作。例如,像逐元素加法和标量乘法这样的线性操作都是可逆的。然而,一些优化器涉及非线性操作,例如LAMB优化器[13],其将梯度与参数的L2范数进行缩放。在这种情况下,有必要将L2范数保存为标量以进行恢复。在模型更新期间发生故障时,如果某些工作进程的某些参数已经更新而其他参数尚未更新,则幸存的工作进程可以撤销已更新参数的更新。除了恢复模型参数之外,还需要恢复优化器状态,例如动量,以确保所有工作进程之间的一致性。使用更新撤销,可以在数据并行性中使用模型状态的副本进行故障恢复,称为基于复制的恢复。4480PPoPP '23,2023年2月25日至3月1日,加拿大蒙特利尔,Yuchen Zhong 1,Guangming Sheng 1,Juncheng Liu 2,Jinhui Yuan 2,Chuan Wu 10我们提出了基于日志的恢复方法用于管线并行性。这涉及记录机器间通信(即前向传递中的中间激活和反向传递中的梯度),以及发送方、接收方和时间戳(即当前训练迭代和当前训练的微批次)等元数据。我们的日志记录方法类似于上游备份[5],其中发送方而不是接收方记录消息,以确保在故障发生时不会丢失用于恢复的中间数据。使用专用的CUDA流,在后台异步进行日志记录。为每个工作进程设置一个队列。工作进程在训练过程中不断将输出张量推送到队列中,而另一个后台线程则不断从队列中读取张量并进行日志记录。此外,我们还在同步管线并行训练的泡沫时间进行日志记录。通过这种方式,日志记录不会成为关键路径。请注意,全局检查点仍然用于限制日志记录的大小,因为所有日志文件在全局检查点之后都已过时。在发生故障时,幸存的上游工作进程在检测到训练作业中的故障时,会清空未完成的日志记录任务队列。然后,上游工作进程将其日志文件上传到全局存储(例如HDFS)。替代故障工作进程的替换工作进程然后从全局存储中下载所需的日志文件,加载最新的检查点,并按照时间戳的确切顺序回放之前接收到的张量。如有必要,幸存的工作进程将撤销更新。该方法允许更有限的恢复范围,重点放在故障机器上的局部计算图上,而不是整个计算图,相比纯全局检查点,恢复速度更快。请注意,日志记录需要计算是确定性的(即相同的输入导致相同的输出)。并行恢复。为了进一步改善恢复过程,我们利用幸存的工作进程来协助恢复失败的工作进程。通过记录所有微批次的中间结果,我们可以使用基于记录数据的数据并行训练来加速丢失状态的重新计算。选择性日志记录。接下来,我们研究存储空间和恢复时间之间的权衡,采用选择性日志记录。我们的想法是将机器分组,并记录组间通信,而不是组内通信。原始方法是其中一个特定情况,每台机器02.2 基于日志的恢复0我们提出了基于日志的恢复方法用于管线并行性。这涉及记录机器间通信(即前向传递中的中间激活和反向传递中的梯度),以及发送方、接收方和时间戳(即当前训练迭代和当前训练的微批次)等元数据。我们的日志记录方法类似于上游备份[5],其中发送方而不是接收方记录消息,以确保在故障发生时不会丢失用于恢复的中间数据。使用专用的CUDA流,在后台异步进行日志记录。为每个工作进程设置一个队列。工作进程在训练过程中不断将输出张量推送到队列中,而另一个后台线程则不断从队列中读取张量并进行日志记录。此外,我们还在同步管线并行训练的泡沫时间进行日志记录。通过这种方式,日志记录不会成为关键路径。请注意,全局检查点仍然用于限制日志记录的大小,因为所有日志文件在全局检查点之后都已过时。在发生故障时,幸存的上游工作进程在检测到训练作业中的故障时,会清空未完成的日志记录任务队列。然后,上游工作进程将其日志文件上传到全局存储(例如HDFS)。替代故障工作进程的替换工作进程然后从全局存储中下载所需的日志文件,加载最新的检查点,并按照时间戳的确切顺序回放之前接收到的张量。如有必要,幸存的工作进程将撤销更新。该方法允许更有限的恢复范围,重点放在故障机器上的局部计算图上,而不是整个计算图,相比纯全局检查点,恢复速度更快。请注意,日志记录需要计算是确定性的(即相同的输入导致相同的输出)。并行恢复。为了进一步改善恢复过程,我们利用幸存的工作进程来协助恢复失败的工作进程。通过记录所有微批次的中间结果,我们可以使用基于记录数据的数据并行训练来加速丢失状态的重新计算。选择性日志记录。接下来,我们研究存储空间和恢复时间之间的权衡,采用选择性日志记录。我们的想法是将机器分组,并记录组间通信,而不是组内通信。原始方法是其中一个特定情况,每台机器0图1. Wide-ResNet-50的基于复制的恢复。0图2. BERT-128的基于日志的恢复。0形成一个组。如果组中的一台机器故障,需要将整个组的训练回滚到最新的检查点,并且恢复时间将更长。03 评估0我们在16台DGX-2机器上进行实验,每台机器配备八个32GBV100GPU,通过40Gbps以太网连接。我们使用数据并行性比较Swift、CheckFreq和ElasticHorovod在ImageNet数据集上训练Wide-ResNet-50模型的性能[14](基础通道大小为320,共有12.3亿个参数),以及使用流水线并行性和同步日志记录(即在发送之前保存张量)和全局检查点用于训练BERT-128模型[3](128个变换器层,共有11.1亿个参数)在Wikipedia数据集上。我们在第100次迭代时模拟故障,杀死一台机器。图1显示,与Wide-ResNet-50相比,Swift基于复制的恢复将恢复时间减少了98.1%,而CheckFreq和ElasticHorovod。图2显示,Swift基于日志的恢复在减少恢复时间高达76.3%的同时实现了类似的吞吐量,用于BERT-128而采用全局检查点。此外,Swift在对SQuAD数据集[11]上进行的BERT-Large的端到端微调任务和对CIFAR-100数据集[7]上进行的ViT-Base/32[4]的端到端微调任务中没有损失准确性,与无故障的对照组相比。模拟研究。我们使用实验中收集的跟踪数据计算预期的端到端训练时间,将故障均匀随机注入训练中,假设故障之间的中位时间为17小时[8]。我们的结果表明,Swift可以分别将Wide-ResNet-50和BERT-128的端到端训练加速1.16倍和1.10倍。0致谢本研究得到了浙江实验室主要科研项目(编号2019KD0AD01)和香港研究资助局(HKU17204619、17208920)的部分资助。4490海报:Swift:大规模DNN训练的快速故障恢复PPoPP ’23, February 25-March 1, 2023, Montreal, QC, Canada0参考文献0[1] Horovod作者. 2022. Elastic Horovod. https://horovod.readthedocs.io/en/stable/elastic_include.html .0[2] Tom Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared DKaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, GirishSastry, Amanda Askell, Sandhini Agarwal, Ariel Herbert-Voss, GretchenKrueger, Tom Henighan, Rewon Child, Aditya Ramesh, Daniel Ziegler,Jeffrey Wu, Clemens Winter, Chris Hesse, Mark Chen, Eric Sigler,Mateusz Litwin, Scott Gray, Benjamin Chess, Jack Clark, ChristopherBerner, Sam McCandlish, Alec Radford, Ilya Sutskever和Dario Amodei.2020. 语言模型是少样本学习器. In Proceedings of Advances in NeuralInformation Processing Systems .0[3] Jacob Devlin, Ming-Wei Chang, Kenton Lee和Kristina Toutanova.2019. BERT:用于语言理解的深度双向变换器的预训练. In Proceedings ofthe North American Chapter of the Association for ComputationalLinguistics: Human Language Technologies .0[4] Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weis-senborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani,Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit和NeilHoulsby. 2020. 一幅图像相当于16x16个单词:规模上的图像识别转换器. InProceedings of International Conference on Learning Representations .0[5] Jeong-Hyon Hwang, Magdalena Balazinska, Alex Rasin, UgurCetintemel, Michael Stonebraker和Stan Zdonik. 2005.高可用性算法用于分布式流处理. In Proceed- ings of InternationalConference on Data Engineering .0[6] Diederik P Kingma和Jimmy Ba. 2015.Adam:一种用于随机优化的方法. In Proceedings of InternationalConference on Learning Representations .0[7] Alex Krizhevsky, Geoffrey Hinton等。2009. 从小图像中学习多层特征.(2009).0[8] Kiwan Maeng, Shivam Bharuka, Isabel Gao, Mark Jeffrey, VikramSaraph, Bor-Yiing Su, Caroline Trippel, Jiyan Yang, Mike Rabbat, Bran-don Lucia和Carole-Jean Wu. 2021.理解和改进面向部分恢复的深度学习推荐中的容错训练. In Proceedings ofthe 4th Conference on Machine Learn- ing and Systems .0[9] Jayashree Mohan, Amar Phanishayee和Vijay Chidambaram. 2021.CheckFreq:频繁,细粒度的DNN检查点. In Proceed- ings of the 19thUSENIX Conference on File and Storage Technologies .0[10] Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, JamesBrad- bury, Gregory Chanan, Trevor Killeen, Zeming Lin, NataliaGimelshein, Luca Antiga, Alban Desmaison, Andreas Kopf, Edward Yang,Zachary DeVito, Martin Raison, Alykhan Tejani, Sasank Chilamkurthy,Benoit Steiner, Lu Fang, Junjie Bai和Soumith Chintala. 2019.PyTorch:一种命令式风格的高性能深度学习库. In Proceedings of Advancesin Neural Information Processing Systems .0[11] Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev和Percy Liang.2016. SQuAD:用于机器阅读理解的100,000个问题. In Proceedings of the2016 Conference on Empirical Methods in Natural Language Processing.0[12] Olga Russakovsky, Jia Deng, Hao Su, Jonathan Krause, SanjeevSatheesh, Sean Ma, Zhiheng Huang, Andrej Karpathy, Aditya Khosla,Michael Bernstein, Alexander C. Berg和Li Fei-Fei. 2015.ImageNet大规模视觉识别挑战. In Proceedings of Interna- tional Journalof Computer Vision .0[13] Yang You, Jing Li, Sashank Reddi, Jonathan Hseu, Sanjiv Kumar, Sri-nadh Bhojanapalli, Xiaodan Song, James Demmel, KurtKeutzer和Cho-Jui Hsieh. 2020.大批量优化深度学习:在76分钟内训练BERT.In Proceedings of International Conference on LearningRepresentations .0[14] Sergey Zagoruyko和Nikos Komodakis. 2016. Wide Residual Net-works. arXiv预印本(2016)。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功