[go: up one dir, main page]

CN111858058A - 基于并行计算的sgd负载均衡方法、装置及存储介质 - Google Patents

基于并行计算的sgd负载均衡方法、装置及存储介质 Download PDF

Info

Publication number
CN111858058A
CN111858058A CN202010723846.3A CN202010723846A CN111858058A CN 111858058 A CN111858058 A CN 111858058A CN 202010723846 A CN202010723846 A CN 202010723846A CN 111858058 A CN111858058 A CN 111858058A
Authority
CN
China
Prior art keywords
nodes
node
load balancing
model
sub
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.)
Pending
Application number
CN202010723846.3A
Other languages
English (en)
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.)
Chengdu Cheng Xin High Tech Information Technology Co ltd
Chengdu University of Information Technology
Original Assignee
Chengdu Cheng Xin High Tech Information Technology Co ltd
Chengdu University of Information Technology
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 Chengdu Cheng Xin High Tech Information Technology Co ltd, Chengdu University of Information Technology filed Critical Chengdu Cheng Xin High Tech Information Technology Co ltd
Priority to CN202010723846.3A priority Critical patent/CN111858058A/zh
Publication of CN111858058A publication Critical patent/CN111858058A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了基于并行计算的SGD负载均衡方法,该方法包括:基于模型并行和数据并行相结合的设计模式实现分布式并行gpu计算;采用信号量机制实现主节点对子节点间同步通信,并在子容器中优化器采用随机梯度下降算法更新权重。主节点依据子节点控制表中的误差为权重构建最小生成树,发现图节点中的关键节点,并按次序消除无关节点,重新分配其硬件资源。实现多个模型副本同时处理训练样本的不同子集,周期性的对模型副本进行交互合并,对分布式算法进行优化。本发明提出了一种新的架构思路来实现负载均衡计算的策略,提高了模型开发效率并降低了开发成本,该算法对数据规模有较好的适应性,同时实现了动态管理子容器间的异步通信。

Description

