CN115062771A - 一种分布式机器学习梯度汇聚方法、装置及模型训练方法 - Google Patents

一种分布式机器学习梯度汇聚方法、装置及模型训练方法 Download PDF

Info

Publication number
CN115062771A
CN115062771A CN202210981014.0A CN202210981014A CN115062771A CN 115062771 A CN115062771 A CN 115062771A CN 202210981014 A CN202210981014 A CN 202210981014A CN 115062771 A CN115062771 A CN 115062771A
Authority
CN
China
Prior art keywords
gradient
node
convergence
scheduling
intelligent switch
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
CN202210981014.0A
Other languages
English (en)
Other versions
CN115062771B (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.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
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 Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202210981014.0A priority Critical patent/CN115062771B/zh
Publication of CN115062771A publication Critical patent/CN115062771A/zh
Application granted granted Critical
Publication of CN115062771B publication Critical patent/CN115062771B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Abstract

本发明公开了一种分布式机器学习梯度汇聚方法、装置及模型训练方法,利用智能交换机进行计算节点梯度汇聚任务调度和模型训练。智能交换机不仅包含正常的网络交换功能,还能对梯度数据包进行解析,抽取包内数据并进行计算,并将结果重新组包发送给相关计算服务器,提供更为高效的数据交换服务。智能交换机将多台计算服务器连接起来组成训练网络,共同完成神经网络模型训练任务。本发明实现分布式机器学习训练,可优化梯度汇聚时间,减少梯度交换流量,加速大模型训练。

Description

一种分布式机器学习梯度汇聚方法、装置及模型训练方法
技术领域
本发明属于机器学习领域,具体是一种分布式机器学习梯度汇聚方法、装置及模型训练方法。
背景技术
神经网络训练经常采用随机梯度下降的方式进行,每当输入一个训练样本,进行一次前向传播,然后根据结果进行反向传播获得梯度,再根据梯度来更新模型的权值。通常为了加速训练,将一个大的数据集拆分成多份小样本的方式训练。当前深度神经网络模型正朝着更大规模模型结构、更大量的训练数据方向发展;例如视觉Transformer(ViT)模型的参数量有几十亿,GPT-3的参数量更是达到上千亿;所用的训练数据用了几千万至几十亿个训练图像。训练的时间单台服务器显然已经很难满足如此大规模的模型和数据,大型模型训练需要利用并行计算和分布式计算的技术来完成。同时由于训练数据和模型规模的进一步增长,训练过程中的网络带宽需求也十分巨大。如何寻找一种更优的分布式神经网络模型训练方法也是业界迫切需求。
为了解决这些技术问题,近年来陆续有人提出了多种分布式模型训练的方法,网络拓扑有主从结构、环形结构和树状结构等。如图1所示,百度研究院等提出了一种环形架构:各个计算节点501以环形相连,每个节点都有左手节点和右手节点;假设所有左手节点负责接收,所有右手节点负责发送,则循环完成梯度累积,再循环完成参数同步。如图2所示,谷歌等提出的结构参数服务器203通过交换机202与多台计算节点201相连,计算节点计算梯度数据,提交给参数服务器,参数服务器汇总梯度数据后计算出新的参数返回计算节点。如图3所示,也有研究提出2D环形网络结构来完成训练。一般来说2D-环状全局归约操作(2D-Torus all-reduce)交流成本比环形全局归约操作(all-reduce)的更低。在2D-环状结构中,通常分为三个步骤,首先,水平方向执行分散,然后,竖直方向执行聚集规约。最后,水方向平执行结果收集。
在传统的分布式机器学习中,工作节点计算获得梯度数据,通过网络发送给参数服务器,参数服务器对各个工作节点的梯度数据进行聚合计算得出新的权值参数,并将权值结果返回给各工作节点。工作节点更新权值参数后进行下一轮迭代训练。这样处理梯度汇聚时间长,梯度交换流量大,影响大模型训练效率的进一步提高。
发明内容
为了解决现有技术中存在的上述技术问题,本发明提供了一种分布式机器学习梯度汇聚装置,包括智能交换机和计算服务器,所述智能交换机包括:
输入模块,用于接收数据包;解析模块,用于对输入模块接收的梯度数据包类型解析和提取;梯度汇聚计算模块,用于完成梯度汇聚计算;梯度调度器,包括梯度调度表和数据块信息表,用于根据输入的梯度数据包信息执行调度策略,其中,梯度调度表,用于存放节点的调度策略表;数据块信息表,用于存放当前节点内数据块的信息;数据缓存器,用于缓存来自梯度汇聚计算模块的梯度数据;输出模块,用于输出来自数据缓存器的数据包;计时器,用于为梯度调度器提供处理梯度数据包的时间。
进一步的,所述梯度调度表的数据结构包括:模型ID值、梯度汇聚子网络ID,梯度汇聚目的节点,梯度汇聚源节点集合和梯度汇聚操作类型。
进一步的,所述数据块信息表存放的信息包括:数据块在数据缓存器的具体地址、时间戳和计算节点统计信息。
一种基于所述的分布式机器学习梯度汇聚装置的梯度汇聚方法,包括如下步骤:
计算服务器计算生成梯度数据,当梯度数据包输入智能交换机后,解析模块对数据包进行解析:
若是来自计算服务器的梯度数据包,则梯度汇聚计算模块进行梯度汇聚计算,并将汇聚结果存在数据缓存器,同时判断当前汇聚结果是否满足调度输出条件;若满足调度输出条件,则根据梯度调度表中的调度策略表进行输出;若不满足调度输出条件,则继续缓存在数据缓存器等待条件满足;
若不是来自计算服务器的梯度数据包,则判断:
若是来自相邻智能交换机的梯度数据包,则根据梯度调度表的调度策略表进行梯度汇聚计算和输出,并将结果发送给目的交换机或计算服务器;
若是普通数据包,按普通路由规则输出。
进一步的,所述调度输出条件是所有计算服务器的第i个梯度数据包已经到达,或者所有计算服务器的第i个梯度数据包到达数量达到设定阈值,其中i是自然数。
一种基于所述的梯度汇聚方法的模型训练方法,包括如下步骤:
步骤1.智能交换机收集计算服务器的信息作为调度的依据;
步骤2.每个智能交换机对搜集到的信息汇总后,相互发送给其他智能交换机或提交给中心控制节点,作为后续优先级排序的依据;
步骤3.中心控制节点或智能交换机内部协商确定梯度调度策略;
步骤4.各计算服务器开始训练模型,将各自的计算产生的梯度数据g_block(i)顺序发送给的与之直接相连的智能交换机;
步骤5.智能交换机接收不同计算服务器产生的梯度数据g_block(i)并进行汇聚计算,并统计判断当前缓存的汇聚结果;
步骤6.根据统计结果和计时判断当前是否有汇聚结果发送给目的智能交换机;
步骤7.各智能交换机收集来自其他智能交换机的汇聚结果,将结果存至数据缓存器,数据块信息表记录相关信息,将结果与本地结果汇聚;
步骤8.若汇聚结果满足调度输出条件,智能交换机将汇聚结果返回给各自的计算服务器;
步骤9. 计算服务器接收汇聚结果,计算并更新权值,进行下一轮迭代;若迭代完成,则结束模型训练。
进一步的,所述步骤2中若所有智能交换机网络性能和计算性能相同,按照逆时针方向排序。
进一步的,所述步骤3中梯度调度策略生成包括如下步骤:
步骤一,根据当前网络结构,提取全局的智能交换机连接关系G;
步骤二,对所有智能交换机按照网络性能和计算性能确定排序规则;
步骤三,对网络中的每一个智能交换机,记作根节点r(i),并构成根节点集合R{r(0),…r(N-1)};
步骤四,从根节点集合R{r(0),…r(N-1)}中,顺序取出一个未处理节点p,构建以节点p为根的梯度汇聚网络T(p),并在根节点集合R中标记节点p为已处理;从连接关系G中提取所有智能交换机集合为S,若所有交换机节点都处理过,则进入步骤九;
步骤五,在连接关系G中找到与当前处理节点p相连,且S中没有被处理的节点c,并根据步骤二排序规则确定的优先级排序,获得节点集合序列Q(c);若没有节点c,Q(c)为空,则进步骤八;
步骤六,从节点集合序列Q(c)中取优先级最高的节点c;将节点c加入节点p的梯度汇聚网络T(p)中,并在节点c的调度表中记录该调度策略;在节点集合序列Q(c)和S中标记该节点c已处理,在队列Q_next中增加节点c;
步骤七,判断节点集合序列Q(c)中节点是否都已经与节点p相连,若不是,进入步骤六;若是,进入步骤八;
步骤八,在队列Q_next中顺序选取节点c作为新的p节点,队列Q_next中删除被选中节点c,进入步骤五;若所有节点都处理过,则进入步骤四;
步骤九,根据上述步骤所得到的连接方式的梯度汇聚网络集合{T(p)},自底向上搜索梯度汇聚网络集合{T(p)}中完全相同的连接关系;对任意节点,若调度策略中包含多条相同的调度策略,则合并成一条调度策略;当所有连接关系都搜索完成,进入步骤十;
步骤十,根据调度策略启动模型训练。
本发明利用智能交换机进行计算节点梯度汇聚任务调度和模型训练。智能交换机不仅包含正常的网络交换功能,还能对梯度数据包进行解析,抽取包内数据并进行计算,并将结果重新组包发送给相关计算服务器,提供更为高效的数据交换服务。智能交换机将多台计算服务器连接起来组成训练网络,共同完成神经网络模型训练任务。本发明实现分布式机器学习训练,可优化梯度汇聚时间,减少梯度交换流量,加速大模型训练。
附图说明
图1是现有技术中环形架构网络拓扑架构图;
图2是现有技术中利用参数服务器的架构图;
图3是现有技术中2D-环状结构示意图;
图4是智能交换机结构示意图;
图5是梯度调度表的数据结构图;
图6是数据块信息表的结构示意图;
图7是本发明的分布式机器学习梯度汇聚方法流程图;
图8是本发明的分布式机器学习梯度汇聚装置实施例示意图;
图9是智能交换机间连接关系示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
本发明的分布式机器学习梯度汇聚装置,利用智能交换机100和计算服务器来实现。
如图4所示,智能交换机100主要包括:输入模块101,用于接收梯度数据包;解析模块102,用于对输入模块101接收的梯度数据包类型等信息解析和提取;梯度汇聚计算模块103,用于完成梯度汇聚计算;梯度调度器106,包括梯度调度表104和数据块信息表105,用于根据输入的数据包信息执行相应的调度策略;其中,梯度调度表104,用于存放节点的调度策略表;数据块信息表105,用于存放当前节点内数据块的信息;数据缓存器107,用于缓存来自梯度汇聚计算模块103的梯度数据;输出模块108,用于输出来自数据缓存器107的数据包;计时器109,用于为梯度调度器106提供处理梯度数据包的时间。
如图5所示,梯度调度表104的数据结构包括:模型ID值301,梯度汇聚子网络ID302,梯度汇聚目的节点303,梯度汇聚源节点集合304,梯度汇聚操作类型305。
如图6所示,数据块信息表105存放的信息包括:数据块在数据缓存器107的具体地址,时间戳,计算节点统计等信息。
如图7所示,本发明的分布式机器学习梯度汇聚方法,包括如下步骤:计算服务器计算生成梯度数据,当数据包输入智能交换机100后,智能交换机100的解析模块102会对梯度数据包进行解析:
若是来自计算服务器(worker)的梯度数据包,则梯度汇聚计算模块103进行梯度汇聚计算,并将汇聚结果存在数据缓存器107,同时判断当前汇聚结果是否满足调度输出条件;若满足调度输出条件,则根据梯度调度表104中的调度策略表进行输出;若不满足调度输出条件,则继续缓存在数据缓存器107等待条件满足;调度输出条件是所有计算服务器(worker)的第i个梯度数据包已经到达,或者所有计算服务器(worker)的第i个梯度数据包到达数量达到设定阈值,其中i是自然数。
若不是来自计算服务器(worker)的梯度数据包,则判断:
若是来自相邻智能交换机的梯度数据包,则根据梯度调度表104的调度策略表进行梯度汇聚计算和输出,并将结果发送给目的交换机或计算服务器;
若是普通数据包,按普通路由规则输出。
基于本发明的分布式机器学习梯度汇聚方法的模型训练方法,包括如下步骤:
步骤1.每个智能交换机各自管理一群计算服务器(worker),智能交换机收集计算服务器的信息(计算能力,网络延时等)作为调度的依据;
步骤2.每个智能交换机对搜集到的信息汇总后,相互发送给其他智能交换机或提交给中心控制节点,作为后续优先级排序的依据;
步骤3.中心控制节点或智能交换机内部协商进行确定梯度调度策略;
步骤4.各计算服务器(worker j)开始训练模型,将各自的计算产生的梯度数据g_block(i)顺序发送给的与之直接相连的智能交换机;
步骤5.智能交换机接收不同计算服务器产生的梯度数据g_block(i)并进行汇聚计算,并统计判断当前缓存的汇聚结果;
步骤6.智能交换机的梯度调度器106根据统计结果和计时判断当前是否有汇聚结果发送给目的智能交换机;
步骤7.各智能交换机收集来自其他智能交换机的汇聚结果,将结果存至数据缓存器,数据块信息表记录相关信息,并与本地结果汇聚;
步骤8.若汇聚结果满足条件,智能交换机将汇聚结果返回给各自的计算服务器;
步骤9. 计算服务器接收汇聚结果,计算并更新权值,进行下一轮迭代;若迭代完成,则结束模型训练。
根据智能交换机以及与之相连计算服务器(worker)的通信能力和计算能力,有下列梯度调度策略生成方法,对于分布式训练集群,智能交换机节点总数为N。
步骤一,根据当前网络结构,提取全局的智能交换机连接关系G;
步骤二,对所有智能交换机按照网络性能和计算性能确定排序规则,性能低的优先级低,性能高的优先级高,若性能相同,则按照一定的位置关系设置优先级,并统一编号(例如按自定义规则,全顺/逆时针方向、先Y方向,后X方向、先下后上,先左后右等顺序排序);
步骤三,对网络中的每一个智能交换机,记作根节点r(i),并构成根节点集合R{r(0),…r(N-1)};
步骤四,从根节点集合R{r(0),…r(N-1)}中,顺序取出一个未处理节点p,构建以节点p为根的梯度汇聚网络T(p),并在根节点集合R中标记p为已处理;从连接关系G中提取所有智能交换机集合为S,若所有交换机节点都处理过,则进入步骤九;
步骤五,在连接关系G中找到与当前处理节点p相连,且S中没有被处理的节点c,并根据步骤二的排序规则确定优先级排序,获得节点集合序列Q(c);若没有节点c,Q(c)为空,则进步骤八;
步骤六,从节点集合序列Q(c)中取优先级最高的节点c;将节点c加入节点p的梯度汇聚网络T(p)中,并在节点c的调度表中记录该调度策略,包括所属训练网络ID,目的节点地址,源节点地址,操作类型等;在Q(c)和S中标记该节点c已处理,在队列Q_next中增加节点c(优先级为先加入的节点优先级高);
步骤七,判断Q(c)中节点是否都已经与p相连,若不是,进入步骤六;若是,进入步骤八;
步骤八,在队列Q_next中顺序选取节点c作为新的p节点,队列Q_next中删除被选中节点c,进入步骤五;若所有节点都处理过,则进入步骤四;
步骤九,根据上述步骤所得到的连接方式的梯度汇聚网络集合{T(p)},自底向上搜索集合中完全相同的连接关系;对任意节点,若调度策略中包含多条相同的调度策略,则合并成一条调度策略;当所有连接关系都搜索完成,进入步骤十;
步骤十,根据调度策略启动模型训练。
通过上述方式获得每个智能交换机的梯度汇聚调度策略。
实施例。
以4个智能交换机为例,基于本发明的分布式机器学习梯度汇聚方法的模型训练方法,包括如下步骤:
如图8所示,100_0, 100_1,100_2,100_3为4个智能交换机,计算服务器201_00~201_0n与智能交换机100_0相连;计算服务器201_10~201_1n与智能交换机100_1相连;计算服务器201_20~201_2n与智能交换机100_2相连;计算服务器201_30~201_3n与智能交换机100_3相连。
1.智能交换机100_0,100_1,100_2,100_3搜集各自区域内的计算服务器信息并汇总;
2.假设目前所有智能交换机网络性能和计算性能相同,优先级按照逆时针方向排序;
3.中心控制节点或智能交换机内部协商进行确定梯度调度策略:
3.1当前智能交换机总数为4,智能交换机间连接关系G如图9所示;
3.2对智能交换机节点按网络和计算性能以及位置信息排序,假设当前节点性能相同;
3.3对网络中的每一个智能交换机节点,记作根节点r(i),并构成根节点集合R{r(100_1), r(100_2), r(100_3), r(100_4)};
3.4从根节点集合R中,顺序取出一个未处理节点100_0,构建以100_0为根的梯度汇聚网络T(100_0),并在R中标记100_0为已处理;从连接关系G中提取所有智能交换机集合为S{};
3.5在连接关系G中找到与当前处理节点100_0相连,且S{}中没有被处理的节点(100_1, 100_2),假设按照先纵向后横向的顺序排序,获得节点集合序列Q(100_2, 100_1);
3.6从序列Q(100_2,100_1)中取优先级最高的节点100_2;将100_2加入100_0的网络T(100_0)中;在Q(100_2,100_1)和S{}中标记100_2已处理,在队列Q_next中增加节点100_2,Q_next(100_2);
3.7判断Q(100_2,100_1)中仍然有100_1没有处理,继续处理100_1;
3.8从序列Q(100_2,100_1)中取100_1;将100_1加入100_0的网络T(100_0)中;在Q(100_2,100_1)和S{}中标记100_1已处理,在Q_next队列中增加节点100_1,Q_next(100_2,100_1);
3.9判断当前序列Q已经处理完毕,在Q_next(100_2,100_1)中顺序选取100_2作为新的p节点,同时Q_next(100_2,100_1)中删除被选中节点100_2,变为Q_next(100_1),进行新节点处理;
3.10在连接关系G中找到与当前处理节点100_2相连,且S{}中没有被处理的节点100_3,并根据步骤2确定的优先级排序,获得节点集合序列Q(100_3);
3.11从序列Q(100_3)中取优先级最高的节点100_3;将100_3加入100_2的网络T(100_2)中;在Q(100_3)和S{}中标记该节点100_3已处理,在Q_next队列中增加节点100_3,Q_next(100_1,100_3);
3.12、当前Q(100_3)中节点都已处理,依次Q_next(100_1,100_3)中的节点都没有其他节点可以连接,且S{}中所有节点都标记为已经处理过,则可以根据当前T(100_0)的连接关系(T(100_2)为它的子网络),在各节点c的调度表中记录各自的调度策略,包括所属训练网络ID,目的节点地址,源节点地址,操作类型等;
3.13采用相同的方法从根节点集合R中,顺序取出一个未处理节点100_1、100_2、100_3进行处理;
3.14、对各调度策略进行搜索优化,如果调度策略中包含多条相同的调度策略,则进行合并;
4.各计算服务器(worker j)开始训练模型,将各自的计算产生的梯度数据g_block(0),g_block(1)…,g_block(n)顺序发送给的与之直接相连的智能交换机;例如计算服务器201_00和201_01各自产生了第0块梯度数据发送给智能交换机100_0;计算服务器201_10和201_11各自产生了第0块梯度数据发送给智能交换机100_1;计算服务器201_20和201_21各自产生了第0块梯度数据发送给智能交换机100_2;计算服务器201_30和201_31各自产生了第0块梯度数据发送给智能交换机100_3;
5.智能交换机接收梯度数据(g_block(i) )并进行汇聚计算,并统计判断当前缓存的汇聚结果,例如各智能交换机对第0块数据汇聚后分别产生了g0_100_0, g0_100_1,g0_100_2, g0_100_3的梯度汇聚结果,存在缓存中;
6.智能交换机调度器根据统计结果和计时判断当前是否有合适的汇聚结果发送给目的智能交换机,假设当前满足发送条件,则根据各自的调度策略,对于智能交换机100_0而言,有g0_100_1发送至智能交换机100_0;g0_100_3发送至智能交换机100_2;智能交换机100_2收到g0_100_3后与自身的g0_100_2汇聚得g0_100_23 发送至智能交换机100_0;
对于其他几个计算服务器也有类似处理。
7.根据调度策略,各智能交换机收集来自其他智能交换机的汇聚结果,将结果与本地结果汇聚或转发;
8.如果汇聚结果满足条件,智能交换机将汇聚结果返回给各自的计算服务器;例如智能交换机100_0接收到g0_100_1和g0_100_23后 和自身g0_100_0汇聚得 g0_100_0_agg,发送至智能交换机100_0的各个计算服务器;
9.计算服务器接收汇聚结果,计算并更新权值,进行下一轮迭代;如果迭代完成,则结束模型训练。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。

Claims (8)

1.一种分布式机器学习梯度汇聚装置,包括智能交换机(100)和计算服务器,其特征在于:所述智能交换机(100)包括:
输入模块(101),用于接收数据包;解析模块(102),用于对输入模块(101)接收的梯度数据包类型解析和提取;梯度汇聚计算模块(103),用于完成梯度汇聚计算;梯度调度器(106),包括梯度调度表(104)和数据块信息表(105),用于根据输入的梯度数据包信息执行调度策略,其中,梯度调度表(104),用于存放节点的调度策略表;数据块信息表(105),用于存放当前节点内数据块的信息;数据缓存器(107),用于缓存来自梯度汇聚计算模块(103)的梯度数据;输出模块(108),用于输出来自数据缓存器(107)的数据包;计时器(109),用于为梯度调度器(106)提供处理梯度数据包的时间。
2.根据权利要求1所述的分布式机器学习梯度汇聚装置,其特征在:所述梯度调度表(104)的数据结构包括:模型ID值(301)、梯度汇聚子网络ID(302),梯度汇聚目的节点(303),梯度汇聚源节点集合(304)和梯度汇聚操作类型(305)。
3.根据权利要求1所述的分布式机器学习梯度汇聚装置,其特征在:所述数据块信息表(105)存放的信息包括:数据块在数据缓存器(107)的具体地址、时间戳和计算节点统计信息。
4.一种基于权利要求1-3之一所述的分布式机器学习梯度汇聚装置的梯度汇聚方法,包括如下步骤:
计算服务器计算生成梯度数据,当梯度数据包输入智能交换机(100)后,解析模块(102)对数据包进行解析:
若是来自计算服务器的梯度数据包,则梯度汇聚计算模块(103)进行梯度汇聚计算,并将汇聚结果存在数据缓存器(107),同时判断当前汇聚结果是否满足调度输出条件;若满足调度输出条件,则根据梯度调度表(104)中的调度策略表进行输出;若不满足调度输出条件,则继续缓存在数据缓存器(107)等待条件满足;
若不是来自计算服务器的梯度数据包,则判断:
若是来自相邻智能交换机的梯度数据包,则,根据梯度调度表(104)的调度策略表进行梯度汇聚计算和输出,并将结果发送给目的交换机或计算服务器;
若是普通数据包,按普通路由规则输出。
5.根据权利要求4所述的梯度汇聚方法,其特征在于:
所述调度输出条件是所有计算服务器的第i个梯度数据包已经到达,或者所有计算服务器的第i个梯度数据包到达数量达到设定阈值,其中i是自然数。
6.一种基于权利要求5所述的梯度汇聚方法的模型训练方法,包括如下步骤:
步骤1.智能交换机收集计算服务器的信息作为调度的依据;
步骤2.每个智能交换机对搜集到的信息汇总后,相互发送给其他智能交换机或提交给中心控制节点,作为后续优先级排序的依据;
步骤3.中心控制节点或智能交换机内部协商确定梯度调度策略;
步骤4.各计算服务器开始训练模型,将各自的计算产生的梯度数据g_block(i)顺序发送给的与之直接相连的智能交换机;
步骤5.智能交换机接收不同计算服务器产生的梯度数据g_block(i)并进行汇聚计算,并统计判断当前缓存的汇聚结果;
步骤6.根据统计结果和计时判断当前是否有汇聚结果发送给目的智能交换机;
步骤7.各智能交换机收集来自其他智能交换机的汇聚结果,将结果存至数据缓存器,数据块信息表记录相关信息,将结果与本地结果汇聚;
步骤8.若汇聚结果满足调度输出条件,智能交换机将汇聚结果返回给各自的计算服务器;
步骤9. 计算服务器接收汇聚结果,计算并更新权值,进行下一轮迭代;若迭代完成,则结束模型训练。
7.根据权利要求6所述的模型训练方法,其特征在于:
所述步骤2中若所有智能交换机网络性能和计算性能相同,按照逆时针方向排序。
8.根据权利要求6所述的模型训练方法,其特征在于:
所述步骤3中梯度调度策略生成包括如下步骤:
步骤一,根据当前网络结构,提取全局的智能交换机连接关系G;
步骤二,对所有智能交换机按照网络性能和计算性能确定排序规则;
步骤三,对网络中的每一个智能交换机,记作根节点r(i),并构成根节点集合R{r(0),…r(N-1)},N为智能交换机节点总数;
步骤四,从根节点集合R{r(0),…r(N-1)}中,顺序取出一个未处理节点p,构建以节点p为根的梯度汇聚网络T(p),并在根节点集合R中标记节点p为已处理;从连接关系G中提取所有智能交换机集合为S{0,1,…N-1},若所有交换机节点都处理过,则进入步骤九;
步骤五,在连接关系G中找到与当前处理节点p相连,且S中没有被处理的节点c,并根据步骤二的排序规则确定优先级排序,获得节点集合序列Q(c);若没有节点c,Q(c)为空,则进步骤八;
步骤六,从节点集合序列Q(c)中取优先级最高的节点c;将节点c加入节点p的梯度汇聚网络T(p)中,并在节点c的调度表中记录该调度策略;在节点集合序列Q(c)和S中标记该节点c已处理,在队列Q_next中增加节点c;
步骤七,判断节点集合序列Q(c)中节点是否都已经与节点p相连,若不是,进入步骤六;若是,进入步骤八;
步骤八,在队列Q_next中顺序选取节点c作为新的p节点,队列Q_next中删除被选中节点c,进入步骤五;若所有节点都处理过,则进入步骤四;
步骤九,根据上述步骤所得到的连接方式的梯度汇聚网络集合{T(p)},自底向上搜索梯度汇聚网络集合{T(p)}中完全相同的连接关系;对任意节点,若调度策略中包含多条相同的调度策略,则合并成一条调度策略;当所有连接关系都搜索完成,进入步骤十;
步骤十,根据调度策略启动模型训练。
CN202210981014.0A 2022-08-16 2022-08-16 一种分布式机器学习梯度汇聚方法、装置及模型训练方法 Active CN115062771B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210981014.0A CN115062771B (zh) 2022-08-16 2022-08-16 一种分布式机器学习梯度汇聚方法、装置及模型训练方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210981014.0A CN115062771B (zh) 2022-08-16 2022-08-16 一种分布式机器学习梯度汇聚方法、装置及模型训练方法

Publications (2)

Publication Number Publication Date
CN115062771A true CN115062771A (zh) 2022-09-16
CN115062771B CN115062771B (zh) 2022-11-25

Family

ID=83207748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210981014.0A Active CN115062771B (zh) 2022-08-16 2022-08-16 一种分布式机器学习梯度汇聚方法、装置及模型训练方法

Country Status (1)

Country Link
CN (1) CN115062771B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768876A (zh) * 2018-06-05 2018-11-06 清华大学深圳研究生院 一种面向机器学习框架的流量调度方法
US20190303787A1 (en) * 2018-03-28 2019-10-03 International Business Machines Corporation Adaptive learning rate schedule in distributed stochastic gradient descent
CN112862111A (zh) * 2021-04-26 2021-05-28 之江实验室 一种加速分布式机器学习梯度汇聚的方法和装置
WO2021115082A1 (zh) * 2019-12-09 2021-06-17 华为技术有限公司 作业调度方法以及作业调度装置
US20210194831A1 (en) * 2019-12-20 2021-06-24 Board Of Trustees Of The University Of Illinois Accelerating distributed reinforcement learning with in-switch computing
US11328222B1 (en) * 2019-05-10 2022-05-10 Innovium, Inc. Network switch with integrated gradient aggregation for distributed machine learning
CN114900482A (zh) * 2022-03-28 2022-08-12 中国科学技术大学苏州高等研究院 Ps架构下基于可编程交换机的梯度调度方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190303787A1 (en) * 2018-03-28 2019-10-03 International Business Machines Corporation Adaptive learning rate schedule in distributed stochastic gradient descent
CN108768876A (zh) * 2018-06-05 2018-11-06 清华大学深圳研究生院 一种面向机器学习框架的流量调度方法
US11328222B1 (en) * 2019-05-10 2022-05-10 Innovium, Inc. Network switch with integrated gradient aggregation for distributed machine learning
WO2021115082A1 (zh) * 2019-12-09 2021-06-17 华为技术有限公司 作业调度方法以及作业调度装置
US20210194831A1 (en) * 2019-12-20 2021-06-24 Board Of Trustees Of The University Of Illinois Accelerating distributed reinforcement learning with in-switch computing
CN112862111A (zh) * 2021-04-26 2021-05-28 之江实验室 一种加速分布式机器学习梯度汇聚的方法和装置
CN114900482A (zh) * 2022-03-28 2022-08-12 中国科学技术大学苏州高等研究院 Ps架构下基于可编程交换机的梯度调度方法和装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ERIC P.XING等: "大数据的分布式机器学习的策略与原则", 《ENGINEERING》 *
JEMIN GEORGE: ""Distributed Stochastic Gradient Method for Non-Convex Problems with Applications in Supervised Learning"", 《2019 IEEE 58TH CONFERENCE ON DECISION AND CONTROL (CDC)》 *
YOUJIE LI: ""Accelerating Distributed Reinforcement learning with In-Switch Computing"", 《2019 ACM/IEEE 46TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA)》 *
陆菲菲等: "数据中心网络高效数据汇聚传输算法", 《计算机学报》 *
高策: ""面向机器学习任务的集群调度系统设计与实现"", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 *

