CN115310566A - 分布式训练系统、方法、装置、设备及可读存储介质 - Google Patents

分布式训练系统、方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN115310566A
CN115310566A CN202211244078.9A CN202211244078A CN115310566A CN 115310566 A CN115310566 A CN 115310566A CN 202211244078 A CN202211244078 A CN 202211244078A CN 115310566 A CN115310566 A CN 115310566A
Authority
CN
China
Prior art keywords
heterogeneous computing
training
subtasks
model
computing devices
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
CN202211244078.9A
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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202211244078.9A priority Critical patent/CN115310566A/zh
Publication of CN115310566A publication Critical patent/CN115310566A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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

Abstract

本申请适用于计算机技术领域,具体公开了一种分布式训练系统、方法、装置、设备及可读存储介质,通过在主机与异构计算设备之间,以及异构计算设备之间,均基于计算机快速链接协议建立计算机快速链接,由主机将模型训练任务划分为子任务,基于计算机快速链接将子任务的训练数据分配至各异构计算设备执行分布式训练任务,打通了异构计算设备之间的通信延迟屏障,实现了多个异构计算设备之间的内存一致性,显著缩短了数据传输路径,增加了数据传输带宽,降低了异构计算设备之间的数据交互延迟,能够基于不同异构计算设备的特性对训练任务进行针对性处理,对于大规模深度学习模型的训练提供了坚实的硬件基础。

Description