基于并行计算的SGD负载均衡方法、装置及存储介质
技术领域
本发明涉及机器学习领域,尤其涉及基于并行计算的SGD负载均衡方法、装置及存储介质。
背景技术
目前,人们已经领略到人工智能在多个领域的巨大优势。机器学习是人工智能中重要的一环,通过对海量的数据进行建模、训练,帮助人们进行决策。
然而随着大数据的兴起,数据规模越来越庞大,单机模式下的存储及计算能力已经无法满足海量数据的要求。分布式机器学习应运而生,采用分布式机器学习来加快模型收敛的速度已经成为业界主流的方式,目前分布式机器学习较为通用的做法有两种:模型并行和数据并行。
然而当前的并行计算受限于木桶效应,往往要等到最慢的节点计算完才能进行下一步计算。实现对多个模型副本同时处理训练样本的不同子集,周期性的对各模型副本结果进行交互合并,提供大规模数据下的计算效率,技术难度要求较高。
发明内容
本发明的目的在于克服现有技术的不足,提供基于并行计算的SGD负载均衡方法、装置及存储介质,采用基于模型并行模式和数据并行模式相结合的方式。与现有技术相比,本发明有效的实现了多个模型副本同时处理训练样本的不同子集,周期性的对各模型副本的结果进行交互合并,对分布式算法进行优化。
本发明的目的是通过以下技术方案来实现的:
基于并行计算的SGD负载均衡方法,包括以下步骤:
步骤1:搭建并行gpu计算架构,采用基于模型并行模式和数据并行模式相结合的方式,构建单向联通图,在图节点之间周期性的进行模型流通,使模型覆盖数据集,并为图节点择优分配硬件设备;
步骤2:动态管理节点硬件资源,采用信号量机制实现主节点对子节点间同步通信,并在子容器中优化器采用随机梯度下降算法更新权重。
具体的,所述步骤1中搭建并行gpu计算架构具体包括以下子步骤:
S101,配置一个管理节点Manager,在创建N个容器部署在不同的机器上,记为节点Node,在子节点上创建节点控制表,记录节点ID、节点数据集和当前批次误差;
S102,在子节点间建立连接,形成单向连通图,在子节点中搭建神经网络,设置一个周期的时间片T;
S103,将数据样本平均分为N份,按顺序送入节点中,使用SGD算法在不同的节点上训练,每份数据样本经过前向传播和反向传播得到一个局部的梯度值,并更新梯度;
S104,在每个训练周期中按照图的层次进行遍历,记录该模型误差的无偏估计量,将误差值记录在节点控制表中。
具体的,所述子步骤S104中图的遍历过程具体包括:将上层节点输出的权值和偏置等参数封装成一个NN对象进行传输;在当前节点收到上层节点传来的NN对象后,将NN对象作为隐含层进行训练;若当前节点有多个上层节点,则对上层节点传来的NN对象进行合并,求出NN对象的均值作为隐含层进行训练。
具体的,所述步骤2中动态管理节点硬件资源过程具体包括以下子步骤:
S201,在每个周期中,通过主节点查询节点控制表,以节点控制表中的误差作为权值构建最小生成树,对最小生成树中的权值进行排序;
S202,当训练模型将要收敛时,主节点根据节点控制表中的每个周期的最小生成树,按照权值对节点进行排序,对关键节点发送同步信号;
S203,主节点按次序回收单向联通图中未收到同步信号的节点的任务,并将该节点的硬件资源分配给相邻的关键节点,加快相邻关键节点的计算速度,直至完成所有节点完成训练任务。
一种计算装置,包括存储器,存储器中存储有计算机可执行指令;处理器,用于执行所述计算机程序时实现上述负载均衡方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述负载均衡方法的步骤。
本发明的有益效果:本发明提出了一种新的架构思路来实现负载均衡计算的策略,提高了模型开发效率和减少了开发成本,使该算法对数据规模有较好的适应性,同时实现了动态管理子容器间的异步通信。
附图说明
图1是本发明的方法流程图。
图2是本发明的并行计算架构示意图。
图3是本发明采用信号量机制实现动态管理节点硬件资源的示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式。
本实施例中,如图1所示,基于并行计算的SGD负载均衡方法,主要包括以下步骤:
步骤1:搭建并行gpu计算架构,采用基于模型并行模式和数据并行模式相结合的方式,构建单向联通图,在图节点之间周期性的进行模型流通,使模型覆盖数据集,并为图节点择优分配硬件设备;
步骤2:动态管理节点硬件资源,采用信号量机制实现主节点对子节点间同步通信,并在子容器中优化器采用随机梯度下降算法更新权重。
本实施例中,如图2所示,本发明提供了基于并行计算SGD负载均衡方法的结构示意图,其具体实现过程包括:首先配置一个管理节点Manager,在创建N个容器部署在不同的机器上,记为节点Node,在子节点上创建节点控制表,用来记录节点ID、节点数据集、当前批次误差。在子节点间建立连接,形成单向连通图(图节点为GPU硬件设备),在子节点中搭建神经网络,设置一个周期的时间片T。将数据样本平均分为N份,按顺序送入节点中,使用SGD算法在不同的节点上训练,每份数据样本经过前向传播和反向传播得到一个局部的梯度值,并更新梯度。在每个训练周期中按照图的层次遍历记录该模型误差的无偏估计量,将误差值记录在节点控制表中。其中,在图的遍历过程中相邻节点之间需要传输节点之间的权值和偏置,由于神经网络复杂、参数众多,所以将参数封装成一个NN对象进行传输,在节点收到上层节点传来的NN对象后,将NN对象作为隐含层进行训练。若节点有多个上层节点,则对上层节点传来的NN对象进行合并,求出NN对象的均值作为隐含层进行训练。周期性的进行模型流通,使模型在所有数据上运行。
基于步骤1所述的架构,在训练一段时间后,部分节点的误差会下降的非常缓慢,需要非常长的训练时间才能达到收敛,非常影响训练效率,同时也会产生大量的无效计算,造成硬件资源的浪费。因此本发明引进信号量机制实现主节点与子节点的同步通信,管理对节点硬件资源进行动态管理。
本实施例中,图3是本发明采用信号量机制实现动态管理节点硬件资源的示意图,其具体的实现过程包括:在每个周期中,主节点查询节点控制表,以节点控制表中的误差作为权值构建最小生成树,对最小生成树中的权值进行排序。训练一定周期后(模型将要收敛时),主节点根据节点控制表中的每个周期的最小生成树,按照权值对节点进行排序,对关键节点发送同步信号。随后主节点按次序回收未收到同步信号的节点的任务,并将该节点的硬件资源分配给相邻的关键节点,用来加快相邻节点的计算速度,以提升整个模型的效率。
本发明所采用的架构思路能有效的降低Loss值,提供模型的开发效率,减少开发成本,且对数据规模有较好的适应性。
此外,本发明还提供一种计算装置和一种计算机可读存储介质。其中,一种计算装置包括存储器,存储器中存储有计算机可执行指令;处理器,用于执行所述计算机程序时实现实施例中负载均衡方法的所有实现过程和步骤。一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述负载均衡方法的所有方法和步骤。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护的范围由所附的权利要求书及其等效物界定。

Claims (6)

