CN113656494A - 参数服务器的同步方法、系统及可读存储介质 - Google Patents

参数服务器的同步方法、系统及可读存储介质 Download PDF

Info

Publication number
CN113656494A
CN113656494A CN202110851609.XA CN202110851609A CN113656494A CN 113656494 A CN113656494 A CN 113656494A CN 202110851609 A CN202110851609 A CN 202110851609A CN 113656494 A CN113656494 A CN 113656494A
Authority
CN
China
Prior art keywords
time
determining
synchronization
layer
synchronous
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.)
Granted
Application number
CN202110851609.XA
Other languages
English (en)
Other versions
CN113656494B (zh
Inventor
郑美光
毛东榜
魏业鸣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central South University
Original Assignee
Central South University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Central South University filed Critical Central South University
Priority to CN202110851609.XA priority Critical patent/CN113656494B/zh
Publication of CN113656494A publication Critical patent/CN113656494A/zh
Application granted granted Critical
Publication of CN113656494B publication Critical patent/CN113656494B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Small-Scale Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及分布式机器自动学习技术领域,公开了一种参数服务器的同步方法、系统及可读存储介质,该方法包括确定用户上传的数据的通讯时间、执行时间以及等待时间;基于所述通讯时间、所述执行时间以及所述等待时间确定迭代完成时间;根据迭代完成时间确定目标同步点;根据所述目标同步点确定是否需要执行同步操作,在确定为需要执行同步操作的情况下,执行所述同步通知对应的同步操作。既可以减少模型的训练时间,又可以保证模型质量。

Description

参数服务器的同步方法、系统及可读存储介质
技术领域
本发明涉及分布式机器自动学习技术领域,尤其涉及一种参数服务器的同步方法、系统及可读存储介质。
背景技术
随着互联网技术的迅速发展,机器学习成为一种主流的智能数据处理技术,当数据规模扩大时,机器学习的训练时间将大大增加。大数据为传统机器学习技术带来了新的挑战。分布式机器学习系统在一组机器中对大规模机器学习模型进行并行训练。面向大规模分布式机器学习,常用的并行计算模型包括批量同步并行(Bulk SynchronousParallel,BSP)、异步并行(Asynchronous Parallel,ASP)和陈旧并行方案(StaleSynchronous Parallel,SSP)三类。
理想情况下,为了确保高质量的模型参数更新,训练过程中每个节点都应使用最新的模型参数进行计算。BSP模型中worker在每次迭代结束时同步模型参数,所有worker在更新模型参数之前不再继续下一次迭代,最大程度地保证了高质量参数更新。但不同计算节点的实际性能各有差异,执行过程中任务失败再所难免,BSP模型下整个计算进度由最慢的计算节点决定,即慢机(Straggler)现象。该现象出现原因有两个:一是由集群节点本身硬件性能差异造成;二是由于如网络拥塞、节点被其他任务占用等外部因素造成。这种由外部因素造成的慢机现象也称为瞬时落后。在真实云环境下,节点宕机情况经常出现,BSP方案在宕机的情况下会出现整个训练无法推进。当节点数量大时,同步所需的时间更多,使集群资源利用率降低,BSP的高同步开销使之不适于解决大型机器学习实际应用环境。ASP中worker在迭代完成时异步更新模型参数,使更新速率最大化。在许多机器学习问题中ASP具有比BSP更快的收敛速度,是一种硬件利用率最高的分布式机器学习方案。然而,由于缺乏同步,ASP计算过程中经常使用陈旧参数从而产生训练结果震荡,即慢速worker的参数在上传过程中掩盖部分之前的快速worker的更新结果,使得参数更新无用甚至需要更多的迭代次数来收敛,破坏了学习性能,不能满足对学习模型的质量要求。对于SSP模型,为了保证更新质量和优化训练更新速率设计了一种折衷方案,worker只有在参数的陈旧性(如最快节点与最慢节点的Clock差值)超过某个阈值时才进行同步,是当前较具优势的并行计算模型。在SSP下,当节点性能比较接近的情况下,最快节点与最慢节点达到阈值的概率很小,该方案易失效。即使由技术人员通过分析设定一个合适的阈值,仍然无法应对现实环境中节点性能的变化。
可见,如何通过参数同步降低模型的训练速度,成为一个急需解决的技术问题。
发明内容
本发明提供了一种参数服务器的同步方法、系统及可读存储介质,以通过参数同步降低模型的训练速度。
为了实现上述目的,本发明通过如下的技术方案来实现:
第一方面,本发明提供一种参数服务器的同步方法,应用于服务器,所述方法包括:
确定用户上传的数据的通讯时间、执行时间以及等待时间;
基于所述通讯时间、所述执行时间以及所述等待时间确定迭代完成时间;
根据迭代完成时间确定目标同步点;
根据所述目标同步点确定是否需要执行同步操作,在确定为需要执行同步操作的情况下,执行所述同步通知对应的同步操作。
可选地,所述基于所述通讯时间、所述第一执行时间以及所述等待时间确定迭代完成时间ti,其中,迭代完成时间ti满足如下关系式:
Figure BDA0003182739910000021
式中,twi是执行时间,tci是节点从参数服务器层获取模型参数需要的时间,tcu为当前时间tst代表这个节点的开始时间计算的时间,d是常数故障时间。
可选地,所述根据迭代完成时间确定目标同步点包括:
采用预设聚类方法对所述迭代完成时间进行聚类,并根据聚类结果确定目标同步点。
可选地,所述根据聚类结果确定目标同步点,包括:
根据所述聚类结果确定梯度聚合时隙值;
根据所述梯度聚合时隙值和聚合参与计算梯度聚合所需要的时间差值构建同步评价函数;
根据所述同步评价函数确定所述目标同步点。
可选地,所述方法还包括:
确定时间复杂度;
根据所述时间复杂度优化更新所述目标同步点。
可选地,所述确定时间复杂度,包括:
确定聚类结果的总等待时间的第一复杂度和梯度聚合时隙值的第二复杂度;
根据所述第一复杂度和所述第二复杂度确定所述时间复杂度。
可选地,所述预设聚类方法为K-means聚类方法。
第二方面,本发明提供一种参数服务器的同步系统,所述系统包括:数据存储层、训练层、调度层以及参数服务器层,所述训练层与所述数据存储层连接,且所述训练层与所述调度层连接,所述调度层还与所述参数服务器层连接,所述训练层中部署有若干个节点,所述调度层用于:
确定用户上传的数据的通讯时间、执行时间以及等待时间;
基于所述通讯时间、所述执行时间以及所述等待时间确定迭代完成时间;根据迭代完成时间确定目标同步点;
根据所述目标同步点确定是否需要执行同步操作,在确定为需要执行同步操作的情况下,执行所述同步通知对应的同步操作。
第三方面,本发明提供一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的参数服务器的同步方法的步骤。
有益效果:
本发明实施例中,首先确定用户上传的数据的通讯时间、执行时间以及等待时间;基于所述通讯时间、所述执行时间以及所述等待时间确定迭代完成时间;根据迭代完成时间确定目标同步点;根据所述目标同步点确定是否需要执行同步操作,在确定为需要执行同步操作的情况下,执行所述同步通知对应的同步操作。这样,不进行所有节点的完全同步,而寻找最佳同步点进行部分同步。在下一轮最佳同步点时刻,对所有已完成任务的节点进行一致参数更新,未完成任务的节点则继续使用陈旧参数工作。既可以减少模型的训练时间,又可以保证模型质量。
附图说明
图1为本发明优选实施例的参数服务器的同步方法的流程图;
图2为本发明优选实施例的同步处理方式的思路示意图;
图3为本发明优选实施例的在梯度聚合时有5个节点完成任务时的等待时间示意图;
图4为本发明优选实施例的在梯度聚合时有3个节点完成任务时的等待时间示意图;
图5为本发明优选实施例的不同K值所需的总时间和总等待时间情况示意图;
图6为本发明优选实施例的在T0时刻,模型参数同步更新情况示意图;
图7为本发明优选实施例的同构环境下相同精确度下总完成时间的对比示意图;
图8为本发明优选实施例的异构环境下相同精确度下的总完成时对比示意图;
图9为本发明优选实施例的同构环境下mnist数据集的精度对比示意图;
图10为本发明优选实施例的同构环境下cifar10数据集的测试集精度对比示意图;
图11为本发明优选实施例的异构环境下mnist测试精确度对比示意图;
图12为本发明优选实施例的异构环境下mnist测试精确度对比示意图;
图13为本发明优选实施例的DOSP方案在cifar10数据集下的可伸缩信息的示意图;
图14为本发明优选实施例的数据总传输量可伸缩性的示意图。
具体实施方式
下面对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
除非另作定义,本发明中使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
需要说明的是,本申请中的服务器中参数的同步方法,可以但不限于应用于服务器中,其中,服务器可以包括数据存储层、训练层、调度层以及参数服务器层,所述训练层与所述数据存储层连接,且所述训练层与所述调度层连接,所述调度层还与所述参数服务器层连接,所述训练层中部署有若干个节点。
如图1所示,本发明提供了一种参数服务器的同步方法,应用于服务器,该方法包括:
步骤101、确定用户上传的数据的通讯时间、执行时间以及等待时间。
需要说明的是,参数服务器是并行分布式机器学习的一种方式,在该步骤中,从参数服务器获取参数并将参数送回至参数服务器的这段时间为通讯时间,记为Tc。本地工作节点加载本次需要的批处理数据进行模型参数训练执行任务的时间为执行时间,记为Tw。节点从这次任务完成到下次开始执行任务之间的这段时间为节点等待时间,记为Ts。其中,Tw由机器的性能和当前节点的资源利用率决定,Tc取决于网络带宽状况,二者为不可控变量。需使等待时间Ts在合理的范围内。Ts由同步点决定,通过设定优化的同步点可以实现等待时间的优化进而缩短训练过程。
准确地确定通讯时间Tc和执行时间Tw可以使同步分析更加准确。对于通讯时间,本申请中通过记录worker(节点)和Server(服务器)的近期历史通讯时间均值作为下一次的通讯时间。通讯时间序列记为:Tc={tc1,tc2,...,tcn}。
对于执行时间,在云环境下,资源的可使用率动态变化,简单线性模型和固定执行时间并不适用,本实施方式中,采用NARX网络来预测执行时间。NARX是一种有反馈、有记忆的动态神经网络,其输出受当前输入参数和过去的输出结果共同影响,对非线性数据有好的适应能力。执行时间的预测公式如下:
tk=F(tk-1,...,tk-a,ck,...,ck-b,mk,...,mk-d); (1)
其中,c为CPU的可使用率,m为内存的可使用率,t代表时间,k代表是第几次迭代,a、b、d代表各个序列的步长,F()代表输入序列的函数。各节点经NARX模型训练得到的worker执行时间集合记为Tw={tw1,tw2,...,twn}。
步骤102、基于通讯时间、执行时间以及等待时间确定迭代完成时间。
步骤103、根据迭代完成时间确定目标同步点;
步骤104、根据目标同步点确定是否需要执行同步操作,在确定为需要执行同步操作的情况下,执行同步通知对应的同步操作。
上述的服务器中参数的同步方法,首先确定用户上传的数据的通讯时间、执行时间以及等待时间;基于所述通讯时间、所述执行时间以及所述等待时间确定迭代完成时间;根据迭代完成时间确定目标同步点;根据所述目标同步点确定是否需要执行同步操作,在确定为需要执行同步操作的情况下,执行所述同步通知对应的同步操作。这样,不进行所有节点的完全同步,而寻找最佳同步点进行部分同步。在下一轮最佳同步点时刻,对所有已完成任务的节点进行一致参数更新,未完成任务的节点则继续使用陈旧参数工作。既可以减少模型的训练时间,又可以保证模型质量。
在一些可行的实施方式中,worker的迭代完成时间,分为三种情况,(1)worker通知WAP完成训练任务时,该节点迭代完成时间包括下一次迭代Tw和下一次Tc。(2)当worker不在本轮同步,需用上一次预测的完迭代完成时间减去已经执行的时间,这种情况可能是负值,为负值时将其设置为0。以上两种为正常情况下的完成时间。(3)出现异常情况,如由于网络、硬件故障、垃圾回收或者后台操作系统等问题。即该worker未能按照预测的迭代完成时间完成任务,为此,给定一个常数故障时间d,这样可以解决现有技术中,BSP方案下出现故障节点宕机时需全部重新计算的问题。
可选地,基于通讯时间、第一执行时间以及等待时间确定迭代完成时间ti,其中,迭代完成时间ti满足如下关系式:
Figure BDA0003182739910000061
式中,twi是执行时间,tci是节点从参数服务器层获取模型参数需要的时间,tcu为当前时间tst代表这个节点的开始时间计算的时间,d是常数故障时间。
需要说明的是,为求解最佳同步点,下文首先介绍怎样的时刻是最佳同步点,在此基础上设计迭代完成时间的动态k聚类方案。
本文寻找部分同步方案的优化同步点。图2表达了本实施例中的同步处理方式的思路。其中,T1、T2和T3为同步时刻点。在T1时刻,worker1、worker2、worker3三个节点其完成时间接近,使用模型最新参数进行参数同步。T2时刻,worker1、worker2、worker3、worker4进行同步,T3时刻进行了所有节点的全同步。
假设一个集群包含10个节点,其各自的完成时间为:{2.1,2.2,2.6,5,5.3,5.7,6,6.1,6.2,6.3},平均聚合一个梯度的时间为0.4s。考虑两种分类方式的总等待时间。(1)以5.3为第一次同步点,聚合为{2.1,2.2,2.6,5,5.3}和{5.7,6,6.1,6.2,6.3}两类,6.3为第二次可能的同步点。所有节点都参与一次模型参数更新,在这期间各个节点的等待时间之和为总等待时间。如图3所示,在梯度聚合时有5个节点完成任务,总等待时间为10.5s。(2)以2.6为界,则聚合为{2.1,2.2,2.6}和{5,5.3,5.7,6,6.1,6.2,6.3}两类,如图4所示,梯度聚合时有3个节点完成任务,总等待时间为4.4秒。
可知,第二种情况获得了更优的总等待时间,所选择的同步点更为合理。分析原因包括:
(1)从第一部分同步节点开始梯度聚合至第二部分同步点,有充裕的时间完成梯度聚合如下:
((6.3-2.6)>>3*0.4);
(2)第二种情况下,第一部分同步节点{2.1,2.2,2.6}在同步点(T1=2.6)同步后,开始第二轮梯度计算,有很大概率可以和第二部分同步节点一起参与第二次同步如下:
(2.6+0.4*3+2.1=5.9<6.3);
这样下一轮有更多的节点能持有相同的模型参数。
采用部分同步方案,如果各次部分同步能选择合适的同步点,少量陈旧度较大的参数与最新的模型参数同步时,它的作用就小,训练过程不会出现较大抖动,使得机器的资源利用率较高。为此,对于同步点的定义,在本实施方式中,同步点可以是Optimal同步点。分布式机器学习下,优化同步点是使得节点间参数同步聚合满足以下要求:一方面,使参与同步、使用一致性参数的节点较多,使用大陈旧度的参数节点作用小。另一方面,本轮同步点至下一轮同步点之间空出足够的梯度聚合时间,否则下一轮同步不能按期进行,可以避免由于聚合梯度任务导致总等待时间变长。
可选地,根据迭代完成时间确定目标同步点包括:
采用预设聚类方法对迭代完成时间进行聚类,并根据聚类结果确定目标同步点。
在本可选的实施方式中,预设聚类方法为K-means聚类方法。通过K-means聚类方法对迭代完成时间进行动态聚类。
需要说明的是,考虑使迭代完成时间相近的节点进行同步。本文采用k-means聚类对迭代完成时间T进行聚类。k-means聚类依据对象之间的相似度将关系密切的数据放到同一个簇中,不同簇之间相异度较大,以此满足相邻两次同步时间差大,同类worker迭代执行时间差异小的要求。对迭代完成时间序列T={t1,t2,...,tn}进行k聚类,聚类后记为:C={C1,C2,...,Ck}。Ci是完成时间序列T的子集
Figure BDA0003182739910000071
且不为空集。可知,
Figure BDA0003182739910000072
存在唯一Cj,ti∈Cj,Ci的最小和最大元素分别记为
Figure BDA0003182739910000073
Figure BDA0003182739910000074
总等待时间函数如下:
Figure BDA0003182739910000075
其中,F(k)表示k聚类下的总等待时间,q表示第i类下有q个worker。
通过在参数服务器记录各节点的通信时间与执行时间之和,对迭代完成时间进行k聚类。为分析不同k值的聚类效果,在一个包含16个节点的集群中采用cifar10数据集进行试验,取不同K值(K=3,4,5),对比达到相同机器学习训练集精度所需的总时间和总等待时间,如图5所示,k值越大,任务完成总时间和总等待时间不一定越短。k的优化取值受同步节点数量、模型大小和同步次数的影响。采用固定k值可能将做出多次较差的同步点选择。为此,本申请实施方式采用基于迭代完成时间动态聚类的Optimal同步并行方案。
可选地,根据聚类结果确定目标同步点,包括:
根据聚类结果确定梯度聚合时隙值;
根据梯度聚合时隙值和聚合参与计算梯度聚合所需要的时间差值构建同步评价函数;
根据同步评价函数确定目标同步点。
进一步地,如果在三个k值中,直接通过F(k)最小值对应的第一类中的最大值作为本轮最佳同步点,可能会出现多次较差的同步点选择,原因是本轮最佳同步点的梯度聚合任务在下一次最佳同步点到达前还没有完成任务,如图3中的5.3+0.4*5=7.3>6.3,即第一轮的梯度参数聚合任务仍未完成之前第二轮同步点已经到达,将把下一次的可能最佳同步点向后延迟,称此类延迟为窄时隙延期(narrow time slot delay)。本文采梯度聚合时隙来评价同步点的选择是否合理。
对于梯度聚合时隙,假设第j轮最佳同步点为
Figure BDA0003182739910000081
Figure BDA0003182739910000082
有很大概率是第j轮最佳同步点对应完成时间k聚类时,第二类的最大值(如示例中的6.3),即
Figure BDA0003182739910000083
Figure BDA0003182739910000084
Figure BDA0003182739910000085
的同步点的时间差值称为梯度聚合时隙,用以评价选择的最佳同步点是否合适。差值大留给
Figure BDA0003182739910000086
轮的聚合梯度的时间长,不会出现时间到达
Figure BDA0003182739910000087
的同步点时刻,
Figure BDA0003182739910000088
聚合梯度还没有完成,总训练时间向后延迟的情况。
梯度聚合时隙计算如下:
Figure BDA0003182739910000089
其中,B(k)代表k聚类的梯度聚合时隙,即留给参数服务进行更新模型参数的可用时间,
Figure BDA00031827399100000810
Figure BDA00031827399100000811
分别为k聚类下第一类和第二类中的最大值。如图6所示,横轴上的数字分别为各个节点的迭代完成时间。在T0时,模型参数同步更新结束。T1为下一次最佳同步点,T2代表示T1最佳同步点的下一次的候选最佳同步点,相邻两次最佳同步点之间的时间差值(T2-T1)为梯度聚合时隙。
使用梯度聚合时隙时间值与聚合参与计算梯度聚合所需要的时间差值来评价最佳同步点是否合适,该函数称为同步评价函数,计算如下:
C(k)=B(k)-pT0;(5)
其中,p为到达最佳同步点时刻参与聚合梯度的节点数。C(k)大于零,
Figure BDA00031827399100000812
轮的梯度聚合任务在可能的
Figure BDA00031827399100000813
轮的同步之前完成,不会出现训练时间向后延迟的问题,可以确定下一轮最佳同步点。最佳同步点的计算如下:
Figure BDA00031827399100000814
其中,tsy为系统当前时间,
Figure BDA00031827399100000815
代表第1类中的最长完成时间,td为参数从worker传递给参服务器的传输延迟时间,假设不考虑参数在传递过程中的带宽异常情况,给一个常数td(0<td<1)。
当候选k值确定后,为了更好地选择最佳同步点,本实施方式中,同时进行三次聚类,即分别计算k取k-1、k、k+1对应的总等待时间。最佳同步点和候选k的确定,步骤如下:
(1)第一次梯度聚合进行全同步,为了防止k值的不断增大,导致训练过程出现较大的抖动,对于k的变化采用了TCP拥塞控制算法的思想,默认设置候选k为3;
(2)根据式(3)分别计算总等待时间F(k),F(k-1),F(k+1),并按升序排列;
(3)对已排序的总等待时间列表,顺序选择未尝试的值对应的k,根据式(5)计算同步评价函数C(k)值;如果总等待时间列表都已经尝试过,则跳到步骤(5);
(4)如C(k)>=0,根据式(6)确定出下一轮最佳同步点。如果C(k)<0,则重复执行步骤(3)(4)。对于下一轮的侯选k值进行动态调整。当前,C(k)>=0,如果候选k值大于预设的聚类阈值(如k=30%*n),则将其设置为阈值的一半,否则选择满足C(k)>=0条件的k值作为候选k;
(5)列表中所有值都已尝试过时,进行全同步,并将候选k设置为阈值的一半。进行完全同步的时间点为:(a)PS已收到所有节点完成任务的消息;(b)当时间超过最长迭代完成时间后,不以完成任务节点的个数为依据,直接进行全同步,从而解决瞬时落后问题和节点宕机带来的问题。
需要说明的是,服务器中,调度层执行的步骤的伪代码示例可以如下所示:
Figure BDA0003182739910000091
Figure BDA0003182739910000101
此外,参数服务器层执行的步骤的代码示例可以如下所示:
{输入:学习率β=0.1
输出:最新的模型参数wt
初始化w0
收到WAP的梯度聚合任务,同步个数为p
从对应worker中请求梯度
Figure BDA0003182739910000102
计算模型参数
Figure BDA0003182739910000103
通知WAP已经完成模型参数更新
}
此外,训练层中的节点执行的步骤的代码示例可以如下所示:
{输入:数据集Y,batch size的大小M
输出:本次迭代的梯度
收到WAP的数据分配并请求数据分配
收到WAP执行任务的信号
从参数服务加载模型参数wt
根据wt计算本地梯度
Figure BDA0003182739910000104
根据公式(1)预测执行时间并判断是否更新
NARX模型
通知WAP完成此次训练任务
}
需要说明的是,WAP(调度层)主要负责的任务为负责通知PS和worker执行任务和确定最佳同步点和候选k。PS(参数服务器层)根据WAP的梯度集合信息来更新模型参数。Worker(节点)根据WAP的消息从PS拉取参数来计算梯度。此处对各层所执行的代码仅做示例,不做限定,不论其作何变换,都在本申请实施方式保护的范围之内。
可选地,上述的服务器中参数的同步方法还包括:
确定时间复杂度;
根据时间复杂度优化更新目标同步点。
在一个可行的实施方式中,确定时间复杂度,包括:
确定聚类结果的总等待时间的第一复杂度和梯度聚合时隙值的第二复杂度;
根据第一复杂度和第二复杂度确定时间复杂度。
在本可选的实施方式中,通过第一复杂度、第二复杂度确定时间复杂度,并根据时间复杂度优化更新目标同步点,可以减少训练过程中的时间资源的浪费,提升训练速度。
下面,将以实际实验数据为例,对上述的服务器中参数的同步方法的有益效果进行示例说明。
本申请实施方式中,采用参数服务器架构的分布式机器学习框架STAR,STAR采用谷歌的grpc通信框架。在STAR的基础上实现了上述的服务器中参数的同步方法(以下简称DOSP方案),NARX模型使用KerasAPI组合来实现;使用python的psutil包来获取CPU使用率和Memory使用率。此外,在当前流行的机器学习框架上(如TensorFlow、Pytorch、Mxnet)可以通过部分代码改变实现本实施方式中的方案。
其中,对于实验的数据集,采用机器学习不同方面的代表应用,训练数据集情况可以如表1所示。MovieLens数据集为推荐系统测试数据集,对该数据集不进行测试精确度的测试;MNIST数据集和Cifar10数据集为图像识别的数据集。对于MovieLens,建立一个三层的全连接神经网络,每次训练的批次数据量为100000,学习率为0.1;对于MNIST建立一个三层的全连接神经网络,批处理的数据量大小为100,学习率为0.1;对CIFAR-10建立一个6层的全连接神经网络,批处理的数据量大小为100,学习率为0.1。选择的工作量代表不同的应用和不同的复杂度,执行时间从10s到2min之间。
表1数据集情况介绍
Figure BDA0003182739910000111
Figure BDA0003182739910000121
对于系统环境,在服务器上部署多1~3台VMware Work-station,版本为15.x,各VMware Workstation部署VM实例,实例参数可以参见表2。所有虚拟机实例部署的系统为Ubuntu Server 18.04LTS。
本实验中,为了验证DOSP方案在不同环境下的性能,建立了四个集群环境,集群参数设置如表2所示。
表2集群的参数设置
测试类型 worker PS WAP
集群1 同构 16 1 1
集群2 异构 16 1 1
集群3 同构伸缩性 16,32,48 1 1
集群4 异构伸缩性 16,32,48 1 1
同构测试下,包括集群1和集群3,将每个worker的执行时间控制在15秒左右;异构测试下,包括集群2和集群4,worker的执行时间异构,1/3为快速worker节点,1/2为中速worker节点,1/6为慢速worker节点。
进一步地,设置对比算法和评价指标,将本申请实施方式提出的DOSP方案与(1)BSP算法、(2)Soft_N算法(设定收到节点数的70%进行同步)和ASP算法,均在STAR框架中实现进行对比。
在该实施方式中,使用多个评价指标,训练完成标准为模型训练至达到损失函数连续5个epoch几乎不变。
在模型时间方面,以DOSP方案训练时间为1进行计算,在集群1的同构环境和集群2的异构环境下,四种方案的模型训练时间比较分别如图7和图8所示。在同构下加速比为1.24~2.65,在异构环境下为1.58~2.93,DOSP算法在同构和异构环境下的训练速度均为最优。
在同构环境下,开始阶段同步点选择DOSP类似于BSP的完全同步。随时间变化,由于系统资源改变、网络影响、获取参数时间变慢等原因开始出现预测时间的偏差,累积后类似于在异构环境的运行,DOSP的运行速度比BSP有大幅提升。在异构环境DOSP方案表现更加优异。异构环境下,BSP不断将训练过程向后延迟,慢机现象表现更加明显。而DOSP方案能根据训练时间和硬件环境做出最优同步点的选择,解决了落后节点问题,更能适应资源异构的情况。
在测试集精度方面,在同构环境和异构环境下测试集精度的比较分别见图9-图12。可知,两种环境下,DOSP方案保证了精确度,与Soft_N、BSP和ASP相比有小幅提升。考虑到学习率对分布式机器的性能有影响。本实施例在实验中对各种方案使用固定的学习率,从实验结果看,可以推断出DOSP方案更容易突破局部最优解。DOSP在某种情况下可能提高测试集准确率,得益于异步方案相当于给模型添加了噪音,使得模型泛化能力增强。Soft_N方案类似于DOSP方案k等于2的情况,但没有考虑如何同步是最佳的选择。
在DOSP的可伸缩性和数据传输量方面,为了评价DOSP方案对集群节点数量的大小的可伸缩性,把集群的worker数量设置为16、32、48,与Soft_N方案进行对比,实验评价指标为加速比(达到相同训练集精确度下的总时间)和数据总传输量。选用cifar10验证可伸缩性,因为cifar10在研究中作为图像数据集的典型代表。在训练速率伸缩性方面,使用集群3的同构环境和集群4的异构环境,如图13所示,不管是在同构环境还是异构环境下,在不同集群大小的情况下,DOSP方案的训练速率都优于Soft_N方案,此外,集群规模增大,DOSP方案表现更优异。分析其原因,随着集群的规模增大,对Soft_N梯度聚合压力不断增大,造成等待的worker的等待时间不断增加,训练完成的时间不断后延(聚合延迟)。而DOSP方案可以通过最佳同步点的选择减轻梯度聚合的压力,将PS聚合梯度的压力分散到不同的同步点,并且保证各节点的参数基本保持一致。
为了评价传输数据量的伸缩性,在集群1和集群2来做实验。通过在达到相同的训练数据集精确度下传输数据量的对比。实验结果图如图14所示,DOSP的数据传输表现最优。DOSP方案传输数据总量少的原因:一方面,由于DOSP方案属于异步风格的方案,由于不进行全同步,故有的节点会可能传输数据次数比较多,占的传输数据量比较多,有的节点传输数据量较少,所有worker节点传输的数据加起来的总数就少;而BSP方案每个节点占的传输数据量是一样的。从训练角度来看,DOSP方案传输数据量更少;此外,由于属于异步风格的更新模型参数,使得梯度下降的速度更快,更容易走出局部最小值,相对于BSP方案为了走出局部最小值需要的迭代次数就少,那么需要的传输数据量就少。此外,聚类使得每次更新有大部分的节点保持一致的模型参数,达到相同的训练集精确度下需要的迭代次数更少,那么需要的传输数据量也就更少。
在异构环境下BSP方案相对于DOSP的数据传输量大于同构环境下的情况,主要原因是由于DOSP方案在面对同构的硬件环境的时候,可能有多次做出全同步的最佳同步点,导致数据传输量比较大。这从侧面可以反映DOSP方案在异构的硬件环境下,表现更加出色。
DOSP方案中,多使用一个WAP层并不需要高性能计算机。因为WAP不需要做复杂计算,只需要监视Worker和PS的情况,在合适的时间发布合适的命令,通信内容是一个信号量,因此,WAP层的通信数据量可以忽略不记。
在一个可行的实施方式中,还可以基于上述的模型时间、测试集精度、DOSP的可伸缩性和数据传输量的方面优化上述的DOSP方案。
此外,还可以采用学习率作为指标,优化上述的DOSP方案。
综上,本申请提出了一种服务器中参数的同步方法来加速分布机器学习的速度和保证训练质量的方案,通过考虑如何在最佳同步点时刻进行同步,综合同步节点的等待时间最短,距离下一次最佳同步点的时间较长这两个方面进行考虑,通过同步评价函数来选择最佳同步点。本文实现了一个简单的分布式STAR框架,在此框架上实现了DOSP算法,实验结果证明DOSP方案比BSP、SOFT_N和ASP方案能在更短的时间内完成训练,且能提高测试集的准确率。在同构和异构的硬件环境中均适用,且在异构环境中表现更加出色。
本申请实施例还提供一种服务器中参数的同步系统,应用于服务器,所述系统包括:数据存储层、训练层、调度层以及参数服务器层,所述训练层与所述数据存储层连接,且所述训练层与所述调度层连接,所述调度层还与所述参数服务器层连接,所述训练层中部署有若干个节点,所述调度层用于:
确定用户上传的数据的通讯时间、执行时间以及等待时间;
基于所述通讯时间、所述执行时间以及所述等待时间确定迭代完成时间;根据迭代完成时间确定目标同步点;
根据所述目标同步点确定是否需要执行同步操作,在确定为需要执行同步操作的情况下,执行所述同步通知对应的同步操作。
上述的服务器中参数的同步系统,可以实现上述的服务器中参数的同步方法的各个实施例的步骤,且能达到相同的有益效果,此处,不做赘述。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如上所述的服务器中参数的同步方法的步骤。且能达到相同的有益效果,此处,不做赘述。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (9)

1.一种参数服务器的同步方法,应用于服务器,其特征在于,所述方法包括:
确定用户上传的数据的通讯时间、执行时间以及等待时间;
基于所述通讯时间、所述执行时间以及所述等待时间确定迭代完成时间;
根据迭代完成时间确定目标同步点;
根据所述目标同步点确定是否需要执行同步操作,在确定为需要执行同步操作的情况下,执行所述同步通知对应的同步操作。
2.根据权利要求1所述的参数服务器的同步方法,其特征在于,所述基于所述通讯时间、所述第一执行时间以及所述等待时间确定迭代完成时间ti,其中,迭代完成时间ti满足如下关系式:
Figure FDA0003182739900000011
式中,twi是执行时间,tci是节点从参数服务器层获取模型参数需要的时间,tcu为当前时间,tst代表节点的开始时间计算的时间,d是常数故障时间。
3.根据权利要求1所述的参数服务器的同步方法,其特征在于,所述根据迭代完成时间确定目标同步点包括:
采用预设聚类方法对所述迭代完成时间进行聚类,并根据聚类结果确定目标同步点。
4.根据权利要求3所述的参数服务器的同步方法,其特征在于,所述根据聚类结果确定目标同步点,包括:
根据所述聚类结果确定梯度聚合时隙值;
根据所述梯度聚合时隙值和聚合参与计算梯度聚合所需要的时间差值构建同步评价函数;
根据所述同步评价函数确定所述目标同步点。
5.根据权利要求4所述的参数服务器的同步方法,其特征在于,所述方法还包括:
确定时间复杂度;
根据所述时间复杂度优化更新所述目标同步点。
6.根据权利要求5所述的参数服务器的同步方法,其特征在于,所述确定时间复杂度,包括:
确定聚类结果的总等待时间的第一复杂度和梯度聚合时隙值的第二复杂度;
根据所述第一复杂度和所述第二复杂度确定所述时间复杂度。
7.根据权利要求3所述的参数服务器的同步方法,其特征在于,所述预设聚类方法为K-means聚类方法。
8.一种参数服务器的同步系统,其特征在于,所述系统包括:数据存储层、训练层、调度层以及参数服务器层,所述训练层与所述数据存储层连接,且所述训练层与所述调度层连接,所述调度层还与所述参数服务器层连接,所述训练层中部署有若干个节点,所述调度层用于:
确定用户上传的数据的通讯时间、执行时间以及等待时间;
基于所述通讯时间、所述执行时间以及所述等待时间确定迭代完成时间;根据迭代完成时间确定目标同步点;
根据所述目标同步点确定是否需要执行同步操作,在确定为需要执行同步操作的情况下,执行所述同步通知对应的同步操作。
9.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-7中任一所述的参数服务器的同步方法的步骤。
CN202110851609.XA 2021-07-27 2021-07-27 参数服务器的同步方法、系统及可读存储介质 Active CN113656494B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110851609.XA CN113656494B (zh) 2021-07-27 2021-07-27 参数服务器的同步方法、系统及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110851609.XA CN113656494B (zh) 2021-07-27 2021-07-27 参数服务器的同步方法、系统及可读存储介质

Publications (2)

Publication Number Publication Date
CN113656494A true CN113656494A (zh) 2021-11-16
CN113656494B CN113656494B (zh) 2024-06-07

Family

ID=78478793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110851609.XA Active CN113656494B (zh) 2021-07-27 2021-07-27 参数服务器的同步方法、系统及可读存储介质

Country Status (1)

Country Link
CN (1) CN113656494B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114328098A (zh) * 2021-12-23 2022-04-12 北京百度网讯科技有限公司 一种慢节点检测方法、装置、电子设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130308453A1 (en) * 2012-05-16 2013-11-21 Centurylink Intellectual Property Llc Customer Configuration of Broadband Services
CN104714852A (zh) * 2015-03-17 2015-06-17 华中科技大学 一种适用于分布式机器学习的参数同步优化方法及其系统
CN106156810A (zh) * 2015-04-26 2016-11-23 阿里巴巴集团控股有限公司 通用机器学习算法模型训练方法、系统和计算节点
US20170351530A1 (en) * 2016-04-29 2017-12-07 International Business Machines Corporation Approximate synchronization for parallel deep learning
CN110990155A (zh) * 2019-11-29 2020-04-10 杭州电子科技大学 一种面向大规模安全监控的参数通信方法
CN111144584A (zh) * 2019-12-31 2020-05-12 深圳Tcl新技术有限公司 参数调优方法、装置及计算机存储介质
CN111444021A (zh) * 2020-04-02 2020-07-24 电子科技大学 基于分布式机器学习的同步训练方法、服务器及系统
CN112001501A (zh) * 2020-08-14 2020-11-27 苏州浪潮智能科技有限公司 一种ai分布式训练系统的参数更新方法、装置、设备
CN112511363A (zh) * 2020-03-15 2021-03-16 中兴通讯股份有限公司 一种时延性能评估方法、装置和存储介质
CN112712171A (zh) * 2021-01-12 2021-04-27 湖南工业大学 深度卷积神经网络的分布式训练方法、设备和存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130308453A1 (en) * 2012-05-16 2013-11-21 Centurylink Intellectual Property Llc Customer Configuration of Broadband Services
CN104714852A (zh) * 2015-03-17 2015-06-17 华中科技大学 一种适用于分布式机器学习的参数同步优化方法及其系统
CN106156810A (zh) * 2015-04-26 2016-11-23 阿里巴巴集团控股有限公司 通用机器学习算法模型训练方法、系统和计算节点
US20170351530A1 (en) * 2016-04-29 2017-12-07 International Business Machines Corporation Approximate synchronization for parallel deep learning
CN110990155A (zh) * 2019-11-29 2020-04-10 杭州电子科技大学 一种面向大规模安全监控的参数通信方法
CN111144584A (zh) * 2019-12-31 2020-05-12 深圳Tcl新技术有限公司 参数调优方法、装置及计算机存储介质
CN112511363A (zh) * 2020-03-15 2021-03-16 中兴通讯股份有限公司 一种时延性能评估方法、装置和存储介质
CN111444021A (zh) * 2020-04-02 2020-07-24 电子科技大学 基于分布式机器学习的同步训练方法、服务器及系统
CN112001501A (zh) * 2020-08-14 2020-11-27 苏州浪潮智能科技有限公司 一种ai分布式训练系统的参数更新方法、装置、设备
CN112712171A (zh) * 2021-01-12 2021-04-27 湖南工业大学 深度卷积神经网络的分布式训练方法、设备和存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MEIGUANG ZHENG 等: "DOSP: an optimal synchronization of parameter server for distributed machine learning", 《THE JOURNAL OF SUPERCOMPUTING》, vol. 78, no. 12, pages 13865 - 13892, XP037905460, DOI: 10.1007/s11227-022-04422-6 *
QIHUA ZHOU 等: "Falcon: Towards Computation-Parallel Deep Learning in Heterogeneous Parameter Server", 《2019 IEEE 39TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS (ICDCS)》, pages 196 - 206 *
RUI YANG: "Parameter Communication Consistency Model for Large-Scale Security Monitoring Based on Mobile Computing", 《IEEE ACCESS》, vol. 7, pages 171884 - 171897, XP011759090, DOI: 10.1109/ACCESS.2019.2956632 *
阳瑞: "面向分布式机器学习框架的通信优化技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 04, pages 24 - 55 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114328098A (zh) * 2021-12-23 2022-04-12 北京百度网讯科技有限公司 一种慢节点检测方法、装置、电子设备及存储介质
CN114328098B (zh) * 2021-12-23 2023-04-18 北京百度网讯科技有限公司 一种慢节点检测方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN113656494B (zh) 2024-06-07

Similar Documents

Publication Publication Date Title
Liu et al. Adaptive asynchronous federated learning in resource-constrained edge computing
CN108958916B (zh) 一种移动边缘环境下工作流卸载优化方法
CN104636204B (zh) 一种任务调度方法与装置
CN111274036A (zh) 一种基于速度预测的深度学习任务的调度方法
Mostafa et al. Fog resource selection using historical executions
CN112416585A (zh) 面向深度学习的gpu资源管理与智能化调度方法
CN113742089B (zh) 异构资源中神经网络计算任务的分配方法、装置和设备
CN113037800B (zh) 作业调度方法以及作业调度装置
CN110119399B (zh) 基于机器学习的业务流程优化方法
CN113033800A (zh) 分布式深度学习方法、装置、参数服务器及主工作节点
CN109445386A (zh) 一种基于onba的云制造任务最短生产时间调度方法
CN107608781B (zh) 一种负载预测方法、装置以及网元
US20220300323A1 (en) Job Scheduling Method and Job Scheduling Apparatus
CN112732444A (zh) 一种面向分布式机器学习的数据划分方法
CN113596868A (zh) 基于sdn和nfv的5g网络切片资源管理机制
Cao et al. A deep reinforcement learning approach to multi-component job scheduling in edge computing
CN108875035A (zh) 分布式文件系统的数据存储方法及相关设备
CN113656494B (zh) 参数服务器的同步方法、系统及可读存储介质
Zhao et al. Large-scale machine learning cluster scheduling via multi-agent graph reinforcement learning
CN113190342B (zh) 用于云-边协同网络的多应用细粒度卸载的方法与系统架构
Tao et al. Drl-driven digital twin function virtualization for adaptive service response in 6g networks
CN108540407A (zh) 一种大数据平台中Spark Streaming接收器动态配置方法及装置
Bensalem et al. Towards optimal serverless function scaling in edge computing network
CN116996941A (zh) 基于配网云边端协同的算力卸载方法、装置及系统
CN116501828A (zh) 基于非结构化数据集的服务器无感知向量查询方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant