(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211237416.6
(22)申请日 2022.10.11
(71)申请人 山东海量信息技 术研究院
地址 250000 山东省济南市济南高新 技术
开发区国家信息通信国际创新园
(72)发明人 曹芳 郭振华 王丽 高开
赵雅倩 李仁刚
(74)专利代理 机构 北京集佳知识产权代理有限
公司 11227
专利代理师 任洁芳
(51)Int.Cl.
G06F 9/445(2018.01)
G06K 9/62(2022.01)
H04L 41/122(2022.01)
H04L 67/1095(2022.01)
(54)发明名称
神经网络训练的调度方法、 系统及计算机可
读存储介质
(57)摘要
本发明提供一种神经网络训练的调度方法、
系统及计算机可读存储介质, 涉及神经网络领
域, 可首先为参与神经网络模型的所有进程构造
平衡树, 并为平 衡树中除叶子节 点以外的节点配
置控制器, 其中进程与平衡树中的节点一一对
应, 根节点的控制器为总控制器, 其他节点的控
制器为辅助控制器; 随后, 辅助控制器可收集来
自自身所属节点的进程及自身所属节点的子节
点的算子启动请求, 并层层向上反馈自身所属节
点的进程及自身所属节点所有子节点的进程或
控制器均已发送的目标请求, 以减少进程与总控
制器之间的直接通信量; 此外, 总控制器也可通
过辅助控制器层层向下发送响应信息, 以减少总
控制器直接向进程下发响应信息的数量, 进而可
提升梯度数据同步 性能。
权利要求书3页 说明书14页 附图3页
CN 115328579 A
2022.11.11
CN 115328579 A
1.一种神经网络训练的调度方法, 其特 征在于, 包括:
主机设备为参与神经网络训练 的所有进程构造平衡树, 并为所述平衡树中除叶子节点
以外的节点配置控制器; 所述进程与所述平衡树中的节点一一对应, 根节点的控制器为总
控制器, 其 他节点的控制器为辅助控制器;
所述控制器接收来自自身所属节点的进程及来自自身所属节点的子节点的算子启动
请求;
所述辅助控制器在发现目标请求 时, 将所述目标请求发送至自身所属 节点的父节点对
应的控制器; 所述目标请求为所述控制器自身 所属节点的进程及自身 所属节点的所有子节
点对应的进程或控制器均已发送的算子启动请求;
所述总控制器在发现所述目标请求 时, 通过所述辅助控制器将所述目标请求对应的响
应信息下发至所有所述进程, 以使各 所述进程启动所述响应信息对应的集 合通信算子 。
2.根据权利要求1所述的调度方法, 其特征在于, 所述平衡树的高度小于等于预设高
度, 且所述平衡树中的每一节点对应的子节点数量均小于等于预设值。
3.根据权利要求1所述的调度方法, 其特征在于, 所述主机设备为参与神经网络训练 的
所有进程构造平衡树, 包括:
所述主机设备确定参与神经网络训练的所有 进程所形成的物理拓扑图;
基于所述物理拓扑图构造所述平衡树, 以使所述平衡树中相邻的节点对应的进程在所
述物理拓扑图中的距离小于预设距离 。
4.根据权利要求1所述的调度方法, 其特征在于, 所述通过所述辅助控制器将所述目标
请求对应的响应信息下发至所有所述进程, 包括:
所述总控制器将所述响应信息发送至自身所属节点的进程及自身所属节点所有子节
点的进程;
所述辅助控制器在检测到发送至自身所属 节点的进程的响应信 息时, 将所述响应信 息
转发至自身所属节点所有子节点的进程。
5.根据权利要求1至4任一项所述的调度方法, 其特征在于, 在通过所述辅助控制器将
所述目标请求对应的响应信息下发至所有所述进程之后, 还 包括:
所述总控制器在确定神经网络正在执行首轮迭代训练时, 依照响应次序将所述响应信
息对应的集 合通信算子信息保存至算子顺序收集表;
设置于所述根节点的算子顺序收集器在确定所述神经网络完成首轮迭代训练时, 通过
所有所述控制器将所述算子顺序收集表下发至所有所述进程, 以使各所述进程在对所述神
经网络执行其他轮迭代训练 时, 利用所述算子顺序收集表确定启动所述集合通信算子的时
机。
6.根据权利要求5所述的调度方法, 其特征在于, 在所述总 控制器确定神经网络正在执
行首轮迭代训练之前, 还 包括:
所述主机设备预设专用接口及全局变量, 并在启动神经网络训练时, 通过所述专用接
口将所述神经网络的当前训练轮次写入所述全局变量;
相应的, 所述总控制器确定所述神经网络是否正在执 行首轮迭代训练, 包括:
所述总控制器在确定所述全局变量的值为1时, 确定所述神经网络正在执行首轮迭代
训练;权 利 要 求 书 1/3 页
2
CN 115328579 A
2相应的, 所述 算子顺序收集器确定所述神经网络是否 完成首轮迭代训练, 包括:
所述算子顺序收集器在确定所述全局变量的值不为1时, 确定所述神经网络完成首轮
迭代训练。
7.根据权利要求5所述的调度方法, 其特征在于, 所述各所述进程在对所述神经网络执
行其他轮迭代训练时, 利用所述 算子顺序收集表确定启动所述 集合通信算子的时机, 包括:
所述进程在执行其他轮迭代训练的过程中, 在生成所述算子启动请求 时, 获取位向量;
所述位向量的长度与所述算子顺序收集表中集合通信算子信息的总数量相同, 且所述位向
量中每一比特位的初值均为0;
根据本地的算子启动请求对应的集合通信算子在所述算子顺序收集表中的位置, 将所
述位向量中对应的比特位设置为1, 得到待归并位向量;
根据所有所述进程的待归并位向量确定所有所述进程均已准备启 动的目标集合通信
算子, 并启动所述目标集 合通信算子 。
8.根据权利要求7所述的调度方法, 其特征在于, 所述根据 所有所述进程的待归 并位向
量确定所有所述进程均已准备启动的目标集 合通信算子, 包括:
所述进程与其他所述进程一同对所有所述进程的待归 并位向量进行与处理, 得到全局
位向量;
根据所述全局位向量中已设置为1的比特位, 在所述算子顺序收集表中查询对应的目
标集合通信算子 。
9.根据权利要求8所述的调度方法, 其特征在于, 所述进程与其他所述进程一同对所有
所述进程的待归并位向量进行与处 理, 得到全局位向量, 包括:
所述进程与其他所述进程一同执行Allreduce操作, 以通过所述Allreduce操作对所有
所述进程 生成的待归并位向量进行与处 理, 得到所述全局位向量。
10.根据权利要求9所述的调度方法, 其特征在于, 所述进程与其他所述进程一同执行
Allreduce操作, 包括:
所述进程在指定 拓扑结构中与其 他所述进程 一同执行所述Allreduce操作。
11.根据权利要求10所述的调度方法, 其特征在于, 在所述进程在指定拓扑结构中与其
他所述进程 一同执行所述Allreduce操作之前, 还 包括:
所述主机设备确定所有所述进程形成的物 理拓扑图, 并判断所述物理拓扑图中是否存
在环状结构;
若存在, 则为所有所述进程构建Ring虚拟拓扑, 并将所述Ring虚拟拓扑部署至所有进
程;
相应的, 所述进程在指定拓扑结构中与 其他所述进程一同执行所述Allreduce操作, 包
括:
所述进程判断是否 部署有所述Ri ng虚拟拓扑;
若是, 则在所述Ri ng虚拟拓扑中与其 他所述进程 一同执行所述Allreduce操作;
若否, 则在所述平衡树中与其 他所述进程 一同执行所述Allreduce操作。
12.根据权利要求7所述的调度方法, 其特征在于, 在生成所述算子启动请求之后, 还包
括:
所述进程将所述 算子启动请求写入请求列表;权 利 要 求 书 2/3 页
3
CN 115328579 A
3
专利 神经网络训练的调度方法、系统及计算机可读存储介质
文档预览
中文文档
21 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共21页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 16:37:28上传分享