1.基于并行计算的SGD负载均衡方法,其特征在于,包括以下步骤:
步骤1:搭建并行gpu计算架构,采用基于模型并行模式和数据并行模式相结合的方式,构建单向联通图,在图节点之间周期性的进行模型流通,使模型覆盖数据集,并为图节点择优分配硬件设备;
步骤2:动态管理节点硬件资源,采用信号量机制实现主节点对子节点间同步通信,并在子容器中优化器采用随机梯度下降算法更新权重。
2.根据权利要求1所述的基于并行计算的SGD负载均衡方法,其特征在于,所述步骤1中搭建并行gpu计算架构具体包括以下子步骤:
S101,配置一个管理节点Manager,在创建N个容器部署在不同的机器上,记为节点Node,在子节点上创建节点控制表,记录节点ID、节点数据集和当前批次误差;
S102,在子节点间建立连接,形成单向连通图,在子节点中搭建神经网络,设置一个周期的时间片T;
S103,将数据样本平均分为N份,按顺序送入节点中,使用SGD算法在不同的节点上训练,每份数据样本经过前向传播和反向传播得到一个局部的梯度值,并更新梯度; S104,在每个训练周期中按照图的层次进行遍历,记录该模型误差的无偏估计量,将误差值记录在节点控制表中。
3.根据权利要求2所述的基于并行计算的SGD负载均衡方法,其特征在于,所述子步骤S104中图的遍历过程具体包括:将上层节点输出的权值和偏置等参数封装成一个NN对象进行传输;在当前节点收到上层节点传来的NN对象后,将NN对象作为隐含层进行训练;若当前节点有多个上层节点,则对上层节点传来的NN对象进行合并,求出NN对象的均值作为隐含层进行训练。
4.根据权利要求1所述的基于并行计算的SGD负载均衡方法,其特征在于,所述步骤2中动态管理节点硬件资源过程具体包括以下子步骤:
S201,在每个周期中,通过主节点查询节点控制表,以节点控制表中的误差作为权值构建最小生成树,对最小生成树中的权值进行排序;
S202,当训练模型将要收敛时,主节点根据节点控制表中的每个周期的最小生成树,按照权值对节点进行排序,对关键节点发送同步信号;
S203,主节点按次序回收单向联通图中未收到同步信号的节点的任务,并将该节点的硬件资源分配给相邻的关键节点,加快相邻关键节点的计算速度,直至完成所有节点完成训练任务。
5.一种计算装置,其特征在于,包括
存储器,存储器中存储有计算机可执行指令;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述的负载均衡方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的负载均衡方法的步骤。
CN202010723846.3A 2020-07-24 2020-07-24 基于并行计算的sgd负载均衡方法、装置及存储介质 Pending CN111858058A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010723846.3A CN111858058A (zh) 2020-07-24 2020-07-24 基于并行计算的sgd负载均衡方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010723846.3A CN111858058A (zh) 2020-07-24 2020-07-24 基于并行计算的sgd负载均衡方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN111858058A true CN111858058A (zh) 2020-10-30

Family

