AI分布式训练进阶篇

分布式训练在AI场景下发挥的重大作用,目前无论是深度学习主流框架(如TensorFlow, PyTorch, PaddlePaddle, MXNet等),还是分布式训练工具(Horovod, DeepSpeed)都是在不断尝试突破和优化AI分布式训练算法,以满足更大规模、更复杂场景的模型高效训练需求。此文将继续挖掘AI分布式训练的原理及OrionX赋能分布式训练的方式。
摘要由CSDN通过智能技术生成

目录

AI分布式算法有哪些思想?

Parameter Server算法

Ring Allreduce算法

Ring Allreduce的算法思想演进

趋动科技OrionX助力AI分布式训练


之前已经给大家介绍了OrionX赋能深度学习分布式训练的相关知识OrionX(猎户座)AI加速器资源池化软件赋能深度学习分布式训练,了解了分布式训练在AI场景下发挥的重大作用,目前无论是深度学习主流框架(如TensorFlow, PyTorch, PaddlePaddle, MXNet等),还是分布式训练工具(Horovod, DeepSpeed)都是在不断尝试突破和优化AI分布式训练算法,以满足更大规模、更复杂场景的模型高效训练需求。

聊到AI分布式训练,应该了解一下其背后的原理。其实分布式概念并不是近十年AI大发展过程中提出,更早的HPC和大数据领域都已经在分布式计算领域输出了大量实践和成果,但由于目前AI算法特殊的前向和反向计算机制,对分布式算法提出了更高难度的挑战,AI分布式算法吸取前人经验,走出了一条独特的创新之路。


AI分布式算法有哪些思想?

目前主流的AI分布式算法分为两大类,分别是Parameter ServerRing Allreduce

  • Parameter Server(参数服务器):参数服务器是一个编程框架,用于方便分布式并行程序的编写,其中重点在于对大规模参数的分布式存储和协同的支持。参数服务器概念最早来自于Alex Smola于2010年提出的并行LDA的框架。后来由Google的Jeff Dean进一步提出了第一代Google大脑的解决方案:DistBelief。再之后由MXNet作者,AWS首席科学家李沐在2014年提出第三代参数服务器思想,论文为《Parameter Server for Distributed Machine Learning》
  • Ring Allreduce(环行归约):Allreduce归约概念很早就诞生于并行计算领域,在HPC经常使用的MPI(Message-Passing Interface,消息传递接口)标准中就有常见的接口MPI_Allreduce。后来2016年百度硅谷人工智能实验室(SVAIL)首次将Ring Allreduce算法引入到深度学习中,开启了AI分布式训练新的篇章,后续Nvidia的NCCL,Uber开源的Horovod,PyTorch的DDP都是基于Ring Allreduce思想不断演进发展的实现方式。

Parameter Server算法

Parameter Server框架中,计算节点被分成两种:server和worker。

  1. server节点的主要功能是保存模型参数、接受worker节点计算出的局部梯度、汇总计算全局梯度,并更新模型参数。
  2. worker节点的主要功能是各保存部分训练数据,从server节点拉取最新的模型参数,根据训练数据计算局部梯度,上传给server节点。worker只和server通信,互相之间没有通信。

如下图所示:

 图1:Parameter Server结构

*From [1]“Horovod: fast and easy distributed deep learning in TensorFlow”

举一个具体例子,如下图所示,GPU 0~3卡负责网络参数的训练,每个卡上都布置了相同的深度学习网络,每个卡都分配到不同的数据的minibatch。每张卡训练结束后将网络参数同步到GPU 0,也就是Reducer这张卡上,然后再求参数变换的平均下发到每张计算卡,整个流程有点像MapReduce的原理。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值