当前位置: 首页 > 专利查询>之江实验室专利>正文

一种并行训练中的节点通信方法、存储介质、设备技术

技术编号:39411150 阅读:6 留言:0更新日期:2023-11-19 16:02
本说明书公开了一种并行训练中的节点通信方法、存储介质、设备,所述方法应用于模型并行训练,所述模型被切分为不同的运算模块,各运算模块分别部署于不同的计算节点中,针对任一计算节点,该方法包括:根据训练样本及部署于该计算节点上的运算模块,得到待同步激活值;根据该待同步激活值与预存的输出激活值,得到输出激活值增量;对该输出激活值增量进行量化,得到量化激活值增量;将该量化激活值增量同步给其他计算节点。所述方法能够加速通信、减小对网络通信的要求,提升模型的训练性能。能。能。

【技术实现步骤摘要】
一种并行训练中的节点通信方法、存储介质、设备


[0001]本说明书涉及机器学习领域,尤其涉及一种并行训练中的节点通信方法、存储介质、设备。

技术介绍

[0002]目前,大语言模型(Large Language Models,LLM)发展迅速,从谷歌的T5到OpenAI的GPT系列,这一类模型也被越来越多地应用到机器翻译、智能查询、代码调试等各种需要语言处理的场景。由于其庞大的参数量以及复杂的隐藏层维度,大语言模型的训练依赖并行训练方法实现。
[0003]并行训练,在数据或模型维度上对原模型进行切分,并将切分后的各模块部署于不同的计算节点上并行运行,在这一过程中不同的计算节点会频繁地进行通信,严重影响了模型的训练速度。
[0004]本专利技术,提供一种并行训练中的节点通信的方法,加速节点间通信、减小对通信的网络要求,提升模型的训练性能。

技术实现思路