ID=72950115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010723846.3A Pending CN111858058A (zh) 2020-07-24 2020-07-24 基于并行计算的sgd负载均衡方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN111858058A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112598118A (zh) * 2021-03-03 2021-04-02 成都晓多科技有限公司 有监督学习的标注异常处理方法、装置、存储介质及设备
CN114035937A (zh) * 2021-10-15 2022-02-11 北京潞晨科技有限公司 一种基于人工智能的分布式训练和推理方法、系统、设备和可读存储介质
CN114167828A (zh) * 2021-12-03 2022-03-11 润电能源科学技术有限公司 一种dcs控制器的外挂控制方法及相关装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106339351A (zh) * 2016-08-30 2017-01-18 浪潮(北京)电子信息产业有限公司 一种sgd算法优化系统及方法
CN108304918A (zh) * 2018-01-18 2018-07-20 中兴飞流信息科技有限公司 一种数据并行的深度学习的参数交换方法和系统
CN108921196A (zh) * 2018-06-01 2018-11-30 南京邮电大学 一种改进全卷积神经网络的语义分割方法
CN110678843A (zh) * 2017-04-17 2020-01-10 微软技术许可有限责任公司 在深度神经网络模块中动态划分工作负载以降低功率消耗
CN110795228A (zh) * 2018-08-03 2020-02-14 伊姆西Ip控股有限责任公司 使用加速器混合集的分布式深度学习的自适应批量数据集划分
CN111178486A (zh) * 2019-11-27 2020-05-19 湖州师范学院 一种基于种群演化的超参数异步并行搜索方法
WO2020102526A1 (en) * 2018-11-14 2020-05-22 North Carolina State University Deep neural network with compositional grammatical architectures
US20200175422A1 (en) * 2018-11-29 2020-06-04 International Business Machines Corporation Asynchronous gradient weight compression

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106339351A (zh) * 2016-08-30 2017-01-18 浪潮(北京)电子信息产业有限公司 一种sgd算法优化系统及方法
CN110678843A (zh) * 2017-04-17 2020-01-10 微软技术许可有限责任公司 在深度神经网络模块中动态划分工作负载以降低功率消耗
CN108304918A (zh) * 2018-01-18 2018-07-20 中兴飞流信息科技有限公司 一种数据并行的深度学习的参数交换方法和系统
CN108921196A (zh) * 2018-06-01 2018-11-30 南京邮电大学 一种改进全卷积神经网络的语义分割方法
CN110795228A (zh) * 2018-08-03 2020-02-14 伊姆西Ip控股有限责任公司 使用加速器混合集的分布式深度学习的自适应批量数据集划分
WO2020102526A1 (en) * 2018-11-14 2020-05-22 North Carolina State University Deep neural network with compositional grammatical architectures
US20200175422A1 (en) * 2018-11-29 2020-06-04 International Business Machines Corporation Asynchronous gradient weight compression
CN111178486A (zh) * 2019-11-27 2020-05-19 湖州师范学院 一种基于种群演化的超参数异步并行搜索方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHENG DANING 等: "Weighted parallel SGD for distributed unbalanced-workload training system", 《JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING》 *
鲁淑霞 等: "带有方差减小的加权零阶随机梯度下降算法", 《河北大学学报(自然科学版)》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112598118A (zh) * 2021-03-03 2021-04-02 成都晓多科技有限公司 有监督学习的标注异常处理方法、装置、存储介质及设备
CN112598118B (zh) * 2021-03-03 2021-06-25 成都晓多科技有限公司 有监督学习的标注异常处理方法、装置、存储介质及设备
CN114035937A (zh) * 2021-10-15 2022-02-11 北京潞晨科技有限公司 一种基于人工智能的分布式训练和推理方法、系统、设备和可读存储介质
CN114167828A (zh) * 2021-12-03 2022-03-11 润电能源科学技术有限公司 一种dcs控制器的外挂控制方法及相关装置

Similar Documents

Publication Publication Date Title
CN109032671B (zh) 一种基于数据并行策略的分布式深度学习方法及系统
CN110533183B (zh) 流水线分布式深度学习中异构网络感知的任务放置方法
CN114756383B (zh) 一种分布式计算方法、系统、设备及存储介质
Rashidi et al. Astra-sim: Enabling sw/hw co-design exploration for distributed dl training platforms
US20220129302A1 (en) Data processing system and method for heterogeneous architecture
US11481627B2 (en) Distributed learning of composite machine learning models
CN111858058A (zh) 基于并行计算的sgd负载均衡方法、装置及存储介质
Van Tendeloo et al. PythonPDEVS: a distributed Parallel DEVS simulator
CN107578094A (zh) 基于参数服务器和fpga实现神经网络分布式训练的方法
Sun et al. Gradientflow: Optimizing network performance for large-scale distributed dnn training
CN110347636B (zh) 数据执行体及其数据处理方法
Zhan et al. Pipe-torch: Pipeline-based distributed deep learning in a gpu cluster with heterogeneous networking
CN107807983A (zh) 一种支持大规模动态图数据查询的并行处理框架及设计方法
WO2025112979A1 (zh) 并行策略优选方法及神经网络求解器训练方法、装置
CN111241301A (zh) 一种面向知识图谱表示学习的分布式框架构建方法
CN118644225B (zh) 一种基于多智能体强化学习的变电站运维决策方法
Liu et al. Aedfl: efficient asynchronous decentralized federated learning with heterogeneous devices
Addanki et al. Placeto: Efficient progressive device placement optimization
WO2025081828A1 (zh) 训练模型分配方法、装置、计算机设备和存储介质
CN110868461B (zh) 一种Gaia集群中面向节点间异构带宽的数据分发方法
Zhang et al. The optimization of model parallelization strategies for multi-GPU training
CN119166298A (zh) 加速大模型训练任务的异构智能算力优化管理调度系统
CN106201985B (zh) 一种基于pq法的分布式并行潮流计算系统开发方法
Wang et al. A coordinated two-stages virtual network embedding algorithm based on reinforcement learning
CN114358859A (zh) 用于点击率预测的基于图的大规模embedding模型训练方法及系统

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
AD01 Patent right deemed abandoned

Effective date of abandoning: 20221209

AD01 Patent right deemed abandoned