CN104714852B - 一种适用于分布式机器学习的参数同步优化方法及其系统 - Google Patents
一种适用于分布式机器学习的参数同步优化方法及其系统 Download PDFInfo
- Publication number
- CN104714852B CN104714852B CN201510117746.5A CN201510117746A CN104714852B CN 104714852 B CN104714852 B CN 104714852B CN 201510117746 A CN201510117746 A CN 201510117746A CN 104714852 B CN104714852 B CN 104714852B
- Authority
- CN
- China
- Prior art keywords
- parameter
- server
- synchronization
- working node
- interval
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种适用于分布式机器学习的参数同步优化方法及其系统,使用参数服务器分布式方式实现的机器学习算法,解决现有算法在参数同步过程中的瓶颈。本发明系统包括参数服务器端的资源监控和分配模块、参数维护模块,各工作节点的服务器资源请求模块、参数同步时间间隔控制模块、未同步时间累计模块、参数计算模块和参数同步模块。本发明通过监控参数服务器资源占用情况,为不同工作节点选取不同同步时间间隔来避免请求突发情况,同时保证选取的时间间隔能够同时满足降低通信频率和确保训练准确率,以有效解决现有分布式机器学习系统在参数同步过程中所面临的瓶颈问题。
Description
技术领域
本发明属于分布式计算和机器学习交叉技术领域,具体涉及一种适用于分布式机器学习的参数同步优化方法及其系统。
背景技术
随着大数据时代的到来,机器学习算法尤其是适用于大规模数据的深度学习算法正得到越来越广泛的关注和应用,包括语音识别、图像识别以及自然语言处理等。然而,随着输入训练数据(机器学习中用于求解神经网络模型的一类数据)和神经网络模型的增大,单节点进行机器学习训练存在内存限制以及数周甚至数月的训练耗时等问题,分布式机器学习应运而生。分布式机器学习在工业界和学术界都收到普遍的关注,如:Google利用DistBelief分布式系统训练出了猫脸识别模型,UC Berkeley AMP实验室开源了一个可适用于机器学习算法的类Hadoop MapReduce的分布式计算系统Spark。机器学习分布式化的主要目的在于:1.解决单个计算节点内存不足,以保证能够处理TB级及以上的数据量;2.利用并行加速算法模型训练,将原有数月的训练时间缩短为周或者数天。
典型的机器学习分布式系统为参数服务器系统(本文中所述参数指的是机器学习中用于建立神经网络模型的矩阵变量),该系统包括一个(或多个)主节点作为参数服务器节点,多个从节点作为工作节点。参数服务器节点负责维护和更新全局共享参数;工作节点保存一部分输入训练数据,利用该训练数据计算新的模型参数,并且及时和参数服务器同步最新参数。分布式机器学习常用算法——并行Stochastic Gradient Descent(随机梯度下降,简称SGD)算法的一个完整训练步包括4个子步骤:
1.工作节点从参数服务器节点拉取最新参数副本。
2.工作节点从本地训练数据中取出一批(batch,表示一个完整实体的用于训练的输入数据矩阵称为一组,一批可能是一组或者多组)新的数据,进行计算,得到新的参数梯度(本文所述参数梯度指的是用于更新参数矩阵的差值)。
3.工作节点将新计算的参数梯度推送给参数服务器。
4.参数服务器利用参数梯度计算更新参数。
上述中的步骤2和步骤4,是为得到最终模型参数的两个关键步骤,步骤1和步骤3可以根据需求不在完整训练步中出现。虽然参数服务器系统能够利用分布式训练的方式减少训练时间(训练时间包括基本的模型参数计算、更新的时间和参数同步时间两个部分),但是如上训练的步骤1即拉取最新参数和步骤3即推送参数梯度(这两个步骤统称为参数同步动作)是整个分布式训练中的瓶颈:对于需要进行分布式训练的大规模算法模型,其需要进行同步的参数矩阵和参数梯度矩阵的大小正比于该算法的神经网络大小(甚至可能接近内存大小),因此进行参数同步的时间,受制于网络带宽、服务器内存、CPU使用等诸多条件,成为分布式训练中的巨大瓶颈。
对于参数同步瓶颈问题,现有的解决方案是降低参数同步的频率,即延长两次参数同步动作之间的时间间隔(省略某几个完整训练步中的步骤1和步骤3)。但若两次参数同步动作之间的时间间隔过长,会导致因服务器和各个工作节点长时间不能得到对方最新的参数信息而损失部分更新数据,最终使得训练准确率下降。据此现今开发者都是利用经验手动设置一个较为合理的时间间隔值,但这种选用一个固定且合理的时间间隔值的方式依然存在参数同步瓶颈问题:由于各工作节点同步时间间隔固定且相等,参数同步请求会在近乎相同的时间点到达参数服务器而呈现请求突发现象,而参数服务器资源有限,来自不同工作节点的参数同步请求必须通过排队的方式依次获得服务器资源以进行参数同步,随着队列的增长,排队时间不容小觑,每个参数请求需要耗费数倍于其与参数服务器实际进行同步的时间。因此,如何合理地选取和控制参数同步时间间隔,以解决分布式机器学习训练中参数同步瓶颈的问题,同时保证训练准确率,是分布式机器学习训练中亟需解决的问题。
发明内容
针对现有技术的上述缺陷或改进需求,本发明提供了适用于分布式机器学习算法场景的参数同步优化的方法及其系统。通过监控参数服务器资源占用情况,为不同工作节点选取不同的同步时间间隔来避免请求突发情况,同时保证选取的时间间隔能够同时满足降低通信频率和确保训练准确率,以上方法和系统可有效解决现有分布式机器学习系统中参数同步瓶颈的问题。
为了实现上述目的,按照本发明的一个方面,提供了一种适用于分布式机器学习的参数同步优化系统,用于在分布式机器学习算法场景中进行参数同步控制,具体包括位于参数服务器端的资源监控和分配模块、参数维护模块,位于各工作节点端的服务器资源请求模块、参数同步时间间隔控制模块、未同步时间累计模块、参数计算模块和参数同步模块。其中工作节点端,未同步时间累计模块与工作节点内其他各模块相连,另外服务器资源请求模块和参数计算模块还各自与参数同步时间间隔控制模块和参数同步模块相连,同时服务器端资源监控和分配模块与工作节点端服务器资源请求模块相连,服务器端参数维护模块与工作节点端参数同步模块相连。
所述参数服务器端的资源监控和分配模块,用于负责监控参数服务器的资源使用情况,在接收到来自某工作节点的资源请求后,分析当前资源利用情况,若资源可用则分配服务器资源给相应工作节点的服务器资源请求模块,否则向该工作节点回复资源不可用;
所述参数服务器端的参数维护模块,用于负责在服务器端维护算法模型参数,响应来自工作节点的参数更新请求:若请求目标为更新服务器参数,则该模块根据得到的参数梯度计算并更新当前参数;若请求目标为获得服务器参数,则参数服务器端的参数维护模块拷贝当前服务器参数并返回给相应工作节点的参数同步模块;
所述位于各工作节点端的服务器资源请求模块,用于在收到未同步时间累计模块的“达到参数同步时间点”通知时,向资源监控和分配模块请求分配资源,若得到许可则交付参数同步模块进行参数同步,否则将任务交给参数同步时间间隔控制模块进一步进行时间间隔控制;
所述位于各工作节点端的参数同步时间间隔控制模块,用于负责在接收到参数同步模块的通知或接收到来自服务器资源请求模块的通知时,设置合理的参数同步间隔时间,降低对服务器资源的竞争以减轻瓶颈;
所述位于各工作节点端的未同步时间累计模块,用于负责记录上一次设置参数同步间隔到现在为止的时间,一旦该时间达到参数同步时间间隔控制模块规定的参数同步时间间隔后,则通知服务器资源请求模块申请同步资源;在资源申请失败时,如果当前累计未同步时间达到同步时间间隔上限值时,则通知参数同步模块进行强制同步,其中所述当前累计未同步时间为上一次成功同步后到当前的时间。
所述位于各工作节点端的参数计算模块,用于负责根据训练数据在工作节点进行本地参数计算的工作;
所述位于各工作节点端的参数同步模块,用于负责在获得参数服务器的资源许可之后或者接收到未同步时间累计模块的强制同步命令后,和参数服务器之间进行参数同步。
上述中的未同步时间和同步时间间隔的时间计量单位为并行随机梯度下降算法的一个完整训练步,即每经过一个完整的训练步,时间计量加1,同步时间间隔即是“经过多少个完整的训练步,再开始进行参数同步”。
在本发明方法和系统中所述的服务器资源包括服务器传输带宽、内存、CPU。
相应地,本发明还提供了一种适用于分布式机器学习的参数同步优化方法,用于在分布式机器学习算法场景中进行参数同步控制,包括系统初始化步骤和并行训练步骤,其中:
(1)系统初始化步骤:初始化服务器和工作节点的模型参数、训练数据集、配置信息,具体包括下述子步骤:
(1.1)向参数服务器输入训练数据,并由参数服务器将训练数据分成多个训练子集;根据用户定义将同步时间间隔上限值max_interval初始化为一常量值,该值小于分配给每个工作节点的输入训练数据的总批数;将不同子集和max_interval发送给各个工作节点,转子步骤(1.2);
(1.2)参数服务器根据用户定义的神经网络模型结构随机初始化神经网络模型参数θ,转子步骤(1.3);
(1.3)各个工作节点从参数服务器处拉取初始化模型参数θ作为本地初始化参数,转子步骤(1.4);
(1.4)各个工作节点将各自的拉取参数计时器pullCounter、推送参数梯度计时器pushCounter、累计未推送时间间隔accrued_push_interval、累计未拉取时间间隔accrued_pull_interval和当前累计未同步参数梯度值ΣΔθ均初始化为0,同时初始化拉取时间间隔pull_interval和推送时间间隔push_interval,其中拉取时间间隔pull_interval和推送时间间隔push_interval均由工作节点随机生成,其值介于1和max_interval之间(包含边界值);进入步骤(2);
(2)并行训练步骤:利用模型参数和各个工作节点的输入训练子集进行训练,并按计算好的时间间隔及时与参数服务器进行同步直至训练结束,具体包括下述子步骤:
(2.1)工作节点在本地训练子集中查询当前是否有未训练数据,若有则取出一批新的训练数据,计算剩余未训练数据批数remain_batch_size,并转子步骤(2.2);否则结束并行训练步骤;
(2.2)工作节点利用子步骤(2.1)中取出的数据和当前参数θ进行计算,得到参数梯度Δθ,转子步骤(2.3);
(2.3)工作节点利用子步骤(2.2)得到的Δθ更新本地参数θ;pullCounter和pushCounter自增1(计时动作),转子步骤(2.4);
(2.4)工作节点利用子步骤(2.2)得到的Δθ累加到ΣΔθ,转子步骤(2.5);
(2.5)推送参数梯度子步骤:根据参数同步时间间隔的控制,推送参数梯度,具体包括下述子步骤:
(2.5.1)判断pushCounter记录的时间是否等于push_interval,若等于则转子步骤(2.5.2),否则结束子步骤(2.5),并转子步骤(2.6);
(2.5.2)工作节点向参数服务器节点发送资源请求;如果服务器回复许可,则转子步骤(2.5.3),否则转子步骤(2.5.4);
(2.5.3)工作节点向服务器推送子步骤(2.4)中得到的ΣΔθ,等待服务器更新参数完毕,将accrued_push_interval和ΣΔθ清零,转子步骤(2.5.5);
(2.5.4)将当前pushCounter记录时间累加到accrued_push_interval,若accrued_push_interval≥max_interval或remain_batch_size==0,则转子步骤(2.5.3),否则转子步骤(2.5.5);
(2.5.5)重新设置push_interval,push_interval由工作节点随机生成,其值介于1到max_interval-accrued_push_interval和remain_batch_size的较小值之间(包含边界值),将pushCounter清零,结束子步骤(2.5),并转子步骤(2.6);
(2.6)拉取参数子步骤:根据参数同步时间间隔的控制,拉取参数,具体包括下述子步骤:
(2.6.1)判断pullCounter记录的时间是否等于pull_interval,若是则转子步骤(2.6.2),否则结束子步骤(2.6),并转子步骤(2.1);
(2.6.2)工作节点向参数服务器节点发送资源请求;如果服务器回复许可,则转子步骤(2.6.3),否则转子步骤(2.6.4);
(2.6.3)工作节点向参数服务器请求拉取最新参数并等待参数服务器返回该值θ;将本地参数更新为θ;将accrued_pull_interval清零,转子步骤(2.6.5);
(2.6.4)将当前pullCounter记录的时间累加到accrued_pull_interval,若accrued_pull_interval≥max_interval或remain_batch_size==0,则转子步骤(2.6.3);否则转子步骤(2.6.5);
(2.6.5)重新设置pull_interval,pull_interval由工作节点随机生成,其值介于1到max_interval-accrued_pull_interval和remain_batch_size的较小值之间(包含边界值),将pullCounter清零;结束子步骤(2.6),并转子步骤(2.1)。
上述子步骤(1.3)和(2.6.3)中所述的拉取服务器参数过程,具体包括:
(1.3.1)工作节点向服务器端发送拉取参数请求,等待服务器响应;
(1.3.2)服务器端接收来自某工作节点的拉取参数请求,复制服务器中存储的当前模型参数θ,并返回给该工作节点;
(1.3.3)工作节点接收服务器端返回的模型参数值θ,拉取服务器参数完成。
上述子步骤(2.5.3)中所述的推送当前未同步参数梯度值过程,具体包括:
(2.5.3.1)工作节点向服务器端推送当前未同步参数梯度值ΣΔθ,等待服务器响应;
(2.5.3.2)服务器端接收来自某工作节点的推送请求,利用接收到的参数梯度值Δθ(即工作节点端的当前未同步参数梯度值ΣΔθ)更新本地模型参数θ,并返回成功信号给该工作节点;
(2.5.3.3)工作节点接收服务器端返回的成功信号,推送当前未同步参数梯度值完成。
上述子步骤(2.5.2)和(2.6.2)所述的发送资源请求过程,具体包括:
(2.5.2.1)工作节点向服务器端发送资源请求信号,等待服务器响应;
(2.5.2.2)服务器端接收来自某工作节点的资源请求信号,服务器根据当前资源占用情况,决定是否分配服务器资源;若服务器资源当前占用较低,则返回资源可用信号给该工作节点;否则返回资源不可用;
(2.5.2.3)工作节点接收服务器端返回的资源可用与否信号,发送资源请求完成。
通过上述方法,本发明实现了参数同步时间间隔的动态设置,可以根据服务器资源使用情况,调度参数同步行为,从而避免了在同一时刻参数同步请求突发所造成的排队时延情况,解除了分布式机器学习训练中的参数同步瓶颈;本发明利用设置同步时间间隔上限值来控制同步时间间隔,保证了同步时间间隔不会因为过长而降低最终训练准确度;同现有分布式机器学习技术相比,本发明有效消除了参数同步瓶颈,提高了训练速度,并且保证了训练准确率。
附图说明
图1是本发明参数同步优化系统的结构框图;
图2是本发明参数同步优化方法的整体工作流程图;
图3是本发明参数同步优化方法的系统初始化子工作流程图;
图4是本发明参数同步优化方法的并行训练子工作流程图;
图5是本发明参数同步优化方法的推送参数梯度子工作流程图;
图6是本发明参数同步优化方法的拉取参数子工作流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
图1是本发明参数同步优化系统的结构框图。如图1所示,本发明的参数同步优化系统包括位于参数服务器端的资源监控和分配模块、参数维护模块,位于各工作节点端的服务器资源请求模块、参数同步时间间隔控制模块、未同步时间累计模块、参数计算模块和参数同步模块。其中工作节点端,未同步时间累计模块与工作节点内其他各模块相连,另外服务器资源请求模块和参数计算模块还各自与参数同步时间间隔控制模块和参数同步模块相连,同时服务器端资源监控和分配模块与工作节点端服务器资源请求模块相连,服务器端参数维护模块与工作节点端参数同步模块相连。
资源监控和分配模块负责监控参数服务器的资源使用情况,在接收到来自工作节点的资源请求后,分析当前资源利用情况,若资源可用则分配服务器资源给相应工作节点的服务器资源请求模块,否则向该作节点回复资源不可用;其中,服务器资源状态具体而言是指影响参数同步流程的因素集合,如服务器传输带宽占用情况、内存使用情况、CPU使用率等;
参数维护模块负责在服务器端维护算法模型参数,响应来自工作节点的参数更新请求,若请求为更新服务器参数则根据得到的参数梯度计算并更新当前参数,若请求为获得服务器参数则参数服务器端的参数维护模块拷贝当前服务器参数并返回给相应工作节点的参数同步模块;
服务器资源请求模块在收到未同步时间累计模块的“达到参数同步时间点”通知时,向资源监控和分配模块请求分配资源,若得到许可则交付参数同步模块进行参数同步,否则将任务交给同步时间间隔模块;
参数同步时间间隔模块负责在接收到参数同步模块的通知或接收到来自服务器资源请求模块的通知时,设置合理的参数同步间隔时间,降低对服务器资源的竞争以减轻瓶颈;
未同步时间累计模块负责记录上一次设置参数同步间隔到现在为止的时间,一旦该时间达到参数同步时间间隔控制模块规定的参数同步时间间隔后,则通知服务器资源请求模块申请同步资源;在资源申请失败时,如果当前累计未同步时间达到同步时间间隔上限值时,则通知参数同步模块进行强制同步,其中所述当前累计未同步时间为上一次成功同步后到当前的时间。
参数计算模块负责根据训练数据在工作节点进行本地参数计算;
参数同步模块负责在获得服务器资源许可之后或者接收到未同步时间累计模块的强制同步命令后,和服务器之间进行参数同步。
上述中的未同步时间和同步时间间隔的时间计量单位为并行随机梯度下降算法的一个完整训练步,即每经过一个完整的训练步,时间计量加1,同步时间间隔即是“经过多少个完整的训练步,再开始进行参数同步”。具体实施时,由于“计算并得到新的参数梯度”和“更新参数”在一个完整训练步中出现且仅出现一次,故可以在“计算并得到新的参数梯度”或“更新参数”完成后对时间计量加1来实现计时。
上述中的同步时间间隔上限值为系统初始化步骤中根据用户定义所设置的常量值,其目的是避免因两次参数同步动作之间的时间间隔过长,而导致因服务器和各个工作节点长时间不能得到对方最新的参数信息而损失部分更新数据,最终使得训练准确率下降。
在本发明的参数同步优化系统中,对服务器资源的监控可同时监控传输带宽占用比、内存占用比、CPU使用率等是否达到某一额定值来判断;也可简化只采用以上几种条件中的一种来判断,如针对传输带宽占用情况判断,可以直接监控到达服务器端的请求包所组成的队列长度,如果队列长度长于某额定值(简单可设置为1,即仅允许1个包进入服务器进行等待),则认为服务器资源此时已被占用,不再分配资源。
本实施例中采用用于训练手写数字识别MNIST数据集的机器学习预训练算法——AE(Autoencoder,自编码机)算法,该算法采用自编码机模型结构,实际梯度更新计算时采用并行随机梯度下降算法,本实施例将本发明提供的参数同步优化方法应用到AE算法中的并行随机梯度下降算法中,分布式结构采用1个服务器节点作为参数服务器维护参数矩阵数据,10个服务器节点作为工作节点进行并行训练。
本实施例的具体数据说明:MNIST数据集提供60000组输入数据,本实施例中取其中的40组数据用于训练,每组为一个由28*28像素点灰度值(每个像素点灰度值由0-1之间的双精度浮点数表示)组成的图片数据,并且该数据已经被转换成[1,784]的矩阵,即整个输入训练数据为[40,784]的矩阵,本实例中定义一批训练数据中仅包含一组数据;相应地,需要训练的目标神经网络模型结构为[784,100]的矩阵(矩阵中每个数据都是双精度浮点数),即AE算法模型中有784个神经元节点组成输入层,100个神经元节点作为隐层;在参数同步过程中,在不同节点中进行交互同步的模型参数矩阵即为目标神经网络模型矩阵[784,100]。注意模型参数矩阵中每个数都是0-1间的双精度浮点数值,因矩阵庞大、整个训练过程中模型参数矩阵值不会影响任何子步骤之间的判断转移,故在具体实施步骤中不详细列举该矩阵具体数值而统一代号θ表示;类似的参数梯度矩阵用Δθ表示,当前累计未同步参数梯度值用ΣΔθ表示。
图2是本发明参数同步优化方法的整体工作流程图。如图2所示,本发明参数同步优化方法的整体工作流程包括以下步骤:
(1)系统初始化,初始化服务器和工作节点的模型参数、训练数据集、配置信息等;
(2)并行训练,利用模型参数和各个工作节点的输入训练子集进行训练,并按计算好的时间间隔及时与参数服务器进行同步直至训练结束。
图3是本发明参数同步优化方法的系统初始化子工作流程图。如图3所示,本发明实施例中参数同步优化方法的系统初始化子工作流程包括以下步骤:
(1.1)向参数服务器输入训练数据,并由参数服务器将训练数据分成多个训练子集;根据用户定义将同步时间间隔上限值max_interval初始化为一常量值,该值小于分配给每个工作节点的输入训练数据的总批数;将不同子集和max_interval发送给各个工作节点,转子步骤(1.2);
(1.2)参数服务器根据用户定义的神经网络模型结构随机初始化神经网络模型参数θ,转子步骤(1.3);
(1.3)各个工作节点从参数服务器处拉取初始化模型参数θ作为本地初始化参数,转子步骤(1.4);
(1.4)各个工作节点将各自的拉取参数计时器pullCounter、推送参数梯度计时器pushCounter、累计未推送时间间隔accrued_push_interval、累计未拉取时间间隔accrued_pull_interval和当前累计未同步参数梯度值ΣΔθ均初始化为0,同时初始化拉取时间间隔pull_interval和推送时间间隔push_interval,其中拉取时间间隔pull_interval和推送时间间隔push_interval均由工作节点随机生成,其值介于1和max_interval之间(包含边界值);进入步骤(2)。
图4是本发明参数同步优化方法的并行训练子工作流程图。如图4所示,对于1号工作节点,本发明参数同步优化方法的并行训练子工作流程包括以下步骤:
(2.1)工作节点在本地训练子集中查询当前是否有未训练数据,若有则取出一批新的训练数据,计算剩余未训练数据批数remain_batch_size,并转子步骤(2.2);否则结束并行训练步骤;
(2.2)工作节点利用子步骤(2.1)中取出的数据和当前参数θ进行计算,得到参数梯度Δθ,转子步骤(2.3);
(2.3)工作节点利用子步骤(2.2)得到的Δθ更新本地参数θ;pullCounter和pushCounter自增1(计时动作),转子步骤(2.4);
(2.4)工作节点利用子步骤(2.2)得到的Δθ累加到ΣΔθ,转子步骤(2.5);
(2.5)根据参数同步时间间隔的控制,推送参数梯度;转子步骤(2.6);
(2.6)根据参数同步时间间隔的控制,拉取参数;转子步骤(2.1)。
图5是本发明参数同步优化方法的推送参数梯度子工作流程图。如图5所示,本发明参数同步优化方法的子步骤(2.5)中推送参数梯度子工作流程包括以下步骤:
(2.5.1)判断pushCounter记录的时间是否等于push_interval,若等于则转子步骤(2.5.2),否则结束子步骤(2.5),并转子步骤(2.6);
(2.5.2)工作节点向参数服务器节点发送资源请求;如果服务器回复许可,则转子步骤(2.5.3),否则转子步骤(2.5.4);
(2.5.3)工作节点向服务器推送子步骤(2.4)中得到的ΣΔθ,等待服务器更新参数完毕,将accrued_push_interval和ΣΔθ清零,转子步骤(2.5.5);
(2.5.4)将当前pushCounter记录时间累加到accrued_push_interval,若accrued_push_interval≥max_interval或remain_batch_size==0,则转子步骤(2.5.3),否则转子步骤(2.5.5);
(2.5.5)重新设置push_interval,push_interval由工作节点随机生成,其值介于1到max_interval-accrued_push_interval和remain_batch_size的较小值之间(包含边界值),将pushCounter清零,结束子步骤(2.5),并转子步骤(2.6)。
图6是本发明参数同步优化方法的拉取参数子工作流程图。如图6所示,本发明参数同步优化方法的子步骤(2.6)中拉取参数子工作流程包括以下步骤:
(2.6.1)判断pullCounter记录的时间是否等于pull_interval,若是则转子步骤(2.6.2),否则结束子步骤(2.6),并转子步骤(2.1);
(2.6.2)工作节点向参数服务器节点发送资源请求;如果服务器回复许可,则转子步骤(2.6.3),否则转子步骤(2.6.4);
(2.6.3)工作节点向参数服务器请求拉取最新参数并等待参数服务器返回该值θ;将本地参数更新为θ;将accrued_pull_interval清零,转子步骤(2.6.5);
(2.6.4)将当前pullCounter记录的时间累加到accrued_pull_interval,若accrued_pull_interval≥max_interval或remain_batch_size==0,则转子步骤(2.6.3);否则转子步骤(2.6.5);
(2.6.5)重新设置pull_interval,pull_interval由工作节点随机生成,其值介于1到max_interval-accrued_pull_interval和remain_batch_size的较小值之间(包含边界值),将pullCounter清零;结束子步骤(2.6),并转子步骤(2.1)。
进一步地,上述子步骤(1.3)和(2.6.3)中所述的拉取服务器参数过程,具体包括:
(1.3.1)工作节点向服务器端发送拉取参数请求,等待服务器响应;
(1.3.2)服务器端接收来自某工作节点的拉取参数请求,复制服务器中存储的当前模型参数θ,并返回给该工作节点;
(1.3.3)工作节点接收服务器端返回的模型参数值θ,拉取服务器参数完成。
进一步地,上述子步骤(2.5.3)中所述的推送当前未同步参数梯度值过程,具体包括:
(2.5.3.1)工作节点向服务器端推送当前未同步参数梯度值ΣΔθ,等待服务器响应;
(2.5.3.2)服务器端接收来自某工作节点的推送请求,利用接收到的参数梯度值Δθ(即工作节点端的当前未同步参数梯度值ΣΔθ)更新本地模型参数θ,并返回成功信号给该工作节点;
(2.5.3.3)工作节点接收服务器端返回的成功信号,推送当前未同步参数梯度值完成。
进一步地,上述子步骤(2.5.2)和(2.6.2)所述的发送资源请求过程,具体包括:
(2.5.2.1)工作节点向服务器端发送资源请求信号,等待服务器响应;
(2.5.2.2)服务器端接收来自某工作节点的资源请求信号,服务器根据当前资源占用情况,决定是否分配服务器资源;若服务器资源当前占用较低,则返回资源可用信号给该工作节点;否则返回资源不可用;
(2.5.2.3)工作节点接收服务器端返回的资源可用与否信号,发送资源请求完成。
在本发明的参数同步优化方法中,对服务器资源的监控可同时监控传输带宽占用比、内存占用比、CPU使用率等是否达到某一额定值来判断;也可简化只采用以上几种条件中的一种来判断,如针对传输带宽占用情况判断,可以直接监控到达服务器端的请求包所组成的队列长度,如果队列长度长于某额定值(简单可设置为1,即仅允许1个包进入服务器进行等待),则认为服务器资源此时已被占用,不再分配资源。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种适用于分布式机器学习的参数同步优化系统,其特征在于,包括位于参数服务器端的资源监控和分配模块、参数维护模块,位于各工作节点端的服务器资源请求模块、参数同步时间间隔控制模块、未同步时间累计模块、参数计算模块和参数同步模块;其中工作节点端,未同步时间累计模块与工作节点内其他各模块相连,另外服务器资源请求模块和参数计算模块还各自与参数同步时间间隔控制模块和参数同步模块相连,同时服务器端资源监控和分配模块与工作节点端服务器资源请求模块相连,服务器端参数维护模块与工作节点端参数同步模块相连;
所述参数服务器端的资源监控和分配模块,用于负责监控参数服务器的资源使用情况,在接收到来自某工作节点的资源请求后,分析当前资源利用情况,若资源可用则分配服务器资源给相应工作节点的服务器资源请求模块,否则向该工作节点回复资源不可用;
所述参数服务器端的参数维护模块,用于负责在服务器端维护算法模型参数,响应来自工作节点的参数更新请求:若请求目标为更新服务器参数,则该模块根据得到的参数梯度计算并更新当前参数;若请求目标为获得服务器参数,则参数服务器端的参数维护模块拷贝当前服务器参数并返回给相应工作节点的参数同步模块;
所述位于各工作节点端的服务器资源请求模块,用于在收到未同步时间累计模块的“达到参数同步时间点”通知时,向资源监控和分配模块请求分配资源,若得到许可则交付参数同步模块进行参数同步,否则将任务交给参数同步时间间隔控制模块进一步进行时间间隔控制;
所述位于各工作节点端的参数同步时间间隔控制模块,用于负责在接收到参数同步模块的通知或接收到来自服务器资源请求模块的通知时,设置合理的参数同步间隔时间,降低对服务器资源的竞争以减轻瓶颈;
所述位于各工作节点端的未同步时间累计模块,用于负责记录上一次设置参数同步间隔到现在为止的时间,一旦该时间达到参数同步时间间隔控制模块规定的参数同步时间间隔后,则通知服务器资源请求模块申请同步资源;在资源申请失败时,如果当前累计未同步时间达到同步时间间隔上限值时,则通知参数同步模块进行强制同步,其中所述当前累计未同步时间为上一次成功同步后到当前的时间;
所述位于各工作节点端的参数计算模块,用于负责根据训练数据在工作节点进行本地参数计算的工作;所述参数指的是用于建立神经网络模型的矩阵变量,参数服务器根据用户定义的神经网络模型结构随机初始化神经网络模型参数;
所述位于各工作节点端的参数同步模块,用于负责在获得参数服务器的资源许可之后或者接收到未同步时间累计模块的强制同步命令后,和参数服务器之间进行参数同步。
2.如权利要求1所述的适用于分布式机器学习的参数同步优化系统,其特征在于,所述服务器资源包括服务器传输带宽、内存以及CPU。
3.如权利要求1或2所述的适用于分布式机器学习的参数同步优化系统,其特征在于,所述未同步时间和同步时间间隔的时间计量单位为并行随机梯度下降算法的一个完整训练步,即每经过一个完整的训练步,时间计量加1,同步时间间隔即是“经过多少个完整的训练步,再开始进行参数同步”。
4.一种适用于分布式机器学习的参数同步优化方法,其特征在于,包括系统初始化步骤和并行训练步骤,其中:
(1)系统初始化步骤:初始化服务器和工作节点的模型参数、训练数据集、配置信息,具体包括下述子步骤:
(1.1)向参数服务器输入训练数据,并由参数服务器将训练数据分成多个训练子集;根据用户定义将同步时间间隔上限值max_interval初始化为一常量值,该值小于分配给每个工作节点的输入训练数据的总批数;将不同子集和max_interval发送给各个工作节点,转子步骤(1.2);
(1.2)参数服务器根据用户定义的神经网络模型结构随机初始化神经网络模型参数θ,转子步骤(1.3);
(1.3)各个工作节点从参数服务器处拉取初始化模型参数θ作为本地初始化参数,转子步骤(1.4);
(1.4)各个工作节点将各自的拉取参数计时器pullCounter、推送参数梯度计时器pushCounter、累计未推送时间间隔accrued_push_interval、累计未拉取时间间隔accrued_pull_interval和当前累计未同步参数梯度值ΣΔθ均初始化为0,同时初始化拉取时间间隔pull_interval和推送时间间隔push_interval,其中拉取时间间隔pull_interval和推送时间间隔push_interval均由工作节点随机生成,其值介于1和max_interval之间;进入步骤(2);
(2)并行训练步骤:利用模型参数和各个工作节点的输入训练子集进行训练,并按计算好的时间间隔及时与参数服务器进行同步直至训练结束,具体包括下述子步骤:
(2.1)工作节点在本地训练子集中查询当前是否有未训练数据,若有则取出一批新的训练数据,计算剩余未训练数据批数remain_batch_size,并转子步骤(2.2);否则结束并行训练步骤;
(2.2)工作节点利用子步骤(2.1)中取出的数据和当前参数θ进行计算,得到参数梯度Δθ,转子步骤(2.3);
(2.3)工作节点利用子步骤(2.2)得到的Δθ更新本地参数θ;pullCounter和pushCounter自增1(计时动作),转子步骤(2.4);
(2.4)工作节点利用子步骤(2.2)得到的Δθ累加到ΣΔθ,转子步骤(2.5);
(2.5)推送参数梯度子步骤:根据参数同步时间间隔的控制,推送参数梯度;
(2.6)拉取参数子步骤:根据参数同步时间间隔的控制,拉取参数。
5.如权利要求4所述的适用于分布式机器学习的参数同步优化方法,其特征在于,所述步骤(2.5)具体包括下述子步骤:
(2.5.1)判断pushCounter记录的时间是否等于push_interval,若等于则转子步骤(2.5.2),否则结束子步骤(2.5),并转子步骤(2.6);
(2.5.2)工作节点向参数服务器节点发送资源请求;如果服务器回复许可,则转子步骤(2.5.3),否则转子步骤(2.5.4);
(2.5.3)工作节点向服务器推送子步骤(2.4)中得到的ΣΔθ,等待服务器更新参数完毕,将accrued_push_interval和ΣΔθ清零,转子步骤(2.5.5);
(2.5.4)将当前pushCounter记录时间累加到accrued_push_interval,若accrued_push_interval≥max_interval或remain_batch_size==0,则转子步骤(2.5.3),否则转子步骤(2.5.5);
(2.5.5)重新设置push_interval,push_interval由工作节点随机生成,其值介于1到max_interval-accrued_push_interval和remain_batch_size的较小值之间(包含边界值),将pushCounter清零,结束子步骤(2.5),并转子步骤(2.6)。
6.如权利要求5所述的适用于分布式机器学习的参数同步优化方法,其特征在于,所述子步骤(2.5.3)中所述的推送当前未同步参数梯度值过程,具体包括如下子步骤:
(2.5.3.1)工作节点向服务器端推送当前未同步参数梯度值ΣΔθ,等待服务器响应;
(2.5.3.2)服务器端接收来自某工作节点的推送请求,利用接收到的参数梯度值Δθ(即工作节点端的当前未同步参数梯度值ΣΔθ)更新本地模型参数θ,并返回成功信号给该工作节点;
(2.5.3.3)工作节点接收服务器端返回的成功信号,推送当前未同步参数梯度值完成。
7.如权利要求4或5所述的适用于分布式机器学习的参数同步优化方法,其特征在于,所述步骤(2.6)具体包括下述子步骤:
(2.6.1)判断pullCounter记录的时间是否等于pull_interval,若是则转子步骤(2.6.2),否则结束子步骤(2.6),并转子步骤(2.1);
(2.6.2)工作节点向参数服务器节点发送资源请求;如果服务器回复许可,则转子步骤(2.6.3),否则转子步骤(2.6.4);
(2.6.3)工作节点向参数服务器请求拉取最新参数并等待参数服务器返回该值θ;将本地参数更新为θ;将accrued_pull_interval清零,转子步骤(2.6.5);
(2.6.4)将当前pullCounter记录的时间累加到accrued_pull_interval,若accrued_pull_interval≥max_interval或remain_batch_size==0,则转子步骤(2.6.3);否则转子步骤(2.6.5);
(2.6.5)重新设置pull_interval,pull_interval由工作节点随机生成,其值介于1到max_interval-accrued_pull_interval和remain_batch_size的较小值之间,将pullCounter清零;结束子步骤(2.6),并转子步骤(2.1)。
8.如权利要求4所述的适用于分布式机器学习的参数同步优化方法,其特征在于,所述述子步骤(1.3)或(2.6.3)中所述的拉取服务器参数过程,具体包括如下子步骤:
(1.3.1)工作节点向服务器端发送拉取参数请求,等待服务器响应;
(1.3.2)服务器端接收来自某工作节点的拉取参数请求,复制服务器中存储的当前模型参数θ,并返回给该工作节点;
(1.3.3)工作节点接收服务器端返回的模型参数值θ,拉取服务器参数完成。
9.如权利要求7所述的适用于分布式机器学习的参数同步优化方法,其特征在于,所述述子步骤(1.3)或(2.6.3)中所述的拉取服务器参数过程,具体包括如下子步骤:
(1.3.1)工作节点向服务器端发送拉取参数请求,等待服务器响应;
(1.3.2)服务器端接收来自某工作节点的拉取参数请求,复制服务器中存储的当前模型参数θ,并返回给该工作节点;
(1.3.3)工作节点接收服务器端返回的模型参数值θ,拉取服务器参数完成。
10.如权利要求5所述的适用于分布式机器学习的参数同步优化方法,其特征在于,所述子步骤(2.5.2)或(2.6.2)所述的发送资源请求过程,具体包括如下子步骤:
(2.5.2.1)工作节点向服务器端发送资源请求信号,等待服务器响应;
(2.5.2.2)服务器端接收来自某工作节点的资源请求信号,服务器根据当前资源占用情况,决定是否分配服务器资源;若服务器资源当前占用较低,则返回资源可用信号给该工作节点;否则返回资源不可用;
(2.5.2.3)工作节点接收服务器端返回的资源可用与否信号,发送资源请求完成。
11.如权利要求7所述的适用于分布式机器学习的参数同步优化方法,其特征在于,所述子步骤(2.5.2)或(2.6.2)所述的发送资源请求过程,具体包括如下子步骤:
(2.5.2.1)工作节点向服务器端发送资源请求信号,等待服务器响应;
(2.5.2.2)服务器端接收来自某工作节点的资源请求信号,服务器根据当前资源占用情况,决定是否分配服务器资源;若服务器资源当前占用较低,则返回资源可用信号给该工作节点;否则返回资源不可用;
(2.5.2.3)工作节点接收服务器端返回的资源可用与否信号,发送资源请求完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510117746.5A CN104714852B (zh) | 2015-03-17 | 2015-03-17 | 一种适用于分布式机器学习的参数同步优化方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510117746.5A CN104714852B (zh) | 2015-03-17 | 2015-03-17 | 一种适用于分布式机器学习的参数同步优化方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104714852A CN104714852A (zh) | 2015-06-17 |
CN104714852B true CN104714852B (zh) | 2018-05-22 |
Family
ID=53414217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510117746.5A Active CN104714852B (zh) | 2015-03-17 | 2015-03-17 | 一种适用于分布式机器学习的参数同步优化方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104714852B (zh) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104980518B (zh) * | 2015-06-26 | 2018-11-23 | 深圳市腾讯计算机系统有限公司 | 多学习主体并行训练模型的方法、装置和系统 |
CN106909529B (zh) * | 2015-12-22 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 一种机器学习工具中间件及机器学习训练方法 |
CN105677615B (zh) * | 2016-01-04 | 2018-11-23 | 北京邮电大学 | 一种基于weka接口的分布式机器学习方法 |
CN107025205B (zh) * | 2016-01-30 | 2021-06-22 | 华为技术有限公司 | 一种分布式系统中的训练模型的方法及设备 |
CN107229518B (zh) | 2016-03-26 | 2020-06-30 | 阿里巴巴集团控股有限公司 | 一种分布式集群训练方法和装置 |
CN106339351B (zh) * | 2016-08-30 | 2019-05-10 | 浪潮(北京)电子信息产业有限公司 | 一种sgd算法优化系统及方法 |
CN108021982B (zh) * | 2016-10-28 | 2021-12-28 | 北京市商汤科技开发有限公司 | 数据传输方法和系统、电子设备 |
CN108009642B (zh) | 2016-10-31 | 2021-12-14 | 腾讯科技(深圳)有限公司 | 分布式机器学习方法和系统 |
CN108122032B (zh) * | 2016-11-29 | 2020-02-14 | 华为技术有限公司 | 一种神经网络模型训练方法、装置、芯片和系统 |
CN108241534A (zh) * | 2016-12-27 | 2018-07-03 | 阿里巴巴集团控股有限公司 | 一种任务处理、分配、管理、计算的方法以及装置 |
CN110168580B (zh) | 2017-01-10 | 2022-10-04 | 华为技术有限公司 | 使用分布式系统训练分类器模型时的容错恢复系统和方法 |
CN108446770B (zh) * | 2017-02-16 | 2020-12-04 | 中国科学院上海高等研究院 | 一种基于采样的分布式机器学习慢节点处理系统及方法 |
WO2018162069A1 (en) * | 2017-03-09 | 2018-09-13 | Huawei Technologies Co., Ltd. | Computer system for distributed machine learning |
CN106951926B (zh) * | 2017-03-29 | 2020-11-24 | 山东英特力数据技术有限公司 | 一种混合架构的深度学习方法及装置 |
US20180314971A1 (en) * | 2017-04-26 | 2018-11-01 | Midea Group Co., Ltd. | Training Machine Learning Models On A Large-Scale Distributed System Using A Job Server |
CN108875289B (zh) * | 2017-05-08 | 2021-12-14 | 腾讯科技(深圳)有限公司 | 一种算法调试方法、客户端、后台服务器及系统 |
US11144828B2 (en) * | 2017-06-09 | 2021-10-12 | Htc Corporation | Training task optimization system, training task optimization method and non-transitory computer readable medium for operating the same |
CN107659609B (zh) * | 2017-07-26 | 2021-01-12 | 北京天云融创软件技术有限公司 | 一种基于云计算的深度学习支撑平台及深度学习训练方法 |
CN109447274B (zh) * | 2017-08-30 | 2021-02-09 | 第四范式(北京)技术有限公司 | 用于执行机器学习的分布式系统及其方法 |
CN109561444A (zh) * | 2017-09-26 | 2019-04-02 | 中国移动通信有限公司研究院 | 一种无线数据处理方法及系统 |
CN107578094A (zh) * | 2017-10-25 | 2018-01-12 | 济南浪潮高新科技投资发展有限公司 | 基于参数服务器和fpga实现神经网络分布式训练的方法 |
CN109754060B (zh) * | 2017-11-06 | 2023-08-25 | 阿里巴巴集团控股有限公司 | 一种神经网络机器学习模型的训练方法及装置 |
CN107944566B (zh) * | 2017-11-28 | 2020-12-22 | 杭州云脑科技有限公司 | 一种机器学习方法、主节点、工作节点及系统 |
CN108304918B (zh) * | 2018-01-18 | 2020-08-28 | 中兴飞流信息科技有限公司 | 一种数据并行的深度学习的参数交换方法和系统 |
EP3788558A1 (en) * | 2018-05-02 | 2021-03-10 | Telefonaktiebolaget LM Ericsson (publ) | Placement-aware acceleration of parameter optimization in a predictive model |
CN108829441B (zh) * | 2018-05-14 | 2022-10-18 | 中山大学 | 一种分布式深度学习的参数更新优化系统 |
CN108924187B (zh) * | 2018-06-07 | 2020-05-08 | 北京百度网讯科技有限公司 | 基于机器学习的任务处理方法、装置和终端设备 |
CN109445953A (zh) * | 2018-08-30 | 2019-03-08 | 北京大学 | 一种面向大规模机器学习系统的机器学习模型训练方法 |
CN109272116A (zh) * | 2018-09-05 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种深度学习的方法及装置 |
CN109492753A (zh) * | 2018-11-05 | 2019-03-19 | 中山大学 | 一种去中心化的随机梯度下降的方法 |
CN109635922B (zh) * | 2018-11-20 | 2022-12-02 | 华中科技大学 | 一种分布式深度学习参数量化通信优化方法及系统 |
CN109740747B (zh) * | 2018-12-29 | 2019-11-12 | 北京中科寒武纪科技有限公司 | 运算方法、装置及相关产品 |
CN109951438B (zh) * | 2019-01-15 | 2020-11-20 | 中国科学院信息工程研究所 | 一种分布式深度学习的通信优化方法及系统 |
CN110308986B (zh) * | 2019-05-17 | 2023-06-20 | 深圳致星科技有限公司 | 基于优化调度的容器云上分布式训练数据通信的方法 |
CN110502576A (zh) * | 2019-08-12 | 2019-11-26 | 北京迈格威科技有限公司 | 数据整合方法、分布式计算节点及分布式深度学习训练系统 |
CN110443375B (zh) * | 2019-08-16 | 2021-06-11 | 深圳前海微众银行股份有限公司 | 一种联邦学习方法及装置 |
CN110490316B (zh) * | 2019-08-21 | 2023-01-06 | 腾讯科技(深圳)有限公司 | 基于神经网络模型训练系统的训练处理方法、训练系统 |
TWI780382B (zh) * | 2019-12-05 | 2022-10-11 | 新唐科技股份有限公司 | 微控制器更新系統和方法 |
CN110958187B (zh) * | 2019-12-17 | 2021-05-18 | 电子科技大学 | 一种面向分布式机器学习参数同步差异化数据传输方法 |
CN111833510B (zh) * | 2019-12-25 | 2021-12-14 | 北京熠智科技有限公司 | 基于区块链的投票处理方法及装置、设备、存储介质 |
CN111461286B (zh) * | 2020-01-15 | 2022-03-29 | 华中科技大学 | 基于进化神经网络的Spark参数自动优化系统和方法 |
CN111444021B (zh) * | 2020-04-02 | 2023-03-24 | 电子科技大学 | 基于分布式机器学习的同步训练方法、服务器及系统 |
CN111612155B (zh) * | 2020-05-15 | 2023-05-05 | 湖南大学 | 一种分布式机器学习系统及适用于其的通信调度方法 |
TWI777262B (zh) * | 2020-09-30 | 2022-09-11 | 財團法人資訊工業策進會 | 機器學習系統及機器學習方法 |
CN113656494B (zh) * | 2021-07-27 | 2024-06-07 | 中南大学 | 参数服务器的同步方法、系统及可读存储介质 |
TWI813419B (zh) * | 2022-08-18 | 2023-08-21 | 瑞昱半導體股份有限公司 | 神經網路系統以及神經網路系統運行方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6952726B1 (en) * | 1999-08-27 | 2005-10-04 | Hewlett-Packard Development Company, L.P. | Automatic job resource usage and retrieval |
CN103702139A (zh) * | 2013-12-13 | 2014-04-02 | 华中科技大学 | 一种移动环境下基于可扩展编码的视频点播系统 |
CN104063261A (zh) * | 2014-04-01 | 2014-09-24 | 杭州电子科技大学 | 一种基于云环境下的多目标优化虚拟机放置方法 |
CN104133727A (zh) * | 2014-08-08 | 2014-11-05 | 成都致云科技有限公司 | 基于实时资源负载分配的方法 |
CN104239123A (zh) * | 2014-09-05 | 2014-12-24 | 北方工业大学 | 面向校园云平台的虚拟机管理调度方法和系统 |
-
2015
- 2015-03-17 CN CN201510117746.5A patent/CN104714852B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6952726B1 (en) * | 1999-08-27 | 2005-10-04 | Hewlett-Packard Development Company, L.P. | Automatic job resource usage and retrieval |
CN103702139A (zh) * | 2013-12-13 | 2014-04-02 | 华中科技大学 | 一种移动环境下基于可扩展编码的视频点播系统 |
CN104063261A (zh) * | 2014-04-01 | 2014-09-24 | 杭州电子科技大学 | 一种基于云环境下的多目标优化虚拟机放置方法 |
CN104133727A (zh) * | 2014-08-08 | 2014-11-05 | 成都致云科技有限公司 | 基于实时资源负载分配的方法 |
CN104239123A (zh) * | 2014-09-05 | 2014-12-24 | 北方工业大学 | 面向校园云平台的虚拟机管理调度方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104714852A (zh) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104714852B (zh) | 一种适用于分布式机器学习的参数同步优化方法及其系统 | |
US10282809B2 (en) | Data parallel processing method and apparatus based on multiple graphic processing units | |
US9607355B2 (en) | Model parallel processing method and apparatus based on multiple graphic processing units | |
CN106297774B (zh) | 一种神经网络声学模型的分布式并行训练方法及系统 | |
CN109299781A (zh) | 基于动量和剪枝的分布式深度学习系统 | |
CN112866059B (zh) | 一种基于人工智能应用的无损网络性能测试方法和装置 | |
CN108564164A (zh) | 一种基于spark平台的并行化深度学习方法 | |
CN110533183A (zh) | 一种流水线分布式深度学习中异构网络感知的模型划分与任务放置方法 | |
CN111274036A (zh) | 一种基于速度预测的深度学习任务的调度方法 | |
CN109492753A (zh) | 一种去中心化的随机梯度下降的方法 | |
CN112446544A (zh) | 交通流预测模型训练方法、装置、电子设备及存储介质 | |
US20240111586A1 (en) | Multi-policy intelligent scheduling method and apparatus oriented to heterogeneous computing power | |
CN109600255A (zh) | 一种去中心化的参数服务器优化算法 | |
CN111612155B (zh) | 一种分布式机器学习系统及适用于其的通信调度方法 | |
CN109240814A (zh) | 一种基于TensorFlow的深度学习智能调度方法和系统 | |
CN113946431B (zh) | 一种资源调度方法、系统、介质及计算设备 | |
CN109550252A (zh) | 一种游戏ai训练方法、装置及系统 | |
CN106327251A (zh) | 模型训练系统和方法 | |
CN109255439A (zh) | 一种多个gpu并行的dnn模型训练方法和装置 | |
CN117193992B (zh) | 模型训练方法、任务调度方法、装置以及计算机存储介质 | |
Tao et al. | Drl-driven digital twin function virtualization for adaptive service response in 6g networks | |
CN115470937A (zh) | 一种基于设备特性的异步联邦学习的任务调度方法 | |
WO2021220616A1 (ja) | 情報処理装置及び情報処理方法、コンピュータプログラム、並びに分散学習システム | |
CN111092755B (zh) | 一种基于资源占用的边缘服务迁移仿真方法 | |
CN104580498B (zh) | 一种自适应云管理平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |