【技术实现步骤摘要】
International Conference on Distributed Computing Systems.
[0010][6].Hongyi Zhang,Moustapha Cisse,Yann N.Dauphin,and David Lopez
‑
Paz.mixup:Beyond empirical risk minimization.arXiv preprint arXiv:1710.09412,2017.
[0011][7].S.Ioffe and C.Szegedy.Batch normalization:Accelerating deep network training by reducing internal covariate shift.In Proceedings of ICML,pages448
–
456,2015.
[0012]J.Hu,L.Shen,and G.Sun.Squeeze
‑
and
‑
excitation networks.arXiv preprint arXiv:1709.01507,2017。
[0013][3][4][5]尝试去改进BSP和ASP。文献[3]提出的Local
‑
SGD通过减少BSP中通信同步的频率来减少通信等待的时间,但是该方法可能会损害模型精度,而且通信同步的频率阈值难以确定。文献[4]提出的SSP通过指定训练速度最快的工作节点和训练速度最慢的工作节点间的梯度过时不超 ...
【技术保护点】
【技术特征摘要】
1.一种加速分布式机器学习的自适应同步机制,其特征在于,包括以下步骤:S1、在训练初始阶段各个工作节点采用ASP方案进行训练;S2、服务器在每一个epoch中检测最快工作节点和最慢工作节点间的过时值s,当s大于1个epoch时,服务器对排名前s名工作节点采用松弛的BSP方案,与BSP不同,松弛的BSP方案允许服务器松弛同步条件,即允许服务器等待一定迭代次数后,可以直接对已收到的梯度做聚合,而不需要等待收到所有梯度才进行聚合,且在该松弛的BSP方案中采用差异化加权的梯度聚合方法来聚合梯度,而对于剩余的工作节点,因为它们的排名靠后,训练速度较慢,服务器对它们采用ASP方案;S3、在训练的每一轮中检测s,根据s以及工作节点训练速度的变化,针对各个工作节点自适应地采用不同的并行训练方案(松弛的BSP或ASP)。2.根据权利要求1所述的一种加速分布式机器学习的自适应同步机制,其特征在于,实现自适应同步机制的具体步骤如下:S11、工作节点的实现步骤:(1)各个工作节点独立加载一部分数据集,并计算损失(Cost)、准确度(Accuracy)以及梯度(Gradient);(2)工作节点通过TCP通信协议推送梯度到参数服务器中;(3)等待接收来自参数服务器返回的最新的模型参数;(4)将最新的模型参数替换本地的模型参数,从而进行下一次迭代训练,即循环执行(1)(2)(3)(4)步骤。S11、参数服务器的实现分为两个阶段:初始阶段和自适应同步阶段,参数服务器的运行由初始阶段起始,其后逐步过渡到自适应同步阶段,且根据梯度过时的严重程度,初始阶段和自适应同步阶段会自适应地相互切换:初始阶段:(1)等待接收来自工作节点的梯度,同时记录其迭代次数和训练轮数(训练轮数是指epoch,一次数据集的完整遍历记为一个epoch);(2)依据迭代次数,参数服务器检测是否所有工作节点都已经完成了一个完整的epoch,如果否,执行以下1)和2)步骤后,然后返回初始阶段步骤(1);1)参数服务器直接使用收到的梯度更新全局的模型参数,更新的方法使用随机梯度下降SGD(Stochastic Gradient Descent),随机梯度下降如公式(1)所示:W
t+1
=W
t
‑
decay_α*g
i
ꢀꢀ
(1)其中,W
t+1
表示保存在参数服务器中第t+1次迭代的全局模型参数,decay_α表示衰减的学习率,g
i
表示来自第i个工作节点的梯度;2)将最新的全局模型参数W
t+1
单播给对应的第i个工作节点;继步骤(2),如果是(即所有工作节点都已经完成了一个完整epoch),参数服务器依据记录的训练epoch对所有工作节点进行排名,并计算最快工作节点和最慢工作节点的epoch差值s,其中:3)如果s<=1,参数服务器直接执行1)和2)步骤,然后返回初始阶段步骤(1);如果s>1,服务器将排名前s名的工作节点放入同步组,而将剩余的工作节点放入异步组,接着执行(2)中的1)和2)步骤后,参数服务器进入自适应同步阶段:
自适应同步阶段:(3)等待接收来自工作节点的梯度,在继承初始阶段的同时,继续记录工作节点的迭代次数和训练轮数(epoch);(4)如果此时聚合列表(即权利要求3中所述的聚合列表)中已存在至少一份梯度,参数服务器启动松弛计数器,每收到一份梯度则松弛计数器计数加1;(5)判断接收到的梯度是否来自于同步组中的工作节点;(6)如果该份梯度来自于同步组中的工作节点,则按下面权利要求3、4、5、6和7所述过程执行;(7)如果该份梯度是来自于异步组中的工作节点,则执行初始阶段中的步骤1)和2);(8)循环执行步骤(3)(4)(5)(6)(7),直到工作节点训练结束。3.根据权利要求2所述的一种加速分布式机器学习的自适应同步机制,其特征在于,继自适应同步阶段步骤(5),如果该份梯度来自于同步组中的工作节点,则执行以下操作:1)参数服务器不会立刻更新全局模型参数,而是将这份梯度添加到一个聚合列表。2)如果聚合列表中梯度份数不等于同步组中所有工作节点个数或者松弛计数器计数小于或等于预设的松弛因子,返回到自适应同步阶段的步骤(3)。4.根据权利要求3所述的一种加速分布式机器学习的自适应同步机制,其特征在于,继权利要求3中的步骤2),否则(即满足聚合列表中的梯度份数等于同步组中所有工作节点个数或者满足松弛计数器计数大于预设的松弛因子),此时对聚合列表中的梯度做聚合,执行
①②③④
步骤:
①
采用一种差异化加权的梯度聚合方法用于聚合梯度,该方法如公式(2)(3)所示:采用一种差异化加权的梯度聚合方法用于聚合梯度,该方法如公式(2)(3)所示:其中,iteration
i
表示第i个工作节点的迭代次数,s
′
表示参数服务器已收到的需要进行同步聚合的梯度份数,其...
【专利技术属性】
技术研发人员:刘外喜,谭淼泉,罗钧明,蔡君,陈庆春,
申请(专利权)人:广州大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。