CN111858058A - 基于并行计算的sgd负载均衡方法、装置及存储介质 - Google Patents
基于并行计算的sgd负载均衡方法、装置及存储介质 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, 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负载均衡方法,包括以下步骤:
步骤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任一项所述的负载均衡方法的步骤。
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)
| 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)
| 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 |
-
2020
- 2020-07-24 CN CN202010723846.3A patent/CN111858058A/zh active Pending
Patent Citations (8)
| 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)
| Title |
|---|
| CHENG DANING 等: "Weighted parallel SGD for distributed unbalanced-workload training system", 《JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING》 * |
| 鲁淑霞 等: "带有方差减小的加权零阶随机梯度下降算法", 《河北大学学报(自然科学版)》 * |
Cited By (4)
| 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 |