飞桨是怎么做到的?
允中 发自 凹非寺
非常AI | 公众号 QbitAI
北京时间11月10日,全球权威AI训练性能基准测试MLPerf Training v2.1结果正式公布[1]。百度使用飞桨框架提交的8机64卡配置下的BERT模型训练性能,位列同等GPU配置下世界第一。端到端训练时间和训练吞吐两个指标均超越NVIDIA高度优化的NGC PyTorch框架。
MLPerf是全球影响力最广的AI性能基准测试之一[2],飞桨本次夺魁,进一步体现了飞桨框架在分布式训练性能上的领先优势。
飞桨在MLPerf Training中的表现成绩
在今年6月30日发布的v2.0榜单里[3],百度飞桨在8卡NVIDIA GPU(400W功耗,80G显存)配置下,BERT模型训练性能排名第一,比其他提交结果快5%~11%不等,展示了飞桨领先的单机多卡并行训练性能优势。
在v2.0优异性能的基础上,飞桨在v2.1中提交的多机性能结果,进一步印证了分布式训练的极致性能表现。图1展示了v2.1中8机64卡NVIDIA GPU(400W功耗,80G显存)配置下BERT模型的所有训练性能数据(共4组),百度飞桨的端到端训练收敛时间比其它提交结果快1%~20%不等;图2展示了图1各组提交数据的吞吐对比,百度飞桨的训练吞吐比其他提交结果快2%~12%不等。
飞桨分布式训练核心技术解析及在MLPerf中的应用
飞桨在MLPerf基准测试中取得的优异成绩,得益于飞桨框架在分布式训练核心技术上的持续探索和创新:
高加速比的混合并行技术
针对大规模稠密参数模型高效训练问题,飞桨在业内首创4D混合并行训练策略。MLPerf BERT模型训练任务基于飞桨的混合并行策略,在单机8卡场景实现了超线性加速,在8机64卡相对于单机的扩展效率达到了94%。
端到端自适应分布式训练技术
针对分布式训练调优困难的问题,飞桨提出了端到端自适应分布式训练架构。对于MLPerf BERT模型训练任务,根据集群通信拓扑特点并结合NCCL SHARP协议,使用全局通信与分层次通信结合的方式降低整体通信耗时,有效提升模型训练性能。
高效的异构设备负载均衡技术
针对分布式训练经常出现的负载不均、数据加载速度瓶颈等问题,飞桨提出了异构设备混合负载均衡的方案,根据不同设备的算力特点,高效地进行负载均衡设计。
MLPerf BERT模型训练任务通过使用GPU高带宽通信,解决模型训练启动时的数据加载慢问题;通过CPU异构设备通信,实现模型训练过程与数据负载均衡间的重叠,提高模型训练效率。
此外,飞桨在基础训练性能上持续不断优化,为分布式训练性能提升打下坚实基础。
比如,飞桨高可复用算子库PHI保证了算子层的极致性能[4],高效数据读取模块提供了高速数据加载的重要方式,统一的IR Pass Library与神经网络编译器CINN结合形成一体化的编译优化架构,执行调度极致优化降低框架开销,硬件感知全流程自动调优可达媲美专家级优化效果[5]等。
源自产业实践飞桨分布式技术助力大模型落地
作为产业级深度学习平台,飞桨的分布式训练技术在实践中不断创新,并结合应用反馈持续优化。结合计算机视觉、自然语言处理、科学计算等领域的应用,飞桨研发了异构硬件下的低存储和高性能训练技术,相继发布了业界首个通用异构参数服务器架构、4D混合并行训练策略、端到端自适应分布式训练架构等多项领先技术成果。
飞桨大规模分布式训练技术,支持了百度大模型领域技术快速迭代持续领先。例如,百度发布了全球首个知识增强千亿大模型“鹏城-百度·文心”、全球首个百亿参数中英文对话预训练生成模型PLATO-XL、全球规模最大中文跨模态生成模型ERNIE-VILG、业界规模最大的多任务统一视觉大模型VIMER-UFO。
此外,飞桨分布式技术还在国产硬件集群上将AlphaFold2千万级别蛋白initial training阶段从7天压缩到2.6天。目前,文心已发布20多个大模型,覆盖自然语言处理、计算机视觉、跨模态、生物计算等领域,赋能工业、能源、城市、金融等千行百业。
结语
继在MLPerf Training v2.0获得了BERT模型单机训练性能世界第一后,飞桨在MLPerf Training v2.1的8机64卡配置下分布式训练性能再度折桂。成绩的背后,不仅是飞桨分布式框架的持续创新突破,也伴随着硬件生态的蓬勃发展。
飞桨硬件生态伙伴体系历经“共聚”、“共研”、“共创”三大阶段,目前已携手超过30家硬件厂商深度融合优化。飞桨与NVIDIA、Intel、瑞芯微、Arm等多家伙伴厂商合作,结合自有软硬件基础开发栈特色,针对不同应用场景和产品,在共同推出飞桨生态发行版、建设开源开放模型库、开发课程与培训内容等方面开展合作。
比如,NVIDIA与飞桨合作推出了NGC飞桨镜像,自2022年5月26日上线以来每月更新,持续不断地将NVIDIA CUDA最新软件栈与飞桨框架深度集成。NVIDIA与百度飞桨联合打造了深度学习优化与部署课程,预计12月中旬在百度飞桨人工智能学习与实训社区(AI Studio)及NVIDIA 深度学习培训中心 (DLI) 同步上线。
未来,飞桨将继续在软硬协同性能优化和大规模分布式训练技术等方向持续创新,为广大用户提供广泛适配、性能优异的产业级深度学习平台。
参考文献:
[1] MLPerf Training v2.1 Results
https://mlcommons.org/en/training-normal-21/
[2] THE NEXT PLATFORM
https://www.nextplatform.com/2021/08/10/why-the-mlperf-benchmark-is-good-for-ai-and-good-for-you/
[3] MLPerf Training v2.0 Results
https://mlcommons.org/en/training-normal-20/
[4] 飞桨框架v2.3发布高可复用算子库PHI!重构开发范式,降本增效
https://www.paddlepaddle.org.cn/support/news?action=detail&id=2994
[5] 飞桨框架v2.3一键开启全自动性能优化,媲美专家级优化效果
https://www.paddlepaddle.org.cn/support/news?action=detail&id=3079