分布式训练系统、方法、装置、设备及可读存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种分布式训练系统、方法、装置、设备及可读存储介质。
背景技术
当今,随着深度学习技术在计算机视觉、自然语言处理等领域的广泛应用,深度学习模型的参数规模呈现空前的扩张趋势,在提高了深度学习模型对数据的拟合能力的同时,涉及到的参数量达到千亿甚至万亿,训练数据也增至TB级别。对如此巨量模型与数据进行训练,在硬件层面单纯依靠中央处理器(Central Processing Unit,CPU)已经远不能满足需求,大量的专用计算设备,如图形处理器(Graphics Processing Unit,GPU)、专用集成电路(Application Specific Integrated Circuit,ASIC)等被运用到模型训练过程中。
而在模型训练过程中,大量的数据需要在计算设备(device)与主机(host)之间进行交互。制约计算设备之间数据交互的主要因素为数据传输延迟与传输速率。以高速串行计算机扩展总线标准(Peripheral Component Interconnect express,PCIe)设备向图形处理器发送数据为例,数据需要发送给使用PCIe接口的图形处理器处理,可能还需要经过PCIe总线附加的非易失性存储器介质NVMe(或NVMem)或其他存储设置。故涉及到的传输路径包括PCIe通道——图形处理器——图形处理器存储(GPU-memory)——图形处理器的数据高速缓冲存储器(Cache),图形处理器的计算单元从数据高速缓冲存储器中获取数据,分配给不同的线程去处理。
可以看到,这种分布式的硬件训练系统存在数据传输路径较长的问题,而数据传输带宽也会受到传输速率最慢的路径制约,进而导致难以接受的数据传输延迟,是限制分布式训练系统发展的瓶颈之一。
发明内容
本申请的目的是提供一种分布式训练系统、方法、装置、设备及可读存储介质,用于解决分布式的硬件训练系统中数据传输路径较长的问题,提高分布式训练系统的数据处理效率。
为解决上述技术问题,本申请提供一种分布式训练系统,包括:主机,多个异构计算设备;
其中,所述主机与所述异构计算设备之间,以及所述异构计算设备之间,均基于计算机快速链接协议建立了计算机快速链接;
所述主机用于将模型训练任务划分为子任务,基于计算机快速链接将所述子任务的训练数据分配至各所述异构计算设备;
所述异构计算设备用于执行被分配的所述子任务,并输出计算结果以更新所述模型训练任务的目标模型的模型参数。
可选的,所述主机将模型训练任务划分为子任务,基于计算机快速链接将所述子任务的训练数据分配至各所述异构计算设备,具体为:
所述主机根据各所述异构计算设备的类型将所述模型训练任务划分为所述子任务,并按照所述异构计算设备的类型分配所述子任务。
可选的,所述主机根据各所述异构计算设备的类型将所述模型训练任务划分为所述子任务,并按照所述异构计算设备的类型分配所述子任务,具体为:
将所述目标模型的全连接层对应的所述子任务分配至图形处理器,将所述目标模型的卷积层对应的所述子任务分配至现场可编程逻辑门阵列设备,将所述目标模型的激活层对应的所述子任务分配至专用集成电路设备和/或处理器分散处理单元设备。
可选的,所述异构计算设备执行被分配的所述子任务,并输出计算结果以更新所述模型训练任务的目标模型的模型参数,具体为:
所述异构计算设备执行被分配的所述子任务,并将得到的计算结果进行Cholesky分解得到的矩阵发送至另一所述异构计算设备或所述主机以更新模型参数。
可选的,所述主机将模型训练任务划分为子任务,基于计算机快速链接将所述子任务的训练数据分配至各所述异构计算设备,具体包括:
所述主机将所述目标模型的初始模型加载至各所述异构计算设备;
所述主机将所述目标模型的训练数据集拆分为多组小批量数据;
所述主机将所述小批量数据分发至各所述异构计算设备;
所述异构计算设备执行被分配的所述子任务,并输出计算结果以更新所述模型训练任务的目标模型的模型参数,具体为:
所述异构计算设备执行所述子任务后输出当前迭代次数对应的训练参数,并将所述训练参数在各所述异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新所述目标模型。
可选的,所述异构计算设备执行所述子任务后输出当前迭代次数对应的训练参数,并将所述训练参数在各所述异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新所述目标模型,具体为:
所述异构计算设备执行所述子任务后并得到当前迭代次数对应的训练参数后,当接收到所述主机在检测到各所述异构计算设备均完成当前迭代次数的计算后发出的全规约命令后,在各所述异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新所述目标模型。
可选的,所述异构计算设备执行所述子任务后输出当前迭代次数对应的训练参数,并将所述训练参数在各所述异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新所述目标模型,具体包括:
在第t次迭代计算中,所述异构计算设备将接收到的小批量数据
Figure 461126DEST_PATH_IMAGE001
输入模型
Figure 109493DEST_PATH_IMAGE002
,根据模型输出值
Figure 232170DEST_PATH_IMAGE003
与数据标签
Figure 395298DEST_PATH_IMAGE004
建立所述目标模型的损失函数
Figure 640335DEST_PATH_IMAGE005
并进行反向传播,计算得到小批量数据
Figure 154493DEST_PATH_IMAGE006
的梯度
Figure 893910DEST_PATH_IMAGE007
所述异构计算设备根据等式
Figure 645965DEST_PATH_IMAGE008
计算得到梯度
Figure 327482DEST_PATH_IMAGE009
的第一历史滑动平均值
Figure 63357DEST_PATH_IMAGE010
所述异构计算设备根据等式
Figure 340886DEST_PATH_IMAGE011
计算得到梯度
Figure 478606DEST_PATH_IMAGE012
与第一历史滑动平均值
Figure 3128DEST_PATH_IMAGE013
的差值
Figure 85354DEST_PATH_IMAGE014
的第二历史滑动平均值
Figure 635415DEST_PATH_IMAGE015
所述异构计算设备根据等式
Figure 424379DEST_PATH_IMAGE016
计算得到第一历史滑动平均值
Figure 57486DEST_PATH_IMAGE017
的偏置校正值
Figure 892587DEST_PATH_IMAGE018
在各所述异构计算设备之间对偏置校正值
Figure 636552DEST_PATH_IMAGE019
执行全规约操作,得到合并后的偏置校正值
Figure 358651DEST_PATH_IMAGE020
所述异构计算设备在第二历史滑动平均值
Figure 428239DEST_PATH_IMAGE021
和在第t-1次迭代计算中求得的较大值
Figure 485056DEST_PATH_IMAGE022
中选择较大值
Figure 95029DEST_PATH_IMAGE023
在各所述异构计算设备之间对较大值
Figure 61848DEST_PATH_IMAGE024
执行全规约操作,得到合并后的第二历史滑动平均值
Figure 912124DEST_PATH_IMAGE025
根据等式
Figure 597183DEST_PATH_IMAGE026
更新所述目标模型的结果参数
Figure 73164DEST_PATH_IMAGE027
其中,
Figure 628910DEST_PATH_IMAGE028
为数据,
Figure 650087DEST_PATH_IMAGE029
Figure 556863DEST_PATH_IMAGE030
为衰减系数,
Figure 836534DEST_PATH_IMAGE031
Figure 512366DEST_PATH_IMAGE032
Figure 891395DEST_PATH_IMAGE033
次方,
Figure 160833DEST_PATH_IMAGE034
Figure 853983DEST_PATH_IMAGE035
Figure 508955DEST_PATH_IMAGE033
次方,
Figure 262148DEST_PATH_IMAGE036
为迭代前进步长,
Figure 753303DEST_PATH_IMAGE037
为第t-1次迭代计算中求得的第一历史滑动平均值,
Figure 250143DEST_PATH_IMAGE038
为第t-1次迭代计算中求得的结果参数。
为解决上述技术问题,本申请还提供一种分布式训练方法,包括:
预先基于计算机快速链接协议搭建主机与异构计算设备之间的计算机快速链接以及各所述异构计算设备之间的计算机快速链接;
将模型训练任务划分为子任务,基于计算机快速链接将所述子任务的训练数据分配至各所述异构计算设备,以使所述异构计算设备执行被分配的所述子任务并输出计算结果以更新所述模型训练任务的目标模型的模型参数。
可选的,所述将模型训练任务划分为子任务,基于计算机快速链接将所述子任务的训练数据分配至各所述异构计算设备,具体为:
根据各所述异构计算设备的类型将所述模型训练任务划分为所述子任务,并按照所述异构计算设备的类型分配所述子任务。
可选的,所述根据各所述异构计算设备的类型将所述模型训练任务划分为所述子任务,并按照所述异构计算设备的类型分配所述子任务,具体为:
将所述目标模型的全连接层对应的所述子任务分配至图形处理器,将所述目标模型的卷积层对应的所述子任务分配至现场可编程逻辑门阵列设备,将所述目标模型的激活层对应的所述子任务分配至专用集成电路设备和/或处理器分散处理单元设备。
可选的,所述异构计算设备执行被分配的所述子任务并输出计算结果以更新所述模型训练任务的目标模型的模型参数,具体为:
所述异构计算设备执行被分配的所述子任务,并将得到的计算结果进行Cholesky分解得到的矩阵发送至另一所述异构计算设备或所述主机以更新模型参数。
可选的,所述将模型训练任务划分为子任务,基于计算机快速链接将所述子任务的训练数据分配至各所述异构计算设备,具体包括:
将所述目标模型的初始模型加载至各所述异构计算设备;
将所述目标模型的训练数据集拆分为多组小批量数据;
将所述小批量数据分发至各所述异构计算设备;
所述异构计算设备执行被分配的所述子任务并输出计算结果以更新所述模型训练任务的目标模型的模型参数,具体为:
所述异构计算设备执行所述子任务后输出当前迭代次数对应的训练参数,并将所述训练参数在各所述异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新所述目标模型。
可选的,所述异构计算设备执行所述子任务后输出当前迭代次数对应的训练参数,并将所述训练参数在各所述异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新所述目标模型,具体为:
所述异构计算设备执行所述子任务后并得到当前迭代次数对应的训练参数后,当接收到所述主机在检测到各所述异构计算设备均完成当前迭代次数的计算后发出的全规约命令后,在各所述异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新所述目标模型。
可选的,所述异构计算设备执行所述子任务后输出当前迭代次数对应的训练参数,并将所述训练参数在各所述异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新所述目标模型,具体包括:
在第t次迭代计算中,所述异构计算设备将接收到的小批量数据
Figure 25201DEST_PATH_IMAGE001
输入模型
Figure 949295DEST_PATH_IMAGE002
,根据模型输出值
Figure 193326DEST_PATH_IMAGE003
与数据标签
Figure 25015DEST_PATH_IMAGE004
建立所述目标模型的损失函数
Figure 529946DEST_PATH_IMAGE005
并进行反向传播,计算得到小批量数据
Figure 749575DEST_PATH_IMAGE006
的梯度
Figure 339956DEST_PATH_IMAGE007
所述异构计算设备根据等式
Figure 788386DEST_PATH_IMAGE008
计算得到梯度
Figure 413402DEST_PATH_IMAGE009
的第一历史滑动平均值
Figure 803933DEST_PATH_IMAGE010
所述异构计算设备根据等式
Figure 881610DEST_PATH_IMAGE011
计算得到梯度
Figure 133731DEST_PATH_IMAGE012
与第一历史滑动平均值
Figure 409991DEST_PATH_IMAGE013
的差值
Figure 846789DEST_PATH_IMAGE014
的第二历史滑动平均值
Figure 536396DEST_PATH_IMAGE015
所述异构计算设备根据等式
Figure 451263DEST_PATH_IMAGE016
计算得到第一历史滑动平均值
Figure 926238DEST_PATH_IMAGE017
的偏置校正值
Figure 533936DEST_PATH_IMAGE018
在各所述异构计算设备之间对偏置校正值
Figure 445261DEST_PATH_IMAGE019
执行全规约操作,得到合并后的偏置校正值
Figure 429397DEST_PATH_IMAGE020
所述异构计算设备在第二历史滑动平均值
Figure 680250DEST_PATH_IMAGE021
和在第t-1次迭代计算中求得的较大值
Figure 334216DEST_PATH_IMAGE022
中选择较大值
Figure 342624DEST_PATH_IMAGE023
在各所述异构计算设备之间对较大值
Figure 989506DEST_PATH_IMAGE024
执行全规约操作,得到合并后的第二历史滑动平均值
Figure 298127DEST_PATH_IMAGE025
根据等式
Figure 122995DEST_PATH_IMAGE026
更新所述目标模型的结果参数
Figure 29816DEST_PATH_IMAGE039
其中,
Figure 559017DEST_PATH_IMAGE028
为数据,
Figure 66353DEST_PATH_IMAGE029
Figure 311390DEST_PATH_IMAGE030
为衰减系数,
Figure 356706DEST_PATH_IMAGE031
Figure 299385DEST_PATH_IMAGE032
Figure 379337DEST_PATH_IMAGE033
次方,
Figure 670641DEST_PATH_IMAGE034
Figure 531149DEST_PATH_IMAGE035
Figure 198891DEST_PATH_IMAGE033
次方,
Figure 415240DEST_PATH_IMAGE036
为迭代前进步长,
Figure 2079DEST_PATH_IMAGE037
为第t-1次迭代计算中求得的第一历史滑动平均值,
Figure 569458DEST_PATH_IMAGE038
为第t-1次迭代计算中求得的结果参数。
为解决上述技术问题,本申请还提供一种分布式训练装置,包括:
部署单元,用于预先基于计算机快速链接协议搭建主机与异构计算设备之间的计算机快速链接以及各所述异构计算设备之间的计算机快速链接;
控制单元,用于将模型训练任务划分为子任务,基于计算机快速链接将所述子任务的训练数据分配至各所述异构计算设备,以使所述异构计算设备执行被分配的所述子任务并输出计算结果以更新所述模型训练任务的目标模型的模型参数。
为解决上述技术问题,本申请还提供一种分布式训练设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,所述计算机程序被所述处理器执行时实现如上述任意一项所述分布式训练方法的步骤。
为解决上述技术问题,本申请还提供一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述任意一项所述分布式训练方法的步骤。
本申请所提供的分布式训练系统,包括主机和多个异构计算设备;其中,主机与异构计算设备之间,以及异构计算设备之间,均基于计算机快速链接协议建立了计算机快速链接;由主机将模型训练任务划分为子任务,基于计算机快速链接将子任务的训练数据分配至各异构计算设备;由异构计算设备执行被分配的子任务,并输出计算结果以更新模型训练任务的目标模型的模型参数。本申请提供的分布式训练系统基于计算机快速链接打通了异构计算设备之间的通信延迟屏障,实现了多个异构计算设备之间的内存一致性,异构计算设备之间的数据传输可以不经过中央处理器进行,而可以直接进行内存读取,从而显著缩短了数据传输路径,增加了数据传输带宽,降低了异构计算设备之间的数据交互延迟,同时能够基于不同异构计算设备的特性对训练任务进行针对性处理,对于大规模深度学习模型的训练提供了坚实的硬件基础。
本申请还提供了一种分布式训练方法、装置、设备及可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种分布式训练系统的结构示意图;
图2为本申请实施例体提供的一种分布式训练系统的内存架构图;
图3为本申请实施例提供的一种全规约过程的流程图;
图4为本申请实施例提供的一种分布式训练方法的流程图;
图5为本申请实施例提供的一种分布式训练装置的结构示意图;
图6为本申请实施例提供的一种分布式训练设备的结构示意图。
具体实施方式
本申请的核心是提供一种分布式训练系统、方法、装置、设备及可读存储介质,用于解决分布式的硬件训练系统中数据传输路径较长的问题,提高分布式训练系统的数据处理效率。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
图1为本申请实施例提供的一种分布式训练系统的结构示意图;图2为本申请实施例体提供的一种分布式训练系统的内存架构图。
如图1所示,本申请实施例提供的分布式训练系统包括:主机101,多个异构计算设备;
其中,主机101与异构计算设备之间,以及异构计算设备之间,均基于计算机快速链接协议建立了计算机快速链接;
主机101用于将模型训练任务划分为子任务,基于计算机快速链接将子任务的训练数据分配至各异构计算设备;
异构计算设备用于执行被分配的子任务,并输出计算结果以更新模型训练任务的目标模型的模型参数。
在具体实施中,本申请实施例中的主机101可以指英特尔的中央处理器(IntelCPU),如图1所示,本地的分布式训练系统由主机101与多个异构计算设备组成,基于计算机快速链接(Compute Express Link,CXL)协议,实现了主机101与异构计算设备、以及异构计算设备与异构计算设备之间的CXL互连。
支持计算机快速链接协议的CXL设备通过交换机(switch)设备(如图2所示的CXL互连)与主机(host)101相连,通过交换机设备,CXL设备可以在不同的主机101之间进行共享。CXL设备与主机101之间的互连使用计算机快速链接输入输出协议(CXL.io)、计算机快速链接缓存协议(CXL.cache)和计算机快速链接内存协议(CXL.mem)三种互连协议,实现CXL设备访问主机101内存时,像是在访问设备内存一样,反过来主机101访问设备侧的内存资源也是同样的。
则如图1和图2所示的,主机101(的中央处理器CPU)与各异构计算设备两两之间均能共享计算机快速链接内存(CXL Memory),从而打通了主机101与异构计算设备、异构计算设备与异构计算设备之间的通信延迟屏障,实现了多个异构计算设备之间的内存一致性,异构计算设备之间的数据传输可以不经过主机101的中央处理器进行,而可以直接进行内存读取,从而显著缩短了数据传输路径,增加了数据传输带宽,降低了异构计算设备之间的数据交互延迟。
需要说明的是,在本申请实施例提供的分布式训练系统中,异构计算设备的类型可以包括但不限于图1和图2中列举的图形处理器1021(Graphics Processing Unit,下文简称GPU)、现场可编程逻辑门阵列设备1022(Field Programmable Gate Array,下文简称FPGA)、专用集成电路设备1023(Application Specific Integrated Circuit,下文简称ASIC)和处理器分散处理单元设备1024(Data Processing Unit,下文简称DPU),也可以包括其他类型的异构计算设备,且每种异构计算设备的数量也不限于一个,可以为多个,共同点是所有异构计算设备均为支持计算机快速链接协议的设备。
在此基础上,本地资源池的主机101还通过快速通道互联(Quick PathInterconnect)协议或超级通道互联(Ultra Path Interconnect,UPI)协议与另一资源池中的主机101建立快速通道互联/超级通道互联,作为多路服务器CPU之间的高速总线,实现主机101之间的高通信效率、高传输速率及更低的功耗。
此外,本地资源池的异构计算设备与另一资源池的异构计算设备之间还通过交换机(switch)实现通信。
在执行分布式训练任务时,针对人工智能(AI)模型,由主机101控制整个分布式训练任务的执行,将模型训练任务分划分为子任务,基于计算机快速链接将子任务的训练数据分配至各异构计算设备,而各异构计算设备采用迭代优化算法(如Adam优化算法)完成被分配的子任务后,输出计算结果即得到的梯度参数,以更新目标模型的模型参数,如此进行迭代计算,直至达到训练结束条件。
因此,本申请实施例提供的分布式训练系统为大规模深度学习模型的训练提供了坚实的硬件基础。
而基于不同类型的异构计算设备构成异构计算资源池,可以对不同类型的训练任务进行针对性处理,则在本申请实施例提供的分布式训练系统中,主机101将模型训练任务划分为子任务,基于计算机快速链接将子任务的训练数据分配至各异构计算设备,具体为:主机101根据各异构计算设备的类型将模型训练任务划分为子任务,并按照异构计算设备的类型分配子任务。
可选的,主机101根据各异构计算设备的类型将模型训练任务划分为子任务,并按照异构计算设备的类型分配子任务,具体为:将目标模型的全连接层对应的子任务分配至图形处理器1021,将目标模型的卷积层对应的子任务分配至现场可编程逻辑门阵列设备1021,将目标模型的激活层对应的子任务分配至专用集成电路设备1023和/或处理器分散处理单元设备1024。
根据不同类型的异构计算设备适用于不同的网络模型计算的性质,划分模型拆分策略。将目标模型的全连接层对应的子任务分配至GPU,是因为GPU较适合进行矩阵运算。将目标模型的卷积层对应的子任务分配至FPGA,是因为FPGA中计算电路可以进行设计以适用于目标模型中的卷积层运算,尤其是针对多核卷积,可以设计合适的FPGA电路,使其并行进行运算,大大提高运算效率。而针对目标模型中激活层等需要进行复杂的函数运算的网络层,则可以放置到ASIC或DPU等异构计算设备上,ASIC计算设备在设计时,充分考虑复杂函数的运算规则,使其以更快的计算速度计算需要进行复杂函数运算的网络层。
通过根据异构计算设备的性质针对性的下发计算任务,能够进一步提高对各计算任务的处理效率乃至处理质量,能够在现有分布式训练系统的基础上,进一步提高分布式训练的效率。
实施例二
图3为本申请实施例提供的一种全规约过程的流程图。
在上述实施例的基础上,本申请实施例进一步对分布式训练系统执行分布式训练任务的过程进行举例说明。
在本申请实施例提供的分布式训练系统中,主机101将模型训练任务划分为子任务,基于计算机快速链接将子任务的训练数据分配至各异构计算设备,具体包括:
主机101将目标模型的初始模型加载至各异构计算设备;
主机101将目标模型的训练数据集拆分为多组小批量数据;
主机101将小批量数据分发至各异构计算设备。
异构计算设备执行被分配的子任务,并输出计算结果以更新模型训练任务的目标模型的模型参数,具体为:
异构计算设备执行子任务后输出当前迭代次数对应的训练参数,并将训练参数在各异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新目标模型。
在具体实施中,以目标模型采用图像识别领域中常用的Resnet-50网络模型训练为例,训练数据使用图像网(Imagenet)数据集。
主机101采用数据并行分布式训练策略,通过指令将Resnet-50网络模型加载到各个异构计算设备上,即将存放在硬盘设备上的Resnet-50网络模型的数据加载到内存;同时,主机101将Imagenet数据集拆分成多个mini-batch小批量数据。
在模型训练过程中,每个异构计算设备都会接收到一个mini-batch数据集,将该数据输送到Resnet-50网络中进行前向传播与后向传播,此过程中,执行迭代优化算法,得到对应mini-batch数据集的部分梯度参数。
仅仅是单个异构计算设备上的mini-batch数据集的部分梯度参数无法对Resnet-50网络参数进行更新,需要汇集所有异构计算设备上的部分梯度参数,得到整个目标模型的全部梯度参数,才能对目标模型的参数进行一次参数更新。汇集异构计算设备上的部分梯度参数,得到整个目标模型的全部梯度参数的过程即全规约(Allreduce)操作。汇集过程为将每个异构计算设备输出的小矩阵求和得到一个大矩阵,其中包含目标模型的全部梯度参数。
经过全规约操作后,每个异构计算设备上都含有了所有的部分梯度参数(即整个目标模型的全部梯度参数),就可以对Resnet-50网络模型进行参数更新,如此循环进行,直到输出训练好的Resnet-50网络模型。
在本申请实施例提供的分布式训练系统中,如无特殊设置,则异构计算设备之间均为两两互连的平级结构。而在进行软件层面的管理时,各异构计算设备之间的数据结构则进行重新设计,如可以设计为树型结构。
在执行全规约操作时,需要汇集各异构计算设备上的部分梯度参数,则可以采用各异构计算设备之间构成回环结构进行数据的循环传送与汇合。则异构计算设备执行子任务后输出当前迭代次数对应的训练参数,并将训练参数在各异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新目标模型,具体为:异构计算设备执行子任务后并得到当前迭代次数对应的训练参数后,当接收到主机101在检测到各异构计算设备均完成当前迭代次数的计算后发出的全规约命令后,在各异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新目标模型。
即是说,各异构计算设备之间以回环的方式向另一异构计算设备传送部分梯度参数,并对接收到的部分梯度参数与已有的部分梯度参数做求和运算,直至完成对所有异构计算设备上的部分梯度参数的汇合。
如图3所示,以在a、b、c、d四个异构计算设备之间执行异步全规约操作为例进行说明,在异构计算设备a上执行当前子任务得到部分梯度参数a0、a1、a2、a3,在异构计算设备b上执行当前子任务得到部分梯度参数b0、b1、b2、b3,在异构计算设备c上执行当前子任务得到部分梯度参数c0、c1、c2、c3,在异构计算设备d上执行当前子任务得到部分梯度参数d0、d1、d2、d3,请参见图3中白色箭头所指向的状态变化,各异构计算设备以a→b→c→d→a的顺序执行全规约操作,最终每个异构计算设备上均包含a0+b0+c0+d0、a1+b1+c1+d1、a2+b2+c2+d2、a3+b3+c3+d3,即目标模型的全部梯度参数,以此对本地目标模型进行参数更新,而后等待主机101下发下一次分布式训练的子任务的数据或结束训练的命令。
基于这种回环结构,可以实现对各异构计算设备上的部分梯度参数进行快速汇合得到全部梯度参数并对各异构计算设备上的目标模型进行参数更新。
除此以外,各异构计算设备之间也可以采用其他数据结构进行部分梯度参数的汇合,如各异构计算设备向主机101上传当前迭代次数的子任务的计算得到的部分梯度参数,由主机101进行汇合得到全部梯度参数后再下发到各异构计算设备上,利用全部梯度参数在各异构计算设备上完成对目标模型的参数更新。
除了数据结构外,全规约操作可以采用同步方式触发,也可以采用异步方式触发。如采用同步方式触发,则当主机101检测到各异构计算设备完成当前迭代次数的子任务的计算后,向各异构计算设备下发全规约命令,各异构计算设备之间采用预设的数据结构执行全规约操作。如采用异步方式触发,则异构计算设备在完成当前迭代次数的子任务得到部分梯度参数后即触发全规约操作,该异构计算设备执行按照数据结构输出部分梯度参数,直至完成所有部分梯度参数的汇合。
在实际应用中,为保证分布式训练任务的稳定进行,优选地采用同步方式触发全规约操作。
实施例三
结合本申请上述实施例提供的分布式训练系统,可以看出,在进行分布式训练中,主机101与异构计算设备之间以及异构计算设备与异构计算设备之间,通信数据量是巨大的。对此,在上述实施例的基础上,在本申请实施例提供的分布式训练系统中,异构计算设备执行被分配的子任务,并输出计算结果以更新模型训练任务的目标模型的模型参数,具体为:异构计算设备执行被分配的子任务,并将得到的计算结果进行Cholesky分解得到的矩阵发送至另一异构计算设备或主机101以更新模型参数。
在具体实施中,在执行分布式训练的过程中,尤其是执行全规约操作的过程中,异构计算设备先将需要传输的数据进行Cholesky分解再输出。
假设异构计算设备得到的计算结果为矩阵D,通过Cholesky分解后可以得到:
Figure 634366DEST_PATH_IMAGE040
其中,
Figure 892172DEST_PATH_IMAGE041
Figure 135065DEST_PATH_IMAGE042
互为转置矩阵。
在通信过程中,异构计算设备只需将矩阵
Figure 845532DEST_PATH_IMAGE043
发送至其他计算节点,
Figure 979711DEST_PATH_IMAGE043
为下三角矩阵,通信量相较于原始通信量减少一半。其他计算节点在接收到矩阵
Figure 826444DEST_PATH_IMAGE043
后,只需将其进行转置,即可得到
Figure 36976DEST_PATH_IMAGE044
,还原得到原始的矩阵D。
通过在执行分布式训练的过程中,异构计算设备将计算结果进行Cholesky分解后将分解得到的矩阵发送到另一异构计算设备或主机101,显著减少了通信数据量,降低了分布式训练系统的通信负载,并在上述实施例提供的分布式训练系统的基础上进一步提升了分布式训练的效率。
实施例四
基于上述实施例提供的分布式训练系统实现的多种异构计算设备的内存一致性,构建深度学习模型训练硬件结构拓扑。深度学习模型训练架构包括上层深度学习框架、优化算子、其他功能算子。其中,优化算法可以采用OneAPI编程模型实现,具体可以使用DataParallel C++语言,该编程模型可以运行在 CPU、GPU、FPGA、专用加速器等多种异构计算设备之上。将优化算法定义为一个oneAPI Kernel,可供上层深度学习框架进行调用。
则分布式训练过程,具体包括:
使用Data Parallel C++语言定义并初始化相关参数,包括:迭代前进步长、衰减系数、目标优化函数、模型梯度的滑动平均值(记为第一历史滑动平均值)、模型梯度与模型梯度的滑动平均值值之差的历史滑动平均值(记为第二历史滑动平均值)、时间步长、滑动平均参数等;
编程实现oneAPI Kernel算子,输入模型训练迭代前进步长、衰减系数和目标优化模型,初始化上述相关参数。其中,第一历史滑动平均值初始化为0,该参数决定模型训练过程中梯度下降方向;第二历史滑动平均值初始化为0,该参数与迭代前进步长共同决定模型训练过程中梯度下降步长;时间步长初始化为0;
在各异构计算设备上执行子任务,得到的部分梯度参数进行汇合得到全部梯度参数,更新目标优化模型的参数,直至迭代得到的结果参数达到收敛条件。
优化算法包括固定学习率优化算法和自适应学习率优化算法。固定学习率优化算法主要有随机梯度下降法、mini-batch随机梯度下降法以及当前应用最为广泛的加动量Momentum的mini-batch随机梯度下降法。这些算法主要的缺点在于需要手动调整学习率,经过多次手动调整学习率才能达到所需的训练效果。自适应学习率优化算法可以改良需要手动调整学习率的问题,这类算法包含AdaGrad、RMSProp、Adam等。其中应用最为广泛的为Adam优化算法,已经被嵌入到各类主流深度学习框架中。
下面以Adam优化算法为例对本申请实施例提供的分布式训练系统的训练过程进行说明。
采用Adam优化算法,首先设置迭代前进步长(Stepsize)
Figure 297056DEST_PATH_IMAGE045
,衰减系数(Exponentialdecay rates for the moment estimatas,矩阵估计的指数衰减率)
Figure 923341DEST_PATH_IMAGE032
Figure 749215DEST_PATH_IMAGE035
Figure 989703DEST_PATH_IMAGE046
Figure 205921DEST_PATH_IMAGE047
,目标优化函数
Figure 432634DEST_PATH_IMAGE048
,初始参数向量(Initial parameter vector)
Figure 253959DEST_PATH_IMAGE049
,将第一历史滑动平均值
Figure 789983DEST_PATH_IMAGE050
初始化为0(Initialize 1st moment vector),将第二历史滑动平均值
Figure 431180DEST_PATH_IMAGE051
初始化为0(Initial 2nd moment vector),将时间步长
Figure 461584DEST_PATH_IMAGE033
初始化为0(Initializetimestep)。
若结果参数(Resulting parameters)
Figure 137416DEST_PATH_IMAGE052
未达到收敛条件(while
Figure 844341DEST_PATH_IMAGE053
notconverged do),则执行下述操作:
Figure 238413DEST_PATH_IMAGE054
Figure 728300DEST_PATH_IMAGE055
;[该计算为将小批量(mini-batch)数据
Figure 602846DEST_PATH_IMAGE056
(其中,
Figure 215093DEST_PATH_IMAGE057
为数据,
Figure 96462DEST_PATH_IMAGE058
为数据
Figure 734247DEST_PATH_IMAGE059
对应的数据标签)输入到模型
Figure 384672DEST_PATH_IMAGE060
,根据模型输出
Figure 433399DEST_PATH_IMAGE061
与数据标签
Figure 536484DEST_PATH_IMAGE062
建立模型Loss函数
Figure 181223DEST_PATH_IMAGE063
,并进行反向传播,计算模型参数的梯度
Figure 217313DEST_PATH_IMAGE064
]
Figure 436941DEST_PATH_IMAGE065
;(
Figure 27323DEST_PATH_IMAGE066
按照动量形式更新)
Figure 741332DEST_PATH_IMAGE067
;[
Figure 100769DEST_PATH_IMAGE068
按照RMSProp(Root Mean SquarePropagation,一种自适应学习率方法)方式更新]
Figure 491299DEST_PATH_IMAGE069
;(对
Figure 568976DEST_PATH_IMAGE070
进行修正)
Figure 832816DEST_PATH_IMAGE071
;(对
Figure 312339DEST_PATH_IMAGE072
进行修正)
Figure 873770DEST_PATH_IMAGE073
其中,
Figure 235482DEST_PATH_IMAGE033
为迭代次数,
Figure 415927DEST_PATH_IMAGE074
为第
Figure 625323DEST_PATH_IMAGE033
次迭代计算得到的梯度参数,
Figure 233022DEST_PATH_IMAGE075
为第
Figure 144346DEST_PATH_IMAGE033
次迭代计算得到的第一历史滑动平均值,
Figure 128482DEST_PATH_IMAGE076
为第
Figure 192384DEST_PATH_IMAGE077
次迭代计算得到的第一历史滑动平均值,
Figure 970985DEST_PATH_IMAGE078
为第
Figure 635184DEST_PATH_IMAGE033
次迭代计算得到的第二历史滑动平均值,
Figure 954170DEST_PATH_IMAGE079
为第
Figure 262792DEST_PATH_IMAGE080
次迭代计算得到的第二历史滑动平均值,
Figure 556501DEST_PATH_IMAGE081
为第
Figure 707996DEST_PATH_IMAGE033
次迭代计算得到的第一历史滑动平均值的偏置校正值,
Figure 768356DEST_PATH_IMAGE031
Figure 541271DEST_PATH_IMAGE082
Figure 927253DEST_PATH_IMAGE033
次方,
Figure 300466DEST_PATH_IMAGE034
Figure 164517DEST_PATH_IMAGE035
Figure 323097DEST_PATH_IMAGE033
次方,
Figure 411138DEST_PATH_IMAGE083
为第
Figure 147013DEST_PATH_IMAGE033
次迭代计算得到的第二历史滑动平均值的偏置校正值,
Figure 939389DEST_PATH_IMAGE084
为第
Figure 77109DEST_PATH_IMAGE080
次迭代计算得到的结果参数。
需要说明的是,在分布式训练过程中,各异构计算设备得到主机101分配的小批量数据进行优化运算得到的部分梯度参数,汇总后得到上述优化算法中当前迭代次数中的梯度参数、第一历史滑动平均值、第二历史滑动平均值以及结果参数。
本申请实施例提供的分布式训练系统,在建立了主机101与异构计算设备、以及异构计算设备与异构计算设备之间的CXL互连的基础上,提供了一种采用采用OneAPI编程模型实现模型优化算法,结合Adam优化算法进行模型迭代优化的方案,可以实现对分布式训练任务的高效训练,能够满足大规模深度学习模型的训练要求,还可以结合本申请实施例三提供的异构计算设备间的通信方法进一步提高训练效率。
实施例五
在上述实施例的基础上,由于Adam优化算法存在有时会错过全局最优解以及不收敛等问题,可以采用针对Adam优化算法进行改进的Adabelief优化算法进行训练。Adabelief优化算法主要解决Adam算法在学习率调整过程中,步长调整存在缺陷问题。然而,由于Adabelief优化算法在迭代过程中包含了假设条件:在第t+1次迭代计算中,令
Figure 414681DEST_PATH_IMAGE085
Figure 637852DEST_PATH_IMAGE086
始终是正定的,其中,
Figure 702760DEST_PATH_IMAGE045
为迭代前进步长,
Figure 694986DEST_PATH_IMAGE087
为第
Figure 469038DEST_PATH_IMAGE033
次迭代计算得到的第二历史滑动平均值,
Figure 976243DEST_PATH_IMAGE088
为第t+1次迭代计算得到的第二历史滑动平均值。但Adabelief优化算法并不能保证这一假设条件始终成立,即不能保证
Figure 720208DEST_PATH_IMAGE086
始终是正定的,这会导致算法收敛速率变慢或不能收敛的问题。
为了克服Adabelief优化算法的缺点,在上述实施例的基础上,本申请实施例进一步提供一种改进的Adabelief优化算法——Max-Adabelief优化算法,改进原理在于在迭代过程中,始终选择第二历史滑动平均值
Figure 957154DEST_PATH_IMAGE072
的较大值(将第二历史滑动平均值
Figure 761162DEST_PATH_IMAGE021
和在第t-1次迭代计算中求得的较大值
Figure 834292DEST_PATH_IMAGE089
中的较大值定义为
Figure 381948DEST_PATH_IMAGE090
),从而保证
Figure 207821DEST_PATH_IMAGE091
始终是正定的。
则在本申请实施例提供的分布式训练系统中,首先输入迭代前进步长
Figure 448310DEST_PATH_IMAGE045
、衰减系数
Figure 743156DEST_PATH_IMAGE092
Figure 94503DEST_PATH_IMAGE093
,目标优化模型
Figure 40462DEST_PATH_IMAGE094
,初始化相关参数:第一历史滑动平均值
Figure 451852DEST_PATH_IMAGE095
,第二历史滑动平均值
Figure 155366DEST_PATH_IMAGE096
,模型训练时间步长
Figure 920191DEST_PATH_IMAGE097
异构计算设备执行子任务后输出当前迭代次数对应的训练参数,并将训练参数在各异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新目标模型,具体包括:
在第t次迭代计算中,异构计算设备将接收到的小批量数据
Figure 861602DEST_PATH_IMAGE098
输入模型
Figure 568527DEST_PATH_IMAGE002
,根据模型输出值
Figure 962599DEST_PATH_IMAGE099
与数据标签
Figure 265535DEST_PATH_IMAGE100
建立目标模型的损失函数
Figure 795874DEST_PATH_IMAGE101
并进行反向传播,计算得到小批量数据
Figure 673700DEST_PATH_IMAGE102
的梯度
Figure 351806DEST_PATH_IMAGE103
异构计算设备根据等式
Figure 848646DEST_PATH_IMAGE104
计算得到梯度
Figure 374437DEST_PATH_IMAGE105
的第一历史滑动平均值
Figure 32951DEST_PATH_IMAGE106
异构计算设备根据等式
Figure 526249DEST_PATH_IMAGE011
计算得到梯度
Figure 295622DEST_PATH_IMAGE107
与第一历史滑动平均值
Figure 941498DEST_PATH_IMAGE108
的差值
Figure 770914DEST_PATH_IMAGE109
的第二历史滑动平均值
Figure 751509DEST_PATH_IMAGE110
异构计算设备根据等式
Figure 590152DEST_PATH_IMAGE111
计算得到第一历史滑动平均值
Figure 824955DEST_PATH_IMAGE112
的偏置校正值
Figure 90851DEST_PATH_IMAGE113
在各异构计算设备之间对偏置校正值
Figure 293162DEST_PATH_IMAGE114
执行全规约操作,得到合并后的偏置校正值
Figure 935496DEST_PATH_IMAGE115
异构计算设备在第二历史滑动平均值
Figure 290385DEST_PATH_IMAGE021
和在第t-1次迭代计算中求得的较大值
Figure 727183DEST_PATH_IMAGE022
中选择较大值
Figure 416790DEST_PATH_IMAGE023
在各异构计算设备之间对较大值
Figure 862815DEST_PATH_IMAGE090
执行全规约操作,得到合并后的第二历史滑动平均值
Figure 60492DEST_PATH_IMAGE116
根据等式
Figure 668191DEST_PATH_IMAGE026
更新目标模型的结果参数
Figure 845094DEST_PATH_IMAGE117
其中,
Figure 563652DEST_PATH_IMAGE118
为数据,
Figure 627554DEST_PATH_IMAGE119
Figure 406154DEST_PATH_IMAGE120
为衰减系数,
Figure 70353DEST_PATH_IMAGE031
Figure 592602DEST_PATH_IMAGE032
Figure 697961DEST_PATH_IMAGE033
次方,
Figure 522828DEST_PATH_IMAGE034
Figure 284111DEST_PATH_IMAGE035
Figure 469105DEST_PATH_IMAGE033
次方,
Figure 632233DEST_PATH_IMAGE045
为迭代前进步长,
Figure 628002DEST_PATH_IMAGE037
为第t-1次迭代计算中求得的第一历史滑动平均值,
Figure 938897DEST_PATH_IMAGE038
为第t-1次迭代计算中求得的结果参数。
执行上述循环,直至结果参数
Figure 802948DEST_PATH_IMAGE121
收敛。
本申请实施例针对当前分布式训练系统存在主机101内存与计算设备内存的割裂问题、数据交互延迟大等问题,构建基于计算机快速链接协议的硬件互连平台来实现上述Max-Adabelief优化算法,通过在每次迭代运算中均在当前迭代次数得到的第二历史滑动平均值和上一次迭代得到的第二历史滑动平均值中选择较大值,保证Adabelief优化算法执行过程中始终满足正定条件,以保证能够达到收敛且能快速达到收敛,从而既能解决异构计算设备之间的缓存一致性问题,有效地解决异构计算设备之间的数据交互过程中存在的延迟以及带宽问题,又能保证分布式训练任务快速达到收敛,更能满足大规模深度学习模型的训练要求,结合本申请实施例三提供的异构计算设备间的通信方法可以进一步提高训练效率。
上文详述了分布式训练系统方法对应的各个实施例,在此基础上,本申请还公开了与上述分布式训练系统方法对应的分布式训练方法、分布式训练装置、设备及可读存储介质。
实施例六
图4为本申请实施例提供的一种分布式训练方法的流程图。
如图4所示,本申请实施例提供的分布式训练方法包括:
S401:预先基于计算机快速链接协议搭建主机与异构计算设备之间的计算机快速链接以及各异构计算设备之间的计算机快速链接。
S402:将模型训练任务划分为子任务,基于计算机快速链接将子任务的训练数据分配至各异构计算设备,以使异构计算设备执行被分配的子任务并输出计算结果以更新模型训练任务的目标模型的模型参数。
可选的,在本申请实施例提供的分布式训练方法中,S402中将模型训练任务划分为子任务,基于计算机快速链接将子任务的训练数据分配至各异构计算设备,具体为:根据各异构计算设备的类型将模型训练任务划分为子任务,并按照异构计算设备的类型分配子任务。
可选的,在本申请实施例提供的分布式训练方法中,根据各异构计算设备的类型将模型训练任务划分为子任务,并按照异构计算设备的类型分配子任务,具体为:将目标模型的全连接层对应的子任务分配至图形处理器,将目标模型的卷积层对应的子任务分配至现场可编程逻辑门阵列设备,将目标模型的激活层对应的子任务分配至专用集成电路设备和/或处理器分散处理单元设备。
进一步的,在本申请实施例提供的分布式训练方法中,S402中异构计算设备执行被分配的子任务并输出计算结果以更新模型训练任务的目标模型的模型参数,具体为:异构计算设备执行被分配的子任务,并将得到的计算结果进行Cholesky分解得到的矩阵发送至另一异构计算设备或主机以更新模型参数。
进一步的,在本申请实施例提供的分布式训练方法中,S402中将模型训练任务划分为子任务,基于计算机快速链接将子任务的训练数据分配至各异构计算设备,具体包括:
将目标模型的初始模型加载至各异构计算设备;
将目标模型的训练数据集拆分为多组小批量数据;
将小批量数据分发至各异构计算设备;
S402中异构计算设备执行被分配的子任务并输出计算结果以更新模型训练任务的目标模型的模型参数,具体为:异构计算设备执行子任务后输出当前迭代次数对应的训练参数,并将训练参数在各异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新目标模型。
进一步的,在本申请实施例提供的分布式训练方法中,异构计算设备执行子任务后输出当前迭代次数对应的训练参数,并将训练参数在各异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新目标模型,具体为:异构计算设备执行子任务后并得到当前迭代次数对应的训练参数后,当接收到主机在检测到各异构计算设备均完成当前迭代次数的计算后发出的全规约命令后,在各异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新目标模型。
进一步的,在本申请实施例提供的分布式训练方法中,异构计算设备执行子任务后输出当前迭代次数对应的训练参数,并将训练参数在各异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新目标模型,具体包括:
在第t次迭代计算中,异构计算设备将接收到的小批量数据
Figure 945217DEST_PATH_IMAGE122
输入模型
Figure 502100DEST_PATH_IMAGE123
,根据模型输出值
Figure 847762DEST_PATH_IMAGE003
与数据标签
Figure 515503DEST_PATH_IMAGE124
建立目标模型的损失函数
Figure 512278DEST_PATH_IMAGE005
并进行反向传播,计算得到小批量数据
Figure 240063DEST_PATH_IMAGE125
的梯度
Figure 338600DEST_PATH_IMAGE007
异构计算设备根据等式
Figure 341191DEST_PATH_IMAGE126
计算得到梯度
Figure 661314DEST_PATH_IMAGE009
的第一历史滑动平均值
Figure 560000DEST_PATH_IMAGE127
异构计算设备根据等式
Figure 880254DEST_PATH_IMAGE011
计算得到梯度
Figure 686536DEST_PATH_IMAGE012
与第一历史滑动平均值
Figure 798848DEST_PATH_IMAGE013
的差值
Figure 930752DEST_PATH_IMAGE014
的第二历史滑动平均值
Figure 3882DEST_PATH_IMAGE015
异构计算设备根据等式
Figure 410592DEST_PATH_IMAGE016
计算得到第一历史滑动平均值
Figure 456040DEST_PATH_IMAGE017
的偏置校正值
Figure 758845DEST_PATH_IMAGE018
在各异构计算设备之间对偏置校正值
Figure 319271DEST_PATH_IMAGE019
执行全规约操作,得到合并后的偏置校正值
Figure 670618DEST_PATH_IMAGE020
异构计算设备在第二历史滑动平均值
Figure 616577DEST_PATH_IMAGE021
和在第t-1次迭代计算中求得的较大值
Figure 106595DEST_PATH_IMAGE022
中选择较大值
Figure 810109DEST_PATH_IMAGE023
在各异构计算设备之间对较大值
Figure 699568DEST_PATH_IMAGE024
执行全规约操作,得到合并后的第二历史滑动平均值
Figure 500033DEST_PATH_IMAGE025
根据等式
Figure 816745DEST_PATH_IMAGE026
更新目标模型的结果参数
Figure 86184DEST_PATH_IMAGE039
其中,
Figure 576071DEST_PATH_IMAGE028
为数据,
Figure 371988DEST_PATH_IMAGE029
Figure 984235DEST_PATH_IMAGE030
为衰减系数,
Figure 865604DEST_PATH_IMAGE031
Figure 893603DEST_PATH_IMAGE032
Figure 419393DEST_PATH_IMAGE033
次方,
Figure 77907DEST_PATH_IMAGE034
Figure 571206DEST_PATH_IMAGE035
Figure 606158DEST_PATH_IMAGE033
次方,
Figure 907826DEST_PATH_IMAGE045
为迭代前进步长,
Figure 878187DEST_PATH_IMAGE037
为第t-1次迭代计算中求得的第一历史滑动平均值,
Figure 468569DEST_PATH_IMAGE038
为第t-1次迭代计算中求得的结果参数。
由于分布式训练方法部分的实施例与分布式训练系统部分的实施例相互对应,因此分布式训练方法部分的实施例请参见分布式训练系统部分的实施例的描述,这里暂不赘述。
实施例七
图5为本申请实施例提供的一种分布式训练装置的结构示意图。
如图5所示,本申请实施例提供的分布式训练装置包括:
部署单元501,用于预先基于计算机快速链接协议搭建主机与异构计算设备之间的计算机快速链接以及各异构计算设备之间的计算机快速链接;
控制单元502,用于将模型训练任务划分为子任务,基于计算机快速链接将子任务的训练数据分配至各异构计算设备,以使异构计算设备执行被分配的子任务并输出计算结果以更新模型训练任务的目标模型的模型参数。
由于分布式训练装置部分的实施例与分布式训练系统部分的实施例相互对应,因此分布式训练装置部分的实施例请参见分布式训练系统部分的实施例的描述,这里暂不赘述。
实施例八
图6为本申请实施例提供的一种分布式训练设备的结构示意图。
如图6所示,本申请实施例提供的分布式训练设备包括:
存储器610,用于存储计算机程序611;
处理器620,用于执行计算机程序611,该计算机程序611被处理器620执行时实现如上述任意一项实施例所述分布式训练方法的步骤。
其中,处理器620可以包括一个或多个处理核心,比如3核心处理器、8核心处理器等。处理器620可以采用数字信号处理DSP(Digital Signal Processing)、现场可编程门阵列FPGA(Field-Programmable Gate Array)、可编程逻辑阵列PLA(Programmable LogicArray)中的至少一种硬件形式来实现。处理器620也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器CPU(CentralProcessing Unit);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器620可以集成有图像处理器GPU(Graphics Processing Unit),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器620还可以包括人工智能AI(Artificial Intelligence)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器610可以包括一个或多个可读存储介质,该可读存储介质可以是非暂态的。存储器610还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器610至少用于存储以下计算机程序611,其中,该计算机程序611被处理器620加载并执行之后,能够实现前述任一实施例公开的分布式训练方法中的相关步骤。另外,存储器610所存储的资源还可以包括操作系统612和数据613等,存储方式可以是短暂存储或者永久存储。其中,操作系统612可以为Windows。数据613可以包括但不限于上述方法所涉及到的数据。
在一些实施例中,分布式训练设备还可包括有显示屏630、电源640、通信接口650、输入输出接口660、传感器670以及通信总线680。
本领域技术人员可以理解,图6中示出的结构并不构成对分布式训练设备的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的分布式训练设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如上所述的分布式训练方法,效果同上。
实施例九
需要说明的是,以上所描述的装置、设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。
为此,本申请实施例还提供一种可读存储介质,该可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如分布式训练方法的步骤。
该可读存储介质可以包括:U盘、移动硬盘、只读存储器ROM(Read-Only Memory)、随机存取存储器RAM(Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例中提供的可读存储介质所包含的计算机程序能够在被处理器执行时实现如上所述的分布式训练方法的步骤,效果同上。
以上对本申请所提供的一种分布式训练系统、方法、装置、设备及可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的分布式训练方法、分布式训练装置、分布式训练设备及可读存储介质而言,由于其与实施例公开的分布式训练系统相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (17)

1.一种分布式训练系统,其特征在于,包括:主机,多个异构计算设备;
其中,所述主机与所述异构计算设备之间,以及所述异构计算设备之间,均基于计算机快速链接协议建立了计算机快速链接;
所述主机用于将模型训练任务划分为子任务,基于计算机快速链接将所述子任务的训练数据分配至各所述异构计算设备;
所述异构计算设备用于执行被分配的所述子任务,并输出计算结果以更新所述模型训练任务的目标模型的模型参数。
2.根据权利要求1所述的分布式训练系统,其特征在于,所述主机将模型训练任务划分为子任务,基于计算机快速链接将所述子任务的训练数据分配至各所述异构计算设备,具体为:
所述主机根据各所述异构计算设备的类型将所述模型训练任务划分为所述子任务,并按照所述异构计算设备的类型分配所述子任务。
3.根据权利要求2所述的分布式训练系统,其特征在于,所述主机根据各所述异构计算设备的类型将所述模型训练任务划分为所述子任务,并按照所述异构计算设备的类型分配所述子任务,具体为:
将所述目标模型的全连接层对应的所述子任务分配至图形处理器,将所述目标模型的卷积层对应的所述子任务分配至现场可编程逻辑门阵列设备,将所述目标模型的激活层对应的所述子任务分配至专用集成电路设备和/或处理器分散处理单元设备。
4.根据权利要求1所述的分布式训练系统,其特征在于,所述异构计算设备执行被分配的所述子任务,并输出计算结果以更新所述模型训练任务的目标模型的模型参数,具体为:
所述异构计算设备执行被分配的所述子任务,并将得到的计算结果进行Cholesky分解得到的矩阵发送至另一所述异构计算设备或所述主机以更新模型参数。
5.根据权利要求1所述的分布式训练系统,其特征在于,所述主机将模型训练任务划分为子任务,基于计算机快速链接将所述子任务的训练数据分配至各所述异构计算设备,具体包括:
所述主机将所述目标模型的初始模型加载至各所述异构计算设备;
所述主机将所述目标模型的训练数据集拆分为多组小批量数据;
所述主机将所述小批量数据分发至各所述异构计算设备;
所述异构计算设备执行被分配的所述子任务,并输出计算结果以更新所述模型训练任务的目标模型的模型参数,具体为:
所述异构计算设备执行所述子任务后输出当前迭代次数对应的训练参数,并将所述训练参数在各所述异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新所述目标模型。
6.根据权利要求5所述的分布式训练系统,其特征在于,所述异构计算设备执行所述子任务后输出当前迭代次数对应的训练参数,并将所述训练参数在各所述异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新所述目标模型,具体为:
所述异构计算设备执行所述子任务后并得到当前迭代次数对应的训练参数后,当接收到所述主机在检测到各所述异构计算设备均完成当前迭代次数的计算后发出的全规约命令后,在各所述异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新所述目标模型。
7.根据权利要求5所述的分布式训练系统,其特征在于,所述异构计算设备执行所述子任务后输出当前迭代次数对应的训练参数,并将所述训练参数在各所述异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新所述目标模型,具体包括:
在第t次迭代计算中,所述异构计算设备将接收到的小批量数据
Figure 175761DEST_PATH_IMAGE001
输入模型
Figure 468333DEST_PATH_IMAGE002
,根据模型输出值
Figure 967448DEST_PATH_IMAGE003
与数据标签
Figure 125897DEST_PATH_IMAGE004
建立所述目标模型的损失函数
Figure 119392DEST_PATH_IMAGE005
并进行反向传播,计算得到小批量数据
Figure 515738DEST_PATH_IMAGE006
的梯度
Figure 185754DEST_PATH_IMAGE007
所述异构计算设备根据等式
Figure 300340DEST_PATH_IMAGE008
计算得到梯度
Figure 831947DEST_PATH_IMAGE009
的第一历史滑动平均值
Figure 348379DEST_PATH_IMAGE010
所述异构计算设备根据等式
Figure 189296DEST_PATH_IMAGE011
计算得到梯度
Figure 791179DEST_PATH_IMAGE012
与第一历史滑动平均值
Figure 392055DEST_PATH_IMAGE013
的差值
Figure 762994DEST_PATH_IMAGE014
的第二历史滑动平均值
Figure 774812DEST_PATH_IMAGE015
所述异构计算设备根据等式
Figure 332832DEST_PATH_IMAGE016
计算得到第一历史滑动平均值
Figure 471821DEST_PATH_IMAGE017
的偏置校正值
Figure 962845DEST_PATH_IMAGE018
在各所述异构计算设备之间对偏置校正值
Figure 145565DEST_PATH_IMAGE019
执行全规约操作,得到合并后的偏置校正值
Figure 456460DEST_PATH_IMAGE020
所述异构计算设备在第二历史滑动平均值
Figure 399140DEST_PATH_IMAGE021
和在第t-1次迭代计算中求得的较大值
Figure 479091DEST_PATH_IMAGE022
中选择较大值
Figure 363871DEST_PATH_IMAGE023
在各所述异构计算设备之间对较大值
Figure 432234DEST_PATH_IMAGE024
执行全规约操作,得到合并后的第二历史滑动平均值
Figure 162293DEST_PATH_IMAGE025
根据等式
Figure 96751DEST_PATH_IMAGE026
更新所述目标模型的结果参数
Figure 637585DEST_PATH_IMAGE027
其中,
Figure 188652DEST_PATH_IMAGE028
为数据,
Figure 456822DEST_PATH_IMAGE029
Figure 511366DEST_PATH_IMAGE030
为衰减系数,
Figure 223101DEST_PATH_IMAGE031
Figure 730306DEST_PATH_IMAGE032
Figure 802167DEST_PATH_IMAGE033
次方,
Figure 976796DEST_PATH_IMAGE034
Figure 593854DEST_PATH_IMAGE035
Figure 853934DEST_PATH_IMAGE033
次方,
Figure 463907DEST_PATH_IMAGE036
为迭代前进步长,
Figure 493042DEST_PATH_IMAGE037
为第t-1次迭代计算中求得的第一历史滑动平均值,
Figure 281001DEST_PATH_IMAGE038
为第t-1次迭代计算中求得的结果参数。
8.一种分布式训练方法,其特征在于,包括:
预先基于计算机快速链接协议搭建主机与异构计算设备之间的计算机快速链接以及各所述异构计算设备之间的计算机快速链接;
将模型训练任务划分为子任务,基于计算机快速链接将所述子任务的训练数据分配至各所述异构计算设备,以使所述异构计算设备执行被分配的所述子任务并输出计算结果以更新所述模型训练任务的目标模型的模型参数。
9.根据权利要求8所述的分布式训练方法,其特征在于,所述将模型训练任务划分为子任务,基于计算机快速链接将所述子任务的训练数据分配至各所述异构计算设备,具体为:
根据各所述异构计算设备的类型将所述模型训练任务划分为所述子任务,并按照所述异构计算设备的类型分配所述子任务。
10.根据权利要求9所述的分布式训练方法,其特征在于,所述根据各所述异构计算设备的类型将所述模型训练任务划分为所述子任务,并按照所述异构计算设备的类型分配所述子任务,具体为:
将所述目标模型的全连接层对应的所述子任务分配至图形处理器,将所述目标模型的卷积层对应的所述子任务分配至现场可编程逻辑门阵列设备,将所述目标模型的激活层对应的所述子任务分配至专用集成电路设备和/或处理器分散处理单元设备。
11.根据权利要求8所述的分布式训练方法,其特征在于,所述异构计算设备执行被分配的所述子任务并输出计算结果以更新所述模型训练任务的目标模型的模型参数,具体为:
所述异构计算设备执行被分配的所述子任务,并将得到的计算结果进行Cholesky分解得到的矩阵发送至另一所述异构计算设备或所述主机以更新模型参数。
12.根据权利要求8所述的分布式训练方法,其特征在于,所述将模型训练任务划分为子任务,基于计算机快速链接将所述子任务的训练数据分配至各所述异构计算设备,具体包括:
将所述目标模型的初始模型加载至各所述异构计算设备;
将所述目标模型的训练数据集拆分为多组小批量数据;
将所述小批量数据分发至各所述异构计算设备;
所述异构计算设备执行被分配的所述子任务并输出计算结果以更新所述模型训练任务的目标模型的模型参数,具体为:
所述异构计算设备执行所述子任务后输出当前迭代次数对应的训练参数,并将所述训练参数在各所述异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新所述目标模型。
13.根据权利要求12所述的分布式训练方法,其特征在于,所述异构计算设备执行所述子任务后输出当前迭代次数对应的训练参数,并将所述训练参数在各所述异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新所述目标模型,具体为:
所述异构计算设备执行所述子任务后并得到当前迭代次数对应的训练参数后,当接收到所述主机在检测到各所述异构计算设备均完成当前迭代次数的计算后发出的全规约命令后,在各所述异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新所述目标模型。
14.根据权利要求12所述的分布式训练方法,其特征在于,所述异构计算设备执行所述子任务后输出当前迭代次数对应的训练参数,并将所述训练参数在各所述异构计算设备之间执行全规约操作以合并训练参数,以利用合并后的训练参数更新所述目标模型,具体包括:
在第t次迭代计算中,所述异构计算设备将接收到的小批量数据
Figure 28377DEST_PATH_IMAGE001
输入模型
Figure 442041DEST_PATH_IMAGE002
,根据模型输出值
Figure 325683DEST_PATH_IMAGE003
与数据标签
Figure 2652DEST_PATH_IMAGE004
建立所述目标模型的损失函数
Figure 722478DEST_PATH_IMAGE005
并进行反向传播,计算得到小批量数据
Figure 674253DEST_PATH_IMAGE006
的梯度
Figure 677981DEST_PATH_IMAGE007
所述异构计算设备根据等式
Figure 57010DEST_PATH_IMAGE008
计算得到梯度
Figure 264132DEST_PATH_IMAGE009
的第一历史滑动平均值
Figure 19598DEST_PATH_IMAGE010
所述异构计算设备根据等式
Figure 674570DEST_PATH_IMAGE011
计算得到梯度
Figure 693342DEST_PATH_IMAGE012
与第一历史滑动平均值
Figure 387760DEST_PATH_IMAGE013
的差值
Figure 681338DEST_PATH_IMAGE014
的第二历史滑动平均值
Figure 394079DEST_PATH_IMAGE015
所述异构计算设备根据等式
Figure 380489DEST_PATH_IMAGE039
计算得到第一历史滑动平均值
Figure 562203DEST_PATH_IMAGE017
的偏置校正值
Figure 659472DEST_PATH_IMAGE040
在各所述异构计算设备之间对偏置校正值
Figure 226720DEST_PATH_IMAGE041
执行全规约操作,得到合并后的偏置校正值
Figure 384031DEST_PATH_IMAGE042
所述异构计算设备在第二历史滑动平均值
Figure 53041DEST_PATH_IMAGE043
和在第t-1次迭代计算中求得的较大值
Figure 688422DEST_PATH_IMAGE022
中选择较大值
Figure 375755DEST_PATH_IMAGE023
在各所述异构计算设备之间对较大值
Figure 703968DEST_PATH_IMAGE024
执行全规约操作,得到合并后的第二历史滑动平均值
Figure 860274DEST_PATH_IMAGE044
根据等式
Figure 564925DEST_PATH_IMAGE026
更新所述目标模型的结果参数
Figure 106765DEST_PATH_IMAGE027
其中,
Figure 340300DEST_PATH_IMAGE045
为数据,
Figure 249481DEST_PATH_IMAGE029
Figure 226665DEST_PATH_IMAGE046
为衰减系数,
Figure 888590DEST_PATH_IMAGE031
Figure 309338DEST_PATH_IMAGE032
Figure 423925DEST_PATH_IMAGE033
次方,
Figure 204799DEST_PATH_IMAGE034
Figure 721231DEST_PATH_IMAGE035
Figure 312881DEST_PATH_IMAGE033
次方,
Figure 180342DEST_PATH_IMAGE036
为迭代前进步长,
Figure 764908DEST_PATH_IMAGE037
为第t-1次迭代计算中求得的第一历史滑动平均值,
Figure 135846DEST_PATH_IMAGE038
为第t-1次迭代计算中求得的结果参数。
15.一种分布式训练装置,其特征在于,包括:
部署单元,用于预先基于计算机快速链接协议搭建主机与异构计算设备之间的计算机快速链接以及各所述异构计算设备之间的计算机快速链接;
控制单元,用于将模型训练任务划分为子任务,基于计算机快速链接将所述子任务的训练数据分配至各所述异构计算设备,以使所述异构计算设备执行被分配的所述子任务并输出计算结果以更新所述模型训练任务的目标模型的模型参数。
16.一种分布式训练设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,所述计算机程序被所述处理器执行时实现如权利要求8至14任意一项所述分布式训练方法的步骤。
17.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求8至14任意一项所述分布式训练方法的步骤。
CN202211244078.9A 2022-10-12 2022-10-12 分布式训练系统、方法、装置、设备及可读存储介质 Pending CN115310566A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211244078.9A CN115310566A (zh) 2022-10-12 2022-10-12 分布式训练系统、方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211244078.9A CN115310566A (zh) 2022-10-12 2022-10-12 分布式训练系统、方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN115310566A true CN115310566A (zh) 2022-11-08

Family

ID=83868468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211244078.9A Pending CN115310566A (zh) 2022-10-12 2022-10-12 分布式训练系统、方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN115310566A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115879543A (zh) * 2023-03-03 2023-03-31 浪潮电子信息产业股份有限公司 一种模型训练方法、装置、设备、介质及系统
CN116450486A (zh) * 2023-06-16 2023-07-18 浪潮电子信息产业股份有限公司 多元异构计算系统内节点的建模方法、装置、设备及介质
CN116542324A (zh) * 2023-07-06 2023-08-04 之江实验室 一种面向智能计算的分布式异步规约方法和装置
CN116644803A (zh) * 2023-07-27 2023-08-25 浪潮电子信息产业股份有限公司 分布式协同训练控制方法、系统、装置、设备及存储介质
CN117806833A (zh) * 2024-02-28 2024-04-02 苏州元脑智能科技有限公司 一种数据处理系统、方法及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134636A (zh) * 2018-02-09 2019-08-16 中兴通讯股份有限公司 模型训练方法、服务器和计算机可读存储介质
CN112052958A (zh) * 2020-09-04 2020-12-08 京东数字科技控股股份有限公司 模型训练的方法、装置、设备及计算机可读存储介质
US11227223B1 (en) * 2021-03-29 2022-01-18 Sas Institute Inc. Distributed classification computing system
CN114418129A (zh) * 2022-03-30 2022-04-29 苏州浪潮智能科技有限公司 一种深度学习模型训练方法及相关装置
CN114461568A (zh) * 2022-04-14 2022-05-10 苏州浪潮智能科技有限公司 一种数据处理方法、系统、设备及可读存储介质
CN114756383A (zh) * 2022-06-15 2022-07-15 苏州浪潮智能科技有限公司 一种分布式计算方法、系统、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134636A (zh) * 2018-02-09 2019-08-16 中兴通讯股份有限公司 模型训练方法、服务器和计算机可读存储介质
CN112052958A (zh) * 2020-09-04 2020-12-08 京东数字科技控股股份有限公司 模型训练的方法、装置、设备及计算机可读存储介质
US11227223B1 (en) * 2021-03-29 2022-01-18 Sas Institute Inc. Distributed classification computing system
CN114418129A (zh) * 2022-03-30 2022-04-29 苏州浪潮智能科技有限公司 一种深度学习模型训练方法及相关装置
CN114461568A (zh) * 2022-04-14 2022-05-10 苏州浪潮智能科技有限公司 一种数据处理方法、系统、设备及可读存储介质
CN114756383A (zh) * 2022-06-15 2022-07-15 苏州浪潮智能科技有限公司 一种分布式计算方法、系统、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YIXIANG WANG 等: "Generalizing Adversarial Examples by AdaBelief Optimizer", 《ARXIV.ORG》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115879543A (zh) * 2023-03-03 2023-03-31 浪潮电子信息产业股份有限公司 一种模型训练方法、装置、设备、介质及系统
CN115879543B (zh) * 2023-03-03 2023-05-05 浪潮电子信息产业股份有限公司 一种模型训练方法、装置、设备、介质及系统
CN116450486A (zh) * 2023-06-16 2023-07-18 浪潮电子信息产业股份有限公司 多元异构计算系统内节点的建模方法、装置、设备及介质
CN116450486B (zh) * 2023-06-16 2023-09-05 浪潮电子信息产业股份有限公司 多元异构计算系统内节点的建模方法、装置、设备及介质
CN116542324A (zh) * 2023-07-06 2023-08-04 之江实验室 一种面向智能计算的分布式异步规约方法和装置
CN116542324B (zh) * 2023-07-06 2023-10-10 之江实验室 一种面向智能计算的分布式异步规约方法和装置
CN116644803A (zh) * 2023-07-27 2023-08-25 浪潮电子信息产业股份有限公司 分布式协同训练控制方法、系统、装置、设备及存储介质
CN116644803B (zh) * 2023-07-27 2023-11-03 浪潮电子信息产业股份有限公司 分布式协同训练控制方法、系统、装置、设备及存储介质
CN117806833A (zh) * 2024-02-28 2024-04-02 苏州元脑智能科技有限公司 一种数据处理系统、方法及介质
CN117806833B (zh) * 2024-02-28 2024-04-30 苏州元脑智能科技有限公司 一种数据处理系统、方法及介质

Similar Documents

Publication Publication Date Title
CN115310566A (zh) 分布式训练系统、方法、装置、设备及可读存储介质
JP7433373B2 (ja) 深層学習モデルの分散トレーニング方法、装置、電子機器、記憶媒体およびコンピュータプログラム
US20200175370A1 (en) Decentralized distributed deep learning
US9852230B2 (en) Asynchronous message passing for large graph clustering
US11663461B2 (en) Instruction distribution in an array of neural network cores
CN115237580B (zh) 面向智能计算的流水并行训练自适应调整系统、方法
Sun et al. A ugni-based asynchronous message-driven runtime system for cray supercomputers with gemini interconnect
CN112306623A (zh) 深度学习任务的处理方法、装置及计算机可读存储介质
De Souza et al. An optimal model for optimizing the placement and parallelism of data stream processing applications on cloud-edge computing
US11176489B1 (en) Optimal message scheduling for aggregation
Tessier et al. Topology-aware data aggregation for intensive I/O on large-scale supercomputers
CN111159859B (zh) 一种云容器集群的部署方法及系统
CN111858440A (zh) 一种分布式数据并行训练系统、方法、终端及存储介质
Nurvitadhi et al. Scalable low-latency persistent neural machine translation on CPU server with multiple FPGAs
CN116644803B (zh) 分布式协同训练控制方法、系统、装置、设备及存储介质
Ilic et al. Simultaneous multi-level divisible load balancing for heterogeneous desktop systems
CN115879543B (zh) 一种模型训练方法、装置、设备、介质及系统
US20230128421A1 (en) Neural network accelerator
Brown et al. Distributed event-based computing
CN115016947A (zh) 负载分配方法、装置、设备及介质
Mavriplis Viscous flow analysis using a parallel unstructured multigrid solver
Zhang et al. Repeatable multi-dimensional virtual network embedding in cloud service platform
CN116348890A (zh) 神经网络处理
Ravikumar et al. Staleness and stagglers in distibuted deep image analytics
CN107025099B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20221108