近日,蚂蚁集团宣布开源大模型分布式训练加速扩展库ATorch。ATorch可针对不同模型和硬件资源,实现深度学习自动资源动态优化和分布式训练稳定性提升,可帮助优化深度学习的智能性,解决大模型训练的提效问题。据了解,ATorch大模型训练算力利用率可达60%,对于千亿模型千卡级训练提效非常友好,相当于为跑车装上了强劲的引擎。
Meta开源的 PyTorch和谷歌开源的TensorFlow,是最受开发者欢迎的两大深度学习框架。凭借其简单易用、功能强大、用途广泛等特点,开发者和研究人员可以轻松的构建和训练模型。随着生成式大模型的爆发,模型训练的数据集和参数规模成指数级增长。要带动如此庞然大物,并且满足模型的快速迭代,分布式训练就成为了解题之道。本次蚂蚁开源的ATorch针对于大模型训练场景,提供了基于 PyTorch 的高性能解决方案。
1
为跑车装上强劲引擎
2023年上半年,蚂蚁集团开源了DLRover项目,这是基于云原生技术打造的智能分布式深度学习系统,相当于为一辆跑车提供了自动驾驶系统。那么如何让跑车跑得更快呢?蚂蚁开发了基于PyTorch的分布式训练加速扩展库ATorch,并且集成到DLRover中,将更大程度上帮助大模型开发能够专注于模型架构的设计,而无需处理工程方面的细节,让训练更高效、智能。这就相当于为跑车装上了一个强劲的引擎。
ATorch设计的初衷是,让深度学习和大模型训练继续拥抱成熟活跃的PyTorch生态,并且优雅组合不同开源方案,任意添加针对自身硬件与业务特点新策略,同时针对不同的模型和硬件资源来配置出最优的策略。
ATorch采用了分层的架构设计,功能清晰、设计全面,可为开发者提供极致精简的开发体验,以及领先的稳定性保障。主要包括统一分布式优化策略配置接口、自动分布式策略搜索、自动弹性容错、高效动态显存管理库、自研优化器加速收敛等核心功能。作为PyTorch框架的高性能扩展加速库,ATorch可实现最少化用户代码侵入,可为千亿参数大模型千卡级提供高性能预训练实践方案。
1)整体设计
(ATorch系统架构)
整体上ATorch采用了分层的架构设计:
2)核心功能
1.千亿参数大模型千卡级高性能预训练实践方案(算力利用率 > 50%)
2.显存/通信联合优化
3.Flash Attention/Fused ops 等算子优化
4.千亿参数模型快速ckpt save/load的支持
5.支持千亿级模型RLHF高效微调
1.分布式算子,通信,显存优化
2.数据IO预处理优化
给定单机模型定义和硬件资源描述,自动搜索最优配置组合
2
千亿千卡模型训练
算力利用率达60%
近期在以开源模型为对象的大模型训练优化实践中,ATorch取得了亮眼的成绩。
1)主要开源大模型预训练算力吞吐提效
2)ATorch训练加速比
以antglm10B为实验模型,从1机8卡测试到32机256卡,基线为模型官方提供的Megatron+deepspeed实现
3)ATorch千卡训练稳定性
关键指标:
后续,ATorch将在功能上进行更多升级。包括ATorch RLHF,支持千亿模型高效指令微调,time/seq相对基线4x提升、ATorch大模型快速容错,ckpt 高速保存恢复方案;国产卡适配及优化;Lynx全图编译优化;更多分布式优化策略细节连载等。