[0005]本说明书提供一种并行训练中的节点通信方法、存储介质、设备,以部分的解决现有技术存在的上述问题。
[0006]本说明书采用下述技术方案:本说明书提供了一种并行训练中的节点通信方法,包括:一种并行训练中的节点通信方法,所述方法应用于模型并行训练,所述模型被切分为不同的运算模块,各运算模块分别部署于不同的计算节点中;针对任一计算节点,所述方法包括:根据训练样本及部署于该计算节点上的运算模块,得到待同步激活值;根据所述待同步激活值与预存的输出激活值,得到输出激活值增量;对所述输出激活值增量进行量化,得到量化激活值增量;将所述量化激活值增量同步给其他计算节点。
[0007]可选的,所述模型按张量并行维度和流水并行维度被切分为不同的运算模块。
[0008]可选的,根据训练样本及部署于该计算节点上的运算模块得到待同步激活值,具体包括:当该计算节点存在发送节点时,对发送节点同步的量化激活值增量进行反量化,得到输入激活值增量;根据所述输入激活值增量和预存的输入激活值,得到当前输入激活值;将所述当前激活值输入部署于所述计算节点上的运算模块,得到所述运算模块输出的待同步激活值。
[0009]可选的,对发送节点同步的量化激活值增量进行反量化,具体包括:
当该计算节点存在至少两个发送节点时,对各发送节点同步的量化激活值增量进行合并,得到全局量化激活值增量;对所述全局量化激活值增量进行反量化。
[0010]可选的,根据所述输入激活值增量和预存的输入激活值,得到当前输入激活值之后,所述方法还包括:根据所述当前输入激活值,更新预存的输入激活值。
[0011]可选的,根据所述待同步激活值与预存的输出激活值,得到输出激活值增量之后,所述方法还包括:根据所述待同步激活值,更新预存的输出激活值。
[0012]可选的,将所述量化激活值增量同步给其他计算节点之后,所述方法还包括:通过所述其他计算节点继续根据接收到的量化激活值增量得到待同步激活值,直至得到所述模型中的最后一个运算模块输出的结果为止;根据所述结果,对所述模型进行训练,以调整所述模型中的至少一个运算模块中的模型参数。
[0013]可选的,所述模型为大语言模型;所述训练样本为文本数据;根据训练样本及部署于该计算节点上的运算模块,得到待同步激活值,具体包括:根据所述文本数据及部署于该计算节点上的运算模块,得到所述文本数据的特征值;所述大语言模型中的最后一个运算模块输出的结果为对所述文本数据的预测结果;将所述量化激活值增量同步给其他计算节点之后,所述方法还包括:所述模型并行训练根据所述预测结果进行参数调整。
[0014]本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述并行训练中的节点通信方法。
[0015]本说明书提供了一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述并行训练中的节点通信方法。
[0016]本说明书采用的上述至少一个技术方案能够达到以下有益效果:在本说明书提供的并行训练中的节点通信方法中,根据训练样本及部署于该计算节点上的运算模块,得到待同步激活值,根据所述待同步激活值与预存的输出激活值,得到输出激活值增量,对所述输出激活值增量进行量化,得到量化激活值增量,将所述量化激活值增量同步给其他计算节点。
[0017]从上述方法中可以看出,本方法使用量化激活值增量来进行各计算节点间的同步,利用激活值增量矩阵较原激活值矩阵更稀疏的特点,降低了通信量,达到加速节点间通信、减小对通信的网络要求的效果,最终达到提升模型训练性能的目的。
附图说明
[0018]此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。
在附图中:图1为本说明书中一种并行训练中的节点通信方法的流程示意图;图2为本说明书中模型切分分组的示意图;图3为本说明书中说明增量矩阵稀疏性的示意图;图4为本说明书中一种并行训练中的节点通信方法在完整训练过程中的应用流程图;图5为本说明书提供的一种并行训练中的节点通信装置的示意图;图6为本说明书提供的对应于图1的电子设备示意图。
具体实施方式
[0019]为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0020]以下结合附图,详细说明本说明书各实施例提供的技术方案。
[0021]在进行大语言模型训练时,由于该类模型往往具有多个模型层,且各模型层内参数向量维度极高,为保证训练地正常进行,该类模型需要被切分为多个模块并行运行。而这些并行运行的模块在训练过程中也需要频繁地互相通信,以进行梯度和激活值的同步。在实际的训练过程中,各模块间相互同步的时间严重影响着模型训练的速度,同时,各模块间相互通信时,所传输的矩阵具有极高的维度,这也对通信传输的带宽有着极高的要求。为了提升模型的训练性能,优化并行训练中的通信过程显得尤为重要。因此,本说明书提供一种并行训练中的节点通信的方法,本说明书的执行主体可以是计算节点,也可以是控制计算节点相互通信的服务器或其他电子设备。为了便于说明,以下仅以计算节点为执行主体对本说明书提供的一种并行训练中的节点通信方法进行说明。
[0022]图1为本说明书中一种并行训练中的节点通信方法的流程示意图,该方法应用于模型并行训练,该模型被切分为不同的运算模块,各运算模块分别部署于不同的计算节点中。在本说明书一个或多个实施例中,该模型按张量并行维度和流水并行维度被切分为如图2所示的各流水并行分组。具体的,当该模型层数为L,流水并行和张量并行维度分别是Pdim、Tdim,按切分顺序设置Pdim个流水并行分组,第i本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种并行训练中的节点通信方法,其特征在于,所述方法应用于模型并行训练,所述模型被切分为不同的运算模块,各运算模块分别部署于不同的计算节点中;针对任一计算节点,所述方法包括:根据训练样本及部署于该计算节点上的运算模块,得到待同步激活值;根据所述待同步激活值与预存的输出激活值,得到输出激活值增量;对所述输出激活值增量进行量化,得到量化激活值增量;将所述量化激活值增量同步给其他计算节点。2.如权利要求1所述的方法,其特征在于,所述模型按张量并行维度和流水并行维度被切分为不同的运算模块。3.如权利要求1所述的方法,其特征在于,根据训练样本及部署于该计算节点上的运算模块得到待同步激活值,具体包括:当该计算节点存在发送节点时,对发送节点同步的量化激活值增量进行反量化,得到输入激活值增量;根据所述输入激活值增量和预存的输入激活值,得到当前输入激活值;将所述当前激活值输入部署于所述计算节点上的运算模块,得到所述运算模块输出的待同步激活值。4.如权利要求3所述的方法,其特征在于,对发送节点同步的量化激活值增量进行反量化,具体包括:当该计算节点存在至少两个发送节点时,对各发送节点同步的量化激活值增量进行合并,得到全局量化激活值增量;对所述全局量化激活值增量进行反量化。5.如权利要求3所述的方法,其特征在于,根据所述输入激活值增量和预存的输入激活值,得到当前输入激活值之后,所述方法还包括:根据所述当前输入激活值,更新...

【专利技术属性】
技术研发人员:施林锋吴运翔常璟飞蒋科程稳吴洵进
申请(专利权)人:之江实验室
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1