Also Published As

Publication number Publication date
CN115062771B (zh) 2022-11-25

Similar Documents

Publication Publication Date Title
WO2023004898A1 (zh) 一种基于路由调度与联合优化的时延确定性传输方法
CN111756634B (zh) 一种基于强化学习的舰载网络性能自优化方法
US11184284B2 (en) Data packet forwarding method and apparatus
CN108768876B (zh) 一种面向机器学习框架的流量调度方法
CN114567598B (zh) 一种基于深度学习和跨域协作的负载均衡方法及装置
CN112862111B (zh) 一种加速分布式机器学习梯度汇聚的方法和装置
CN114760669B (zh) 一种基于流量预测的路由决策方法及系统
CN110086731B (zh) 一种云架构下网络数据稳定采集方法
CN110213175A (zh) 一种面向知识定义网络的智能管控系统及管控方法
CN110191382B (zh) 一种基于路径排序的虚链路优先映射方法
CN101013955A (zh) 用于业务量矩阵估计的快速模拟退火
CN104243348A (zh) 一种数据处理方法和装置
CN115277574A (zh) 一种sdn架构下数据中心网络负载均衡方法
WO2023082431A1 (zh) 一种多口字环形结构下的流量调度方法和系统
CN103281211A (zh) 大规模网络节点分组管理系统及管理方法
CN112995036A (zh) 网络流量的调度方法及装置
CN104954477B (zh) 一种基于并发改进的大规模图数据流式划分方法及系统
CN114500354A (zh) 一种交换机控制方法、装置、控制设备及存储介质
CN115062771B (zh) 一种分布式机器学习梯度汇聚方法、装置及模型训练方法
CN116455824A (zh) 基于强化学习的网络流量负载均衡方法
CN107528731A (zh) 应用于ns3并行仿真的网络分割优化算法
CN112199154A (zh) 一种基于分布式协同采样中心式优化的强化学习训练系统及方法
CN113259263B (zh) 一种深度报文检测集群中的数据包调度方法
CN115913323A (zh) 一种基于时空网格的低轨接入选择方法、存储介质
CN114884893A (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
GR01 Patent grant