研究团队开发开源大模型训练框架 Oobleck 提供快速且有保障的故障修复
要点:
密歇根大学的研究团队开发了一种名为Oobleck的开源大型模型训练框架,利用管道模板的概念,提供了快速而有保障的故障恢复,避免训练吞吐量下降。
Oobleck的设计核心是管道模板,这是针对给定节点数量的训练管道执行的规范,用于实例化管道副本。这些模板在逻辑上等效(可以一起用于训练相同的模型),但在物理上是异构的(使用不同数量的节点),从而在保障容错性的同时提供高吞吐量和快速恢复。
与现有框架相比,Oobleck是第一个利用大型语言模型固有冗余进行容错的框架。通过使用预生成的异构模板,它提供了高吞吐量、最大利用率、有保障的容错性以及在故障恢复时避免检查点或重算方法的开销。
12月19日 消息:随着对生成式人工智能技术需求的激增,大型语言模型的训练和容错性要求也在不断增加。为应对这一挑战,密歇根大学的研究人员开发了一款名为Oobleck的开源大型模型训练框架。该框架采用管道模板的概念,为大型模型的预训练提供了快速而可靠的故障恢复机制。
项目地址:https://github.com/SymbioticLab/Oobleck
传统框架在大型语言模型预训练时缺乏系统支持,而Oobleck通过引入管道模板的概念创新性地解决了这一问题。这些管道模板在逻辑上等效,但在物理上是异构的,允许在训练时利用固有的冗余来提高容错性。相比于现有方法,Oobleck的优势在于其高吞吐量、最大利用率以及对故障的有保障快速恢复,而无需使用检查点或重算方法。
Oobleck的执行引擎在训练作业开始时,根据最大同时容忍的故障数量实例化至少f+1个异构管道。在故障发生时,框架通过简单地从预计算的管道模板重新实例化管道来进行恢复,避免了在运行时寻找新的最佳配置的繁琐分析。因此,使用预生成的管道模板总能够保证Oobleck从f个或更少的故障中恢复。
这种管道模板的引入不仅是对问题发生后缓慢处理或对所有可能情景进行规划的一种平衡,而且为分布式计算系统中的高效而有效的弹性提供了示范。未来,研究人员计划将管道模板应用于改进各种生成式人工智能应用的弹性,首先从推理服务系统开始。
总的来说,Oobleck的开发标志着利用固有冗余提高容错性的新里程碑,为大型模型的高效训练和故障恢复提供了一种创新性的解决方案。