(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211156400.2
(22)申请日 2022.09.22
(71)申请人 鹏城实验室
地址 518000 广东省深圳市南 山区兴科一
街2号
(72)发明人 颜达森 张艳 王进 秦爽 王晖
曾炜 余跃
(74)专利代理 机构 深圳市君胜知识产权代理事
务所(普通 合伙) 44268
专利代理师 陈专
(51)Int.Cl.
G06T 1/20(2006.01)
G06N 20/00(2019.01)
(54)发明名称
一种支持异构集群下的模型并行训练方法
及相关设备
(57)摘要
本发明公开了一种支持异构集群下的模型
并行训练方法及相关设备, 所述方法包括: 各个
集群根据自己的框架编写好代码, 然后 在各自的
框架上训练一部分数据, 接着先在集群内部进行
模型拼接, 把模 型并行切分到多张卡的模型参数
合并成一个完整的模型, 不同集群的拼接后得到
的模型是一致的, 然后将拼接完的模 型参数进行
分片传输到参数服务器, 参数服务器对模型参数
进行融合, 接着参数服务器将融合后的模型下发
到各个集群, 最后各个分集群将收到的模型按照
各自的模型并行训练策略进行模型并行切分后
训练; 本发明实现了用户隐私保护、 数据安全、 大
模型并行训练和大模型传输, 能整合不同计算中
心资源, 满足了异构框架, 异构集群共同训练大
模型的需求。
权利要求书2页 说明书7页 附图2页
CN 115471394 A
2022.12.13
CN 115471394 A
1.一种支持异构集群下的模型并行训练方法, 其特征在于, 所述支持异构集群下的模
型并行训练方法包括:
基于参数服务器初始化numpy模型, 将初始化后的numpy模型分别发送到GPU集群和NPU
集群, GPU集群和NPU集群根据各自所使用的训练框架将初始化后的numpy模型加载到真实
训练的模型中, 再对真实训练的模型进行模型并行切分后训练;
GPU集群和NPU集群分别在各自本地训练自定义预设大小的部分数据;
GPU集群和NPU集群根据各自所使用的训练框架和采用的模型并行策略进行模型拼接,
将切分到不同设备的模 型合并成一个完整的模 型, 将完整的模型转换为统一的numpy格式,
使得GPU集群和NPU集群得到的numpy模型一 致;
将numpy模型按照统一的切分方式进行切片后, 传输到参数服务器, 参数服务进行拼接
处理;
参数服务器接收到来自GPU集群和NPU集群的统一格式的numpy模型后, 通过参数平均
的方式对numpy模型进行融合, 得到融合后的numpy模型;
参数服务器将融合后的模型分片分发到各个训练集群, 各个训练集群根据所使用的训
练框架和模 型并行策略对完整的numpy模 型进行切分, 切分后的模型分配到不同的设备上,
并进行训练。
2.根据权利要求1所述的支持异构集群下的模型并行训练方法, 其特征在于, 所述GPU
集群和NPU集群根据各自所使用的训练框架将初始化后的numpy模型加载到真实训练的模
型中, 再对真实训练的模型进行模型并行切分后训练, 具体包括:
若NPU集群使用的训练框架为基于Mindspore的训练框架, 则NPU集群对真实训练的模
型采用横向切分策略进行横向切分;
若GPU集群使用的训练框架为基于Pytorch 的训练框架, 则GPU集群真实训练的模型采
用纵向切分策略进行纵向切分。
3.根据权利要求2所述的支持异构集群下的模型并行训练方法, 其特征在于, 所述横向
切分包括:
横向切分时, 若权重矩 阵为Wnxn, 则进行横向4路切分, 切分后的矩 阵为Wbxn, Wbxn, Wbxn,
Wbxn, 其中, b= n/4;
所述纵向切分包括:
纵向切分时, 若权重矩 阵为Wnxn, 则进行纵向4路切分, 切分后的矩 阵为Wnxb, Wnxb, Wnxb,
Wnxb, 其中, b= n/4。
4.根据权利要求1所述的支持异构集群下的模型并行训练方法, 其特征在于, 所述将完
整的模型转换为统一的numpy格式, 具体为:
每个训练框架提供接口, 将完整的模型通过接口转换为统一的numpy格式。
5.根据权利要求1所述的支持异构集群下的模型并行训练方法, 其特征在于, 所述参数
服务器接收到来自GPU集群和NPU集群的统一格式的numpy模型后, 通过参数平均的方式对
numpy模型进行融合, 得到融合后的numpy模型, 具体包括:
若GPU集群的模型参数的格式为[W1, W2, W3, …, Wn], NPU集群的模型参数的格式为[ K1,
K2, K3,…, Kn], 则融合后的模型参数为: [M1, M2, M 3,…, Mn]; 其中, W n, Kn, Mn是权 重数组;
其中, 参数平均融合: Mi =(Wi+Ki)/2。权 利 要 求 书 1/2 页
2
CN 115471394 A
26.根据权利要求1所述的支持异构集群下的模型并行训练方法, 其特征在于, 所述参数
服务器将融合后的模型分片分发到各个训练集群, 各个训练集群根据所使用的训练框架和
模型并行策略对完整的numpy模 型进行切分, 切分后的模型分配到不同的设备上, 并进 行训
练, 之后还 包括:
分配到不同的设备上的模型进行训练后, 判断模型是否收敛, 当模型达到任一预设的
收敛条件时, 停止模型训练。
7.根据权利要求1所述的支持异构集群下的模型并行训练方法, 其特征在于, 所述收敛
条件包括:
损失值小于某个预 先设定的阈值;
两次迭代之间权值的变化小于预设值;
设定最大迭代次数, 当迭代次数超过最大迭代次数。
8.根据权利要求1所述的支持异构集群下的模型并行训练方法, 其特征在于, 所述
numpy模型本质上为数组。
9.根据权利要求1所述的支持异构集群下的模型并行训练方法, 其特征在于, 将集群 内
训练的代码拓展成为云际协同训练。
10.根据权利要求1所述的支持异构集群下的模型并行训练方法, 其特征在于, 所述GPU
集群和所述 NPU集群采用的深度学习框架不同。
11.根据权利要求10所述的支持异构集群下的模型并行训练方法, 其特征在于, 所述支
持异构集群下的模型并行训练方法支持多卡进行模型并行训练。
12.一种支持异构集群下的模型并行训练系统, 其特征在于, 所述支持异构集群下的模
型并行训练系统包括: 参数服务器、 GPU集群和NPU集群, 参数服务器 分别与GPU集群和NPU集
群通信连接;
参数服务器初始化numpy模型, 将初始化后的numpy模型分别发送到GPU集群和NPU集
群, GPU集群和NPU集群根据各自所使用的训练框架将初始化后的numpy模型加载到真实训
练的模型中, 再对真实训练的模型进行模型并行切分后训练;
GPU集群和NPU集群分别在各自本地训练自定义预设大小的部分数据;
GPU集群和NPU集群根据各自所使用的训练框架和采用的模型并行策略进行模型拼接,
将切分到不同设备的模 型合并成一个完整的模 型, 将完整的模型转换为统一的numpy格式,
使得GPU集群和NPU集群得到的numpy模型一 致;
将numpy模型按照统一的切分方式进行切片后, 传输到参数服务器, 参数服务进行拼接
处理;
参数服务器接收到来自GPU集群和NPU集群的统一格式的numpy模型后, 通过参数平均
的方式对numpy模型进行融合, 得到融合后的numpy模型;
参数服务器将融合后的模型分片分发到各个训练集群, 各个训练集群根据所使用的训
练框架和模 型并行策略对完整的numpy模 型进行切分, 切分后的模型分配到不同的设备上,
并进行训练。
13.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质存储有支持异构
集群下的模型并行训练程序, 所述支持异构集群下的模型并行训练程序被处理器执行时实
现如权利要求1 ‑11任一项所述的支持异构集群下的模型并行训练方法的步骤。权 利 要 求 书 2/2 页
3
CN 115471394 A
3
专利 一种支持异构集群下的模型并行训练方法及相关设备
文档预览
中文文档
12 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 12:10:57上传分享