CN117808083B - 一种分布式训练通信方法、装置、系统、设备及存储介质 - Google Patents
一种分布式训练通信方法、装置、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN117808083B CN117808083B CN202410230106.4A CN202410230106A CN117808083B CN 117808083 B CN117808083 B CN 117808083B CN 202410230106 A CN202410230106 A CN 202410230106A CN 117808083 B CN117808083 B CN 117808083B
- Authority
- CN
- China
- Prior art keywords
- gradient data
- sparsification
- node
- position information
- model
- 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.)
- Active
Links
- 238000012549 training Methods 0.000 title claims abstract description 346
- 238000000034 method Methods 0.000 title claims abstract description 148
- 238000004891 communication Methods 0.000 title claims abstract description 130
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 230000006870 function Effects 0.000 claims abstract description 146
- 238000012545 processing Methods 0.000 claims abstract description 63
- 238000005457 optimization Methods 0.000 claims abstract description 37
- 230000008569 process Effects 0.000 claims abstract description 22
- 230000002776 aggregation Effects 0.000 claims description 196
- 238000004220 aggregation Methods 0.000 claims description 196
- 238000004364 calculation method Methods 0.000 claims description 38
- 239000011159 matrix material Substances 0.000 claims description 31
- 230000004931 aggregating effect Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 abstract description 12
- 238000010801 machine learning Methods 0.000 abstract description 11
- 230000000694 effects Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 12
- 238000013528 artificial neural network Methods 0.000 description 11
- 230000001965 increasing effect Effects 0.000 description 6
- 238000009826 distribution Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 238000003058 natural language processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000014616 translation Effects 0.000 description 2
- WRFHGDPIDHPWIQ-UHFFFAOYSA-N 2-[4-[(2-butyl-4-oxo-1,3-diazaspiro[4.4]non-1-en-3-yl)methyl]-2-(ethoxymethyl)phenyl]-n-(4,5-dimethyl-1,2-oxazol-3-yl)benzenesulfonamide Chemical compound O=C1N(CC=2C=C(COCC)C(=CC=2)C=2C(=CC=CC=2)S(=O)(=O)NC=2C(=C(C)ON=2)C)C(CCCC)=NC21CCCC2 WRFHGDPIDHPWIQ-UHFFFAOYSA-N 0.000 description 1
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及机器学习技术领域,具体公开了一种分布式训练通信方法、装置、系统、设备及存储介质,通过根据分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于分布式训练任务的迭代计算得到的节点梯度数据和分布式训练任务的模型网络求解数据稀疏化目标函数,得到梯度数据稀疏化位置信息,从而在计算节点传输节点梯度数据时根据梯度数据稀疏化位置信息进行梯度数据稀疏化传输,使梯度数据稀疏化位置信息的生成次数小于分布式训练任务的迭代计算次数,实现了在分布式训练过程中自适应梯度数据稀疏化处理,兼具提高训练效率和保证模型精度的效果。
Description
技术领域
本发明涉及机器学习技术领域,特别是涉及一种分布式训练通信方法、装置、系统、设备及存储介质。
背景技术
随着神经网络模型的模型规模的不断增大,能够将模型训练任务拆分到多计算节点(worker)并行执行的分布式训练方案应运而生。虽然这种分布式的计算方式减少了单个计算节点计算的瓶颈,但在训练过程中分布式训练系统中不同的节点之间存在大量的数据通信,尤其是在进行梯度数据聚合时的梯度数据的传输,导致分布式训练的效率难以满足需求。
如何解决分布式训练系统中节点间通信的瓶颈,提高分布式训练效率,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种分布式训练通信方法、装置、系统、设备及存储介质,用于提高分布式训练系统中节点间通信的效率,进而提高分布式训练效率。
为解决上述技术问题,本发明提供一种分布式训练通信方法,应用于计算节点,包括:
在执行分布式训练任务的当前次迭代计算得到节点梯度数据后,获取本地的梯度数据稀疏化位置信息以对所述节点梯度数据进行稀疏化处理;
输出稀疏化的所述节点梯度数据以执行所述分布式训练任务的梯度数据聚合操作;
其中,所述梯度数据聚合操作为利用对应的所述梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码后,利用解码后的所述节点梯度数据进行的所述梯度数据聚合操作;
所述梯度数据稀疏化位置信息的生成方法包括:根据所述分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于所述分布式训练任务的迭代计算得到的所述节点梯度数据和所述分布式训练任务的模型网络求解所述数据稀疏化目标函数,得到所述梯度数据稀疏化位置信息;
在执行所述分布式训练任务时,所述梯度数据稀疏化位置信息的生成次数小于所述分布式训练任务的迭代计算次数。
另一方面,所述数据稀疏化目标函数通过下式表示:
;
其中,为最小化函数,/>为所述模型精度损失函数,/>为所述模型网络的第i层的参数矩阵,/>为所述模型网络的第i层的偏置参数,/>为所述模型网络的第i层的梯度数据稀疏化值,/>为满足所述模型网络的第i层的梯度数据的期望稀疏度的梯度数据稀疏化值的集合,N为正整数。
另一方面,所述基于所述分布式训练任务的迭代计算得到的所述节点梯度数据和所述分布式训练任务的模型网络求解所述数据稀疏化目标函数,得到所述梯度数据稀疏化位置信息,包括:
通过增强拉格朗日方法将所述数据稀疏化目标函数转换为非约束优化问题,得到下式:
;
其中,;
循环执行下式,直至满足及/>:
;
;
;
其中,为所述梯度数据稀疏化位置信息的模型精度损失值,/>为满足期望稀疏度要求的所述模型网络的第i层的梯度数据稀疏化值,为所述模型网络的第i层的梯度数据的辅助变量,/>为所述模型网络的第i层的梯度数据稀疏化值满足所述模型网络的第i层的梯度数据的期望稀疏度与否的指示函数,/>为所述模型网络的第i层的梯度数据的惩罚参数,/>为二范数计算函数,/>为所述模型网络的第i层的梯度数据的拉格朗日乘子,argmin为最小值计算函数,/>为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中所述模型网络的第i层的梯度数据稀疏化值,为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中满足期望稀疏度要求的所述模型网络的第i层的梯度数据稀疏化值,/>为在一次生成所述梯度数据稀疏化位置信息时的第k+1次求解中满足期望稀疏度要求的所述模型网络的第i层的梯度数据稀疏化值,/>为所述模型网络的第i层的梯度数据的第一稀疏化误差阈值,/>为所述模型网络的第i层的梯度数据的第二稀疏化误差阈值,/>为在一次生成所述梯度数据稀疏化位置信息时的第k+1次求解中所述模型网络的第i层的参数矩阵,/>为在一次生成所述梯度数据稀疏化位置信息时的第k+1次求解中所述模型网络的第i层的偏置参数,/>为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中所述模型网络的第i层的参数矩阵,/>为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中所述模型网络的第i层的偏置参数,/>为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中所述模型网络的第i层的辅助变量,/>为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中的模型精度损失值中间变量,/>为在一次生成所述梯度数据稀疏化位置信息时的第k+1次求解中所述模型网络的第i层的辅助变量,k为自然数。
另一方面,所述惩罚参数根据下述步骤得到:
根据所述梯度数据聚合操作的类型,获取梯度数据的发送方节点和梯度数据的接收方节点的通信负载参数;
根据所述通信负载参数确定惩罚参数,以使当所述发送方节点和所述接收方节点之间的通信负载越重时所述发送方节点的所述惩罚参数越大。
另一方面,所述梯度数据的期望稀疏度通过下式得到:
;
其中,;
为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中所述模型网络的第i层的期望梯度稀疏度,/>为在一次生成所述梯度数据稀疏化位置信息时的第k+1次求解中所述模型网络的第i层的期望梯度稀疏度,/>为第一稀疏度更新步长,/>为第一收敛度变量,/>为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中满足期望稀疏度要求的所述模型网络的第i层的梯度数据稀疏化值,/>为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中所述模型网络的第i层的梯度数据稀疏化值,/>为二范数计算函数。
另一方面,利用对应的所述梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码,包括:
根据生成稀疏化的所述节点梯度数据的所述计算节点的所述梯度数据稀疏化位置信息确定被稀疏化的梯度数据的位置信息;
根据被稀疏化的梯度数据的位置信息在稀疏化的所述节点梯度数据中对被稀疏化的梯度数据进行置零处理,得到解码后的所述节点梯度数据。
另一方面,所述梯度数据聚合操作包括:
执行所述分布式训练任务的各所述计算节点将稀疏化的所述节点梯度数据发送至独立于所述计算节点的第一控制器,并接收所述第一控制器利用对应的所述梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码后对各解码后的所述节点梯度数据进行聚合得到的梯度数据聚合结果。
另一方面,各所述计算节点采用相同的所述梯度数据稀疏化位置信息;
接收到的所述第一控制器发送的所述梯度数据聚合结果为所述第一控制器根据所述计算节点的所述梯度数据稀疏化位置信息进行稀疏化处理后的稀疏化的所述梯度数据聚合结果。
另一方面,各所述计算节点采用不同的所述梯度数据稀疏化位置信息;
接收到的所述第一控制器发送的所述梯度数据聚合结果为根据所述第一控制器本地生成的所述梯度数据稀疏化位置信息进行稀疏化处理后的稀疏化的所述梯度数据聚合结果;
所述计算节点根据所述第一控制器的梯度数据稀疏化位置信息对稀疏化的所述梯度数据聚合结果进行解码得到解码后的所述梯度数据聚合结果,并利用解码后的所述梯度数据聚合结果进行模型参数更新操作。
另一方面,所述梯度数据聚合操作包括:
执行所述分布式训练任务的各所述计算节点沿全规约逻辑链的同步方向传输稀疏化的所述节点梯度数据,并利用对应的所述梯度数据稀疏化位置信息对接收到的稀疏化的所述节点梯度数据进行解码以及聚合得到的梯度数据聚合结果。
另一方面,各所述计算节点采用相同的所述梯度数据稀疏化位置信息;
利用对应的所述梯度数据稀疏化位置信息对接收到的稀疏化的所述节点梯度数据进行解码以及聚合得到的梯度数据聚合结果,包括:
先对各稀疏化的所述节点梯度数据进行聚合操作得到稀疏化的所述梯度数据聚合结果,再根据所述梯度数据稀疏化位置信息对稀疏化的所述梯度数据聚合结果进行解码得到所述梯度数据聚合结果。
另一方面,各所述计算节点采用不同的所述梯度数据稀疏化位置信息;
利用对应的所述梯度数据稀疏化位置信息对接收到的稀疏化的所述节点梯度数据进行解码以及聚合得到的梯度数据聚合结果,包括:
利用对应的所述梯度数据稀疏化位置信息对接收到的稀疏化的所述节点梯度数据进行解码得到所述节点梯度数据;
当确定接收到所有所述计算节点的所述节点梯度数据后,对所有所述节点梯度数据进行聚合得到所述梯度数据聚合结果。
另一方面,各所述计算节点采用不同的所述梯度数据稀疏化位置信息;
执行所述分布式训练任务的各所述计算节点沿全规约逻辑链的同步方向传输稀疏化的所述节点梯度数据,并利用对应的所述梯度数据稀疏化位置信息对接收到的稀疏化的所述节点梯度数据进行解码以及聚合得到的梯度数据聚合结果,包括:
所述计算节点利用对应的所述梯度数据稀疏化位置信息对接收到的稀疏化的所述节点梯度数据进行解码得到解码后的所述节点梯度数据,并将解码后的所述节点梯度数据与本地的所述节点梯度数据进行聚合得到第一部分梯度数据聚合结果,并利用本地的所述梯度数据稀疏化位置信息对所述第一部分梯度数据聚合结果进行稀疏化处理后,将稀疏化的所述第一部分梯度数据聚合结果沿所述全规约逻辑链的同步方向传输至下一所述计算节点;
所述计算节点在接收到稀疏化的梯度数据后,利用其发送方节点的所述梯度数据稀疏化位置信息对稀疏化的梯度数据进行解码得到解码后的梯度数据,直至完成所有所述节点梯度数据的聚合操作后停止,得到所述梯度数据聚合结果。
另一方面,所述计算节点采用模型并行计算方式执行所述分布式训练任务;
所述梯度数据聚合操作包括:
执行模型并行计算的各所述计算节点根据独立于所述计算节点的第二控制器下发的所述梯度数据稀疏化位置信息对节点梯度数据进行稀疏化处理后将稀疏化的所述节点梯度数据上传至所述第二控制器;
所述第二控制器利用所述梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码后,对各解码后的所述节点梯度数据进行聚合得到的梯度数据聚合结果,并利用所述梯度数据聚合结果对所述分布式训练任务的模型网络进行模型参数更新后,将对应的模型参数发送至所述计算节点以进行下一次迭代计算。
另一方面,所述第二控制器将对应的模型参数发送至所述计算节点,包括:
所述第二控制器利用模型参数稀疏化位置信息对模型参数进行稀疏化处理后,将稀疏化的模型参数发送至对应的所述计算节点;
其中,所述模型参数稀疏化位置信息的生成方法包括:根据所述分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度以及模型参数的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的所述数据稀疏化目标函数;基于所述梯度数据聚合结果和所述模型网络求解所述数据稀疏化目标函数,得到包含所述梯度数据稀疏化位置信息和所述模型参数稀疏化位置信息的联合参数稀疏化位置信息。
另一方面,所述基于所述梯度数据聚合结果和所述模型网络求解所述数据稀疏化目标函数,得到包含所述梯度数据稀疏化位置信息和所述模型参数稀疏化位置信息的联合参数稀疏化位置信息,包括:
通过增强拉格朗日方法将所述数据稀疏化目标函数转换为非约束优化问题,得到下式:
;
其中,,/>;
循环执行下式,直至满足、/>、及/>:
;
;
;
;
;
其中,为所述联合参数稀疏化位置信息的模型精度损失值,/>为所述模型网络的第i层的参数矩阵,/>为所述模型网络的第i层的偏置参数,/>为满足期望稀疏度要求的所述模型网络的第i层的模型参数稀疏化值,/>为所述模型网络的第i层的梯度数据稀疏化值,/>为满足期望稀疏度要求的所述模型网络的第i层的梯度数据稀疏化值,/>为所述模型网络的第i层的模型参数的辅助变量,为所述模型网络的第i层的梯度数据的辅助变量,/>为所述模型精度损失函数,/>为所述模型网络的第i层的模型参数稀疏化值满足所述模型网络的第i层的模型参数的期望稀疏度与否的指示函数,/>为所述模型网络的第i层的模型参数的惩罚参数,/>为所述模型网络的第i层的梯度数据稀疏化值满足所述模型网络的第i层的梯度数据的期望稀疏度与否的指示函数,/>为所述模型网络的第i层的梯度数据的惩罚参数,为二范数计算函数,/>为所述模型网络的第i层的模型参数的拉格朗日乘子,/>为所述模型网络的第i层的梯度数据的拉格朗日乘子,/>为在一次生成所述联合参数稀疏化位置信息时的第k次求解中所述模型网络的第i层的参数矩阵,/>为在一次生成所述联合参数稀疏化位置信息时的第k次求解中满足期望稀疏度要求的所述模型网络的第i层的模型参数稀疏化值,/>为在一次生成所述联合参数稀疏化位置信息时的第k+1次求解中满足期望稀疏度要求的所述模型网络的第i层的模型参数稀疏化值,/>为在一次生成所述联合参数稀疏化位置信息时的第k次求解中所述模型网络的第i层的梯度数据稀疏化值,/>为在一次生成所述联合参数稀疏化位置信息时的第k次求解中满足期望稀疏度要求的所述模型网络的第i层的梯度数据稀疏化值,/>为在一次生成所述联合参数稀疏化位置信息时的第k+1次求解中满足期望稀疏度要求的所述模型网络的第i层的梯度数据稀疏化值,/>为所述模型网络的第i层的模型参数的第三稀疏化阈值,/>为所述模型网络的第i层的模型参数的第四稀疏化阈值,/>为所述模型网络的第i层的梯度数据的第五稀疏化阈值,/>为所述模型网络的第i层的梯度数据的第六稀疏化阈值,/>为在一次生成所述联合参数稀疏化位置信息时的第k+1次求解中所述模型网络的第i层的参数矩阵,/>为在一次生成所述联合参数稀疏化位置信息时的第k+1次求解中所述模型网络的第i层的偏置参数,argmin为最小值计算函数,/>为在一次生成所述联合参数稀疏化位置信息时的第k次求解中的模型精度损失值中间变量,/>为在一次生成所述联合参数稀疏化位置信息时的第k次求解中所述模型网络的第i层的偏置参数,/>为在一次生成所述联合参数稀疏化位置信息时的第k次求解中所述模型网络的第i层的模型参数的辅助变量,/>为在一次生成所述联合参数稀疏化位置信息时的第k次求解中所述模型网络的第i层的梯度数据的辅助变量,/>为一次生成所述联合参数稀疏化位置信息时的第k+1次求解中所述模型网络的第i层的模型参数的辅助变量,/>为在一次生成所述联合参数稀疏化位置信息时的第k+1次求解中所述模型网络的第i层的梯度数据的辅助变量,k为自然数。
另一方面,所述分布式训练任务为对话任务,所述模型精度损失函数通过下式表示:
;
其中,为所述模型精度损失函数,W为参数矩阵,b为偏置参数,T为句子长度,|V|为词表大小,/>为预测语句中第t个位置的值是词表第j个词的概率,/>为标准语句中第t个位置的值是词表第j个词的概率。
为解决上述技术问题,本发明还提供一种分布式训练通信方法,应用于控制器,包括:
接收执行分布式训练任务的各计算节点上传的稀疏化的节点梯度数据;
利用对应的梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码,得到解码后的所述节点梯度数据;
对解码后的所述节点梯度数据进行聚合得到梯度数据聚合结果;
将所述梯度数据聚合结果或利用所述梯度数据聚合结果更新后的模型参数下发至各所述计算节点;
其中,所述计算节点上传的稀疏化的所述节点梯度数据为所述计算节点根据本地的所述梯度数据稀疏化位置信息对执行所述分布式训练任务的当前次迭代计算得到的所述节点梯度数据进行稀疏化处理后得到的;
所述梯度数据稀疏化位置信息的生成方法包括:根据所述分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于所述分布式训练任务的迭代计算得到的所述节点梯度数据和所述分布式训练任务的模型网络求解所述数据稀疏化目标函数,得到所述梯度数据稀疏化位置信息;
在执行所述分布式训练任务时,所述梯度数据稀疏化位置信息的生成次数小于所述分布式训练任务的迭代计算次数。
为解决上述技术问题,本发明还提供一种分布式训练通信系统,包括用于执行分布式训练任务的多个计算节点;
其中,各所述计算节点用于在执行所述分布式训练任务的当前次迭代计算得到节点梯度数据后,获取本地的梯度数据稀疏化位置信息以对所述节点梯度数据进行稀疏化处理;输出稀疏化的所述节点梯度数据以执行所述分布式训练任务的梯度数据聚合操作;
其中,所述梯度数据聚合操作为利用对应的所述梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码后,利用解码后的所述节点梯度数据进行的所述梯度数据聚合操作;
所述梯度数据稀疏化位置信息的生成方法包括:根据所述分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于所述分布式训练任务的迭代计算得到的所述节点梯度数据和所述分布式训练任务的模型网络求解所述数据稀疏化目标函数,得到所述梯度数据稀疏化位置信息;
在执行所述分布式训练任务时,所述梯度数据稀疏化位置信息的生成次数小于所述分布式训练任务的迭代计算次数。
一方面,还包括独立于所述计算节点的控制器;
所述控制器用于接收各所述计算节点上传的稀疏化的所述节点梯度数据;利用对应的所述梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码,得到解码后的所述节点梯度数据;对解码后的所述节点梯度数据进行聚合得到梯度数据聚合结果;将所述梯度数据聚合结果或利用所述梯度数据聚合结果更新后的模型参数下发至各所述计算节点。
为解决上述技术问题,本发明还提供一种分布式训练通信装置,基于计算节点,包括:
第一稀疏化处理单元,用于在执行分布式训练任务的当前次迭代计算得到节点梯度数据后,获取本地的梯度数据稀疏化位置信息以对所述节点梯度数据进行稀疏化处理;
第一输出单元,用于输出稀疏化的所述节点梯度数据以执行所述分布式训练任务的梯度数据聚合操作;
其中,所述梯度数据聚合操作为利用对应的所述梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码后,利用解码后的所述节点梯度数据进行的所述梯度数据聚合操作;
所述梯度数据稀疏化位置信息的生成方法包括:根据所述分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于所述分布式训练任务的迭代计算得到的所述节点梯度数据和所述分布式训练任务的模型网络求解所述数据稀疏化目标函数,得到所述梯度数据稀疏化位置信息;
在执行所述分布式训练任务时,所述梯度数据稀疏化位置信息的生成次数小于所述分布式训练任务的迭代计算次数。
为解决上述技术问题,本发明还提供一种分布式训练通信装置,基于控制器,包括:
第一接收单元,用于接收执行分布式训练任务的各计算节点上传的稀疏化的节点梯度数据;
第一解码单元,用于利用对应的梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码,得到解码后的所述节点梯度数据;
第一聚合处理单元,用于对解码后的所述节点梯度数据进行聚合得到梯度数据聚合结果;
第二输出单元,用于将所述梯度数据聚合结果或利用所述梯度数据聚合结果更新后的模型参数下发至各所述计算节点;
其中,所述计算节点上传的稀疏化的所述节点梯度数据为所述计算节点根据本地的所述梯度数据稀疏化位置信息对执行所述分布式训练任务的当前次迭代计算得到的所述节点梯度数据进行稀疏化处理后得到的;
所述梯度数据稀疏化位置信息的生成方法包括:根据所述分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于所述分布式训练任务的迭代计算得到的所述节点梯度数据和所述分布式训练任务的模型网络求解所述数据稀疏化目标函数,得到所述梯度数据稀疏化位置信息;
在执行所述分布式训练任务时,所述梯度数据稀疏化位置信息的生成次数小于所述分布式训练任务的迭代计算次数。
为解决上述技术问题,本发明还提供一种分布式训练通信设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,所述计算机程序被所述处理器执行时实现如上述任意一项所述分布式训练通信方法的步骤。
为解决上述技术问题,本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述分布式训练通信方法的步骤。
本发明所提供的分布式训练通信方法,有益效果在于通过根据分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于分布式训练任务的迭代计算得到的节点梯度数据和分布式训练任务的模型网络求解数据稀疏化目标函数,得到梯度数据稀疏化位置信息,从而在计算节点执行分布式训练任务的当前次迭代计算得到节点梯度数据后,利用梯度数据稀疏化位置信息对节点梯度数据进行稀疏化处理后的再进行传输乃至执行梯度数据聚合操作,并使梯度数据稀疏化位置信息的生成次数小于分布式训练任务的迭代计算次数,实现了在分布式训练过程中自适应梯度数据稀疏化处理,兼具提高训练效率和保证模型精度的效果。
本发明所提供的分布式训练通信方法,还提供了一种训练对话任务所需的对话模型时的模型精度损失函数以实现基于模型精度的梯度数据稀疏化求解,实现了在不影响对话模型精度的前提下对梯度数据进行稀疏化处理,降低分布式训练中的梯度数据传输量,进而提高对话模型的落地效率。
本发明所提供的分布式训练通信方法,还提供了一种通过引入辅助变量和拉格朗日乘子,将梯度数据稀疏化问题转换为带有惩罚项的优化问题以能够在执行分布式训练的迭代计算的同时自适应求解数据稀疏化目标函数。
本发明所提供的分布式训练通信方法,还提供了一种自动求解各层梯度数据的期望稀疏度的方案,无需人工设置各层梯度数据的期望稀疏度,进而实现更高效的分布式训练。
本发明所提供的分布式训练通信方法,还通过在执行模型并行式的分布式训练时,由执行梯度数据聚合操作的控制器进行模型参数稀疏化和梯度数据稀疏化的联合优化,在模型并行计算中进一步减少了节点间传输的数据量,从而进一步在保证模型精度的同时提高了模型并行式的分布式训练效率。
本发明还提供了一种分布式训练通信装置、系统、设备及存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的第一种分布式训练通信系统的架构图;
图2为本发明实施例提供的第二种分布式训练通信系统的架构图;
图3为本发明实施例提供的第三种分布式训练通信系统的架构图;
图4为本发明实施例提供的一种分布式训练通信方法的流程图;
图5为本发明实施例提供的一种分布式训练通信装置的结构示意图;
图6为本发明实施例提供的另一种分布式训练通信装置的结构示意图;
图7为本发明实施例提供的一种分布式训练通信设备的结构示意图。
具体实施方式
本发明的核心是提供一种分布式训练通信方法、装置、系统、设备及存储介质,用于提高分布式训练系统中节点间通信的效率,进而提高分布式训练效率。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的第一种分布式训练通信系统的架构图;图2为本发明实施例提供的第二种分布式训练通信系统的架构图;图3为本发明实施例提供的第三种分布式训练通信系统的架构图。
为便于理解本发明实施例提供的技术方案,这里先对本发明实施例使用的一些关键名词进行解释:
深度神经网络(Deep Neural Networks,DNN)是机器学习(Machine Learning,ML)领域中一种技术,是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。
分布式训练本质是分布式计算,即利用多台机器组成的集群,把原本巨大、复杂的问题拆成多个小而简单的问题并行解决,并将小问题的结果合并成最终的结果。从整个分布式训练系统来看,执行一次分布式训练任务需要进行若干次的迭代计算。一种常用的迭代计算方式为,在每次迭代计算中,根据更新过模型参数的模型,进行前向传播计算,得到当前次的预测结果,计算预测结果与样本标签值的误差,将误差进行反向传播计算,得到当前次的梯度数据(各层梯度数据)。各计算节点将当前次的梯度数据执行梯度数据聚合操作后,所有的计算节点拿到并利用梯度数据聚合结果更新模型参数,完成当前次迭代计算。
其中,前向传播(forward propagation或forward pass)指的是按顺序(从输入层到输出层)计算和存储神经网络中每层的结果。
反向传播(Backward Propagation,简称BP)指的是计算神经网络参数梯度的方法。其原理是基于微积分中的链式规则,按相反的顺序从输出层到输入层遍历网络,依次计算每个中间变量和参数的梯度。
梯度数据的自动计算(自动微分)大大简化了深度学习算法的实现。
从并行方式上来看,分布式训练可以划分为数据并行和模型并行两种模式,对于训练任务来说,“大”体现在两个方面:模型大和训练数据大。针对模型大的问题,需要把模型拆成多个部分,并分布到不同的机器上训练,即模型并行;对于训练数据大的问题,需要把数据拆成多个小的数据片,并分布到不同的机器上,即数据并行。
数据并行(Dara parallelism)是分布式训练中的一种用于处理大规模数据集的并行计算方法。当机器学习任务涉及到处理海量数据时,数据并行是一种常见的解决方案,可以将数据拆分成多个部分,并将这些部分分布式地发送到不同的计算节点上进行并行处理。数据并行的基本思想是将整个数据集划分为多个小数据块,每个数据块都被发送到不同的计算节点上进行处理。每个计算节点都有一份完整的模型副本,它使用本地的数据块来更新自己的模型参数。数据并行的优势在于它可以充分利用分布式系统的计算资源,加快模型训练速度,并且可以扩展到大规模的数据集。此外,数据并行还能够处理非平衡的数据分布,因为每个计算节点都处理了一部分数据,可以适应不同数据分布的情况。
模型并行(Model parallelism)是分布式训练中的一种处理大型模型的并行计算方法。当机器学习模型特别复杂或模型参数非常多时,模型并行是一种有效的解决方案,可以将模型拆分成多个部分,并将这些部分分布式地发送到不同的计算节点上进行并行处理。模型并行的基本思想是将整个模型划分为多个子模型(也称为模型片段),每个子模型都被发送到不同的计算节点上进行处理。每个计算节点只负责处理自己的子模型,计算局部的梯度,并通过通信机制将梯度传输给中央节点(通常是一个参数服务器)。中央节点收集所有计算节点的梯度,并根据梯度更新全局的模型参数。然后,全局模型参数会被广播到所有计算节点,开始下一个迭代。模型并行的优势在于它可以解决大型模型在单个计算节点上内存不足的问题,使得能够训练更大规模的模型。此外,模型并行还能够加速模型训练速度,因为不同计算节点上的子模型可以并行处理,同时计算节点之间的通信开销较小。
大型语言模型(Large Language Model,LLM),是一种基于海量文本数据训练的深度学习模型,它的核心能力包括生成自然语言文本和深刻理解文本含义。这类模型能够执行多种自然语言处理任务,如文本摘要、问答、翻译等。大型语言模型的设计目的是为了模拟人类的语言理解和生成能力,它们通常在大型数据集上进行训练,从中学习语言结构、语法和上下文信息。
转换编码器模型(Transformer)是一种自然语言处理(Natural LanguageProcessing,NLP)模型,其采用自注意力(Self-Attention)机制,使得模型可以并行化训练,而且能够拥有全局信息。机器翻译模型主要由编码器(Encoder)和解码器(Decoder)两部分组成,编码器和解码器都包括6个模块,其工作流程主要包括:获取输入句子的每一个单词的表示向量(由单词向量和单词位置向量相加得到),具体得到单词表示向量矩阵输入编码器中,经过6个编码器模块后可以得到句子所有单词的编码信息矩阵,每一个编码器模块的输出的矩阵维度与输入完全一致;将编码器输出的编码信息矩阵传递至解码器中,解码器会依次根据当前翻译过的单词1~i翻译下一个单词i,在使用过程中,翻译到单词i+1时需要通过掩盖(Mask)操作遮盖住i+1之后的单词,以此类推。
有监督微调(Supervised Fine-Tuning,SFT)是一种基于大型语言模型(LLM)的对话训练方法。首先,通过在大规模语料库上进行预训练,模型学习了通用语言知识。接着,采用对话数据集,使用有监督学习的方式微调模型,强调生成的对话响应与标准答案的一致性。这种方法结合了通用预训练和特定任务微调,使模型在特定对话场景中更准确、流畅地生成响应。有监督微调为对话系统提供了一种有效的训练框架,使其能够更好地适应具体任务需求,提高对话理解和生成的性能。
损失函数(loss function)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。
交叉熵损失(Cross-Entropy Loss),也称为对数损失(Log Loss),可在神经网络(机器学习)中作为损失函数,p表示真实标记的分布,q则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量p与q的相似性。交叉熵作为损失函数还有一个好处是使用归一化(sigmoid)函数在梯度下降时能避免均方误差损失函数学习速率降低的问题,因为学习速率可以被输出的误差所控制。
大规模机器学习模型的发展呈现参数规模日益增大的趋势,尤其以转换编码器模型(Transformer)为代表的大规模语言模型的增长更为突出。对于实际的下游任务(如:情感分析、对话、摘要总结等),采用的方式是基于预训练的大模型进行实际任务数据集上的微调。利用预训练大模型良好的泛化性,这种方式能够显著地提高实际部署模型的性能,并在实际领域中得到了广泛应用。
现有的模型微调方法,是在预训练模型的基础上,基于特定任务数据,通过反向传播,对预训练模型参数进行更新,从而得到特定领域的模型。在基于大语言模型LLM的对话训练任务中采用有监督微调方法。首先,通过大规模语料库对LLM进行预训练,获得通用语言知识。对话任务损失(loss)的构建使用有监督学习,引入对话数据集,通过最小化生成的响应与标准答案之间的差异,强调对话的准确性和上下文一致性。接着,进行对话任务模型的微调,通过在任务特定数据上调整模型参数,以提高在特定对话场景下的性能,确保模型更好地适应特定任务需求。有监督微调方法通过结合通用预训练和特定任务微调,实现了对话模型的高效训练和性能优化。
然而,无论是对机器学习模型的预训练过程,还是模型微调过程,在分布式训练系统的各个节点中都需要进行大量的数据传输,尤其是梯度数据通信,这导致分布式训练的速度难以满足需求。
为了降低分布式训练过程中的通信量,需要在训练过程中对不必要的梯度数据进行提出。目前常见的梯度数据剔除方式为技术人员在分布式训练任务启动前设置梯度数据稀疏化比例,以使计算节点在执行迭代计算时将部分比例的梯度数据置零,在使用优化器进行参数更新时,将对应优化器(如Adam优化器)的中间变量(如一阶、二阶动量)进行压缩存储(即:只存储非零梯度对应的中间变量),进而降低对计算节点内存的占用。然而,这种个人稀疏化的比例依赖人工调整,人工经验往往不能很好地适配模型收敛的实际情况,且必须等待一次分布式训练任务结束后进行测试才可以获悉得到的模型是否符合精度要求,且设置的个人稀疏化比例往往不能复用,在实际的分布式训练任务中若进行梯度数据稀疏化处理,则技术人员只能设置一个较为保守的梯度数据稀疏化比例来避免对模型精度产生较大损失。
另外,即使是基于预先设定的梯度数据稀疏化比例,分布式训练系统在执行梯度数据稀疏化任务时也是对随机的梯度数据进行稀疏化的,因此同样的分布式训练模型预先设定了同样的梯度数据稀疏化比例,其结果得到的模型精度也往往呈现不同的模型精度,这导致分布式训练任务中为降低节点间通信传输数据量而设置的梯度数据稀疏化方案的实用价值较差。
对此,本发明实施例提供一种分布式训练通信系统,旨在不影响模型精度的情况下,对梯度数据进行精简,减少分布式训练过程中需要通信传输的数据量,提高分布式训练中的通信效率,进而提高分布式训练效率。
如图1所示,本发明实施例提供的分布式训练通信系统可以包括用于执行分布式训练任务的多个计算节点101;
其中,各计算节点101用于在执行分布式训练任务的当前次迭代计算得到节点梯度数据后,获取本地的梯度数据稀疏化位置信息以对节点梯度数据进行稀疏化处理;输出稀疏化的节点梯度数据以执行分布式训练任务的梯度数据聚合操作;
其中,梯度数据聚合操作为利用对应的梯度数据稀疏化位置信息对稀疏化的节点梯度数据进行解码后,利用解码后的节点梯度数据进行的梯度数据聚合操作;
梯度数据稀疏化位置信息的生成方法包括:根据分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于分布式训练任务的迭代计算得到的节点梯度数据和分布式训练任务的模型网络求解数据稀疏化目标函数,得到梯度数据稀疏化位置信息;
在执行分布式训练任务时,梯度数据稀疏化位置信息的生成次数小于分布式训练任务的迭代计算次数。
在本发明实施例提供的分布式训练通信系统中,计算节点101可以采用但不限于图形处理器(Graphics Processing Unit,GPU)、现场可编程逻辑门阵列设备(FieldProgrammable Gate Array,FPGA)、专用集成电路设备(Application SpecificIntegrated Circuit,ASIC)和处理器分散处理单元设备(Data Processing Unit,DPU),或采用其中一种或多种作为加速器的计算设备,也可以采用其他类型的计算设备。
需要说明的是,图1示出的是一种采用在计算节点101间传输梯度数据的全规约式梯度数据聚合方式,另外,本发明实施例提供的分布式训练通信系统还可以采用其他类型的梯度数据聚合方式。
在全规约式梯度数据聚合过程中,分布式训练系统的各计算节点101沿全规约逻辑链的方向传输节点梯度数据。此时,可以由计算节点101将本地计算得到的节点梯度数据进行稀疏化后传输。
若采用集中式梯度数据聚合方式,如图2所示,在上述分布式训练通信系统的基础上,本发明实施例提供的分布式训练通信系统还可以包括独立于计算节点101的控制器201;
控制器201用于接收各计算节点101上传的稀疏化的节点梯度数据;利用对应的梯度数据稀疏化位置信息对稀疏化的节点梯度数据进行解码,得到解码后的节点梯度数据;对解码后的节点梯度数据进行聚合得到梯度数据聚合结果;将梯度数据聚合结果或利用梯度数据聚合结果更新后的模型参数下发至各计算节点101。
本发明实施例提供的分布式训练通信系统可以适用于数据并行式分布式训练,也可以适用于模型并行式分布式训练。在大规模机器学习模型的训练中,有时也存在两种类型的并行方式的情况。如图3所示,本发明实施例提供的分布式训练通信系统还可以由计算节点101、第一控制器301和第二控制器302组成;
其中,各计算节点101被划分为多个节点组,每个节点组的组内的计算节点101执行模型并行计算,各节点组之间执行数据并行计算;每个节点组对应一个第二控制器302以执行节点组内的梯度数据聚合操作;第二控制器302用于执行各节点组的梯度数据聚合操作;
计算节点101用于在执行分布式训练任务的当前次迭代计算得到节点梯度数据后,获取本地的梯度数据稀疏化位置信息以对节点梯度数据进行稀疏化处理,将稀疏化的节点梯度数据发送至所在节点组的第二控制器302;各第二控制器302收集所在节点组的稀疏化的节点梯度数据进行聚合为稀疏化的梯度数据(即对于整个分布式训练任务的模型网络来说完整的梯度数据)后发送至第一控制器301;第一控制器301将各第二控制器302上传的稀疏化的梯度数据按照梯度数据稀疏化位置信息进行解码,得到解码后的梯度数据后,对各解码后的梯度数据进行聚合得到梯度数据聚合结果,而后将梯度数据聚合结果或者根据梯度数据聚合结果更新的模型参数下发至各第二控制器302,由各第二控制器302根据所在节点组内的模型并行拆分方式将更新后的模型参数分发至各计算节点101以进行下一次迭代计算。
在上述架构的基础上,下面结合附图对本发明实施例提供的分布式训练通信方法进行说明。
图4为本发明实施例提供的一种分布式训练通信方法的流程图。
如图4所示,应用于计算节点,本发明实施例提供的一种分布式训练通信方法包括:
S401:在执行分布式训练任务的当前次迭代计算得到节点梯度数据后,获取本地的梯度数据稀疏化位置信息以对节点梯度数据进行稀疏化处理。
S402:输出稀疏化的节点梯度数据以执行分布式训练任务的梯度数据聚合操作。
其中,梯度数据聚合操作为利用对应的梯度数据稀疏化位置信息对稀疏化的节点梯度数据进行解码后,利用解码后的节点梯度数据进行的梯度数据聚合操作;
梯度数据稀疏化位置信息的生成方法包括:根据分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于分布式训练任务的迭代计算得到的节点梯度数据和分布式训练任务的模型网络求解数据稀疏化目标函数,得到梯度数据稀疏化位置信息;
在执行分布式训练任务时,梯度数据稀疏化位置信息的生成次数小于分布式训练任务的迭代计算次数。
在本发明实施例中,根据采用的分布式训练的并行方式的类型以及梯度数据聚合方式的不同,设置由不同的节点执行梯度数据稀疏化位置信息的生成任务。由于梯度数据稀疏化位置信息的生成需要完整的模型参数和梯度数据,故在模型并行式分布式训练系统中需要由独立于计算节点之外的控制器来执行梯度数据稀疏化位置信息并将梯度数据稀疏化位置信息分发至各计算节点。而在数据并行式分布式训练系统中,由于各计算节点都具有完整的模型参数和梯度数据,则任意计算节点都可以执行梯度数据稀疏化位置信息的生成任务。
与传统的手动设置梯度数据稀疏化值的方式不同,本发明实施例中的梯度数据稀疏化位置信息包含了在设定的梯度数据期望稀疏度下具体的梯度数据稀疏化位置,即需要将哪些位置的梯度数据进行删除。则梯度数据稀疏化位置信息可以为一组被稀疏化的梯度数据的位置编码,或者保留的梯度数据的位置编码,该位置编码不仅供发送方节点对梯度数据进行稀疏化处理,也供接收方对稀疏化的梯度数据进行解码处理。
则在执行分布式训练任务的过程中,还需进行梯度数据稀疏化位置信息的传输,该梯度数据稀疏化位置信息由相应的节点生成后,发送至需要输出梯度数据的节点以及需要接收梯度数据的节点,以供进行梯度数据的稀疏化处理和解码处理。
对稀疏化的梯度数据的解码,可以为将被删除的梯度数据的位置填充零处理。
由于梯度数据稀疏化位置信息是需要额外传输的数据,为避免增加数据传输量,设置在执行分布式训练任务时,梯度数据稀疏化位置信息的生成次数小于分布式训练任务的迭代计算次数,例如可以每执行200次迭代计算执行一次梯度数据稀疏化位置信息的生成任务并共享至梯度数据的收发节点。
修改分布式训练通信系统的各节点的通信协议以识别梯度数据稀疏化位置信息,计算节点(和控制器)在接收到梯度数据稀疏化位置信息后替换本地的梯度数据稀疏化位置信息,并在接收到稀疏化的梯度数据时调用梯度数据稀疏化位置信息对稀疏化的梯度数据进行解码。
则利用对应的梯度数据稀疏化位置信息对稀疏化的节点梯度数据进行解码,可以包括:
根据生成稀疏化的节点梯度数据的计算节点的梯度数据稀疏化位置信息确定被稀疏化的梯度数据的位置信息;
根据被稀疏化的梯度数据的位置信息在稀疏化的节点梯度数据中对被稀疏化的梯度数据进行置零处理,得到解码后的节点梯度数据。
本发明实施例提供的分布式训练通信方法,通过根据分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于分布式训练任务的迭代计算得到的节点梯度数据和分布式训练任务的模型网络求解数据稀疏化目标函数,得到梯度数据稀疏化位置信息,从而在计算节点执行分布式训练任务的当前次迭代计算得到节点梯度数据后,利用梯度数据稀疏化位置信息对节点梯度数据进行稀疏化处理后的再进行传输乃至执行梯度数据聚合操作,并使梯度数据稀疏化位置信息的生成次数小于分布式训练任务的迭代计算次数,实现了在分布式训练过程中自适应梯度数据稀疏化处理,兼具提高训练效率和保证模型精度的效果。
本发明实施例提供的分布式训练通信方法可以适用于包括但不限于图像识别、语音处理、人脸识别、视频处理等场景;或训练人工智能大模型,即训练数据包括但不限于图像数据、语音数据、视频数据、文本数据等多模态数据训练场景。
在上述实施例的基础上,本发明实施例进一步提供一种大语言模型训练过程中的梯度数据精简方法。
在本发明实施例提供的分布式训练通信方法中,分布式训练任务为对话任务,模型精度损失函数通过下式表示:
;
其中,为模型精度损失函数,W为参数矩阵,b为偏置参数,T为句子长度,|V|为词表大小,/>为预测语句中第t个位置的值是词表第j个词的概率,/>为标准语句中第t个位置的值是词表第j个词的概率。
在训练对话任务的对话任务模型时,考虑到对话模型的训练过程为将提示语(问题)输入模型,将模型输出的回答与标准回答进行对比,得到交叉熵,故可以采用交叉熵损失函数作为对话任务的模型精度损失函数。
本发明实施例提供的分布式训练通信方法,还提供了一种训练对话任务所需的对话模型时的模型精度损失函数以实现基于模型精度的梯度数据稀疏化求解,实现了在不影响对话模型精度的前提下对梯度数据进行稀疏化处理,降低分布式训练中的梯度数据传输量,进而提高对话模型的落地效率。
在上述实施例的基础上,本发明实施例进一步介绍基于模型精度的梯度数据稀疏化求解方法。
在本发明实施例提供的分布式训练通信方法中,数据稀疏化目标函数可以通过下式表示:
;
其中,为最小化函数,/>为模型精度损失函数,/>为模型网络的第i层的参数矩阵,/>为模型网络的第i层的偏置参数,/>为模型网络的第i层的梯度数据稀疏化值,/>为满足模型网络的第i层的梯度数据的期望稀疏度的梯度数据稀疏化值的集合,N为正整数。
在本发明实施例中,梯度数据的期望稀疏度可以为技术人员预先手动设置的值,如设置各层梯度数据的期望稀疏度比例(例如对于5层的深度神经网络,存在W 1,W 2,……,W 5,对应的梯度数据为G 1,G 2,……,G 5,希望G 1层梯度数据的期望稀疏度为20%,G 2层梯度数据的期望稀疏度为50%,……则S 1为只有20%非零元素的G 1,S 2为只有50%非零元素的G 2……)。本发明实施例提供的分布式训练通信方法可以在用户手动设定的梯度数据的期望稀疏度的基础上自动进行使模型精度损失最小化的梯度数据稀疏化位置信息的求解。
为求解上述梯度数据稀疏化问题,首先可以将数据稀疏化目标函数改写为如下形式:
;
其中,为/>的指示函数,可以采用下述表达方式:
;
其中,表示计算矩阵中非零元素的个数,/>为第模型网络的第i层梯度数据的期望稀疏度对应的梯度数据数量阈值。
由于上述公式中无法使用反向传播求解,故进一步将数据稀疏化目标函数改写成如下形式:
;
其中,,i=1,2,……,N。即是说,直接将满足梯度数据的期望稀疏度的梯度数据稀疏化值/>代入数据稀疏化目标函数,消除/>的表达形式无法反向传播求解的问题。
则在本发明实施例提供的分布式训练通信方法中,基于分布式训练任务的迭代计算得到的节点梯度数据和模型网络求解数据稀疏化目标函数,得到梯度数据稀疏化位置信息,可以包括:
通过增强拉格朗日方法,将上述约束优化问题,转化为如下的非约束优化问题(通过求解的最小值,可以得到最优的模型参数,进而得到最优的梯度数据稀疏化位置信息):
;
其中,与梯度数据的维度相同,被称为拉格朗日乘子,并对应于约束/>。为惩罚参数,/>为矩阵秩的计算。
定义,则模型精度损失函数转化为如下函数:
;
针对上述优化问题,循环执行下式,直至满足及:
;
;
;
其中,为梯度数据稀疏化位置信息的模型精度损失值,/>为满足期望稀疏度要求的模型网络的第i层的梯度数据稀疏化值,/>为模型网络的第i层的梯度数据的辅助变量,/>为模型网络的第i层的梯度数据稀疏化值满足模型网络的第i层的梯度数据的期望稀疏度与否的指示函数,/>为模型网络的第i层的梯度数据的惩罚参数,/>为二范数计算函数,/>为模型网络的第i层的梯度数据的拉格朗日乘子,argmin为最小值计算函数,/>为在一次生成梯度数据稀疏化位置信息时的第k次求解中模型网络的第i层的梯度数据稀疏化值,/>为在一次生成梯度数据稀疏化位置信息时的第k次求解中满足期望稀疏度要求的模型网络的第i层的梯度数据稀疏化值,/>为在一次生成梯度数据稀疏化位置信息时的第k+1次求解中满足期望稀疏度要求的模型网络的第i层的梯度数据稀疏化值,/>为模型网络的第i层的梯度数据的第一稀疏化误差阈值,/>为模型网络的第i层的梯度数据的第二稀疏化误差阈值,/>为在一次生成梯度数据稀疏化位置信息时的第k+1次求解中模型网络的第i层的参数矩阵,/>为在一次生成梯度数据稀疏化位置信息时的第k+1次求解中模型网络的第i层的偏置参数,/>为在一次生成梯度数据稀疏化位置信息时的第k次求解中模型网络的第i层的参数矩阵,/>为在一次生成梯度数据稀疏化位置信息时的第k次求解中模型网络的第i层的偏置参数,/>为在一次生成梯度数据稀疏化位置信息时的第k次求解中模型网络的第i层的辅助变量,为在一次生成梯度数据稀疏化位置信息时的第k次求解中的模型精度损失值中间变量,/>为在一次生成梯度数据稀疏化位置信息时的第k+1次求解中模型网络的第i层的辅助变量,k为自然数。
在进行上述求解的过程中,通过将中的/>更新,转化为将梯度数据/>根据该层的梯度数据的期望稀疏度进行对应比例的梯度数据稀疏化(如第5层的梯度数据G 5期望稀疏度为20%,则将G 5中幅值最低的20%置零,从而得到Z 5)。
惩罚参数的设置为传播梯度数据稀疏化比例对模型精度损失函数的优化速率用,在本发明实施例提供的分布式训练通信方法中,惩罚参数可以根据下述步骤得到:
根据梯度数据聚合操作的类型,获取梯度数据的发送方节点和梯度数据的接收方节点的通信负载参数;
根据通信负载参数确定惩罚参数,以使当发送方节点和接收方节点之间的通信负载越重时发送方节点的惩罚参数越大。
各层梯度数据可以对应相同或不同的惩罚参数,而在设计惩罚参数时,可以根据通信负载较重的情况设置更大的惩罚参数,以更快地剔除不符合梯度数据的期望稀疏度要求的梯度数据稀疏化位置信息。
本发明实施例提供的分布式训练通信方法,还提供了一种通过引入辅助变量和拉格朗日乘子,将梯度数据稀疏化问题转换为带有惩罚项的优化问题以能够在执行分布式训练的迭代计算的同时自适应求解数据稀疏化目标函数。
上述的梯度数据稀疏化位置信息的求解方法虽然能够在考虑模型精度的条件下进行梯度稀疏,但是对于不同的训练数据集,由于数据分布的不同,导致模型每层的稀疏期望无法提前预知,无法实现梯度稀疏期望的设置,导致最终无法实现梯度参数个数和模型精度的有效平衡。为此,将梯度稀疏的收敛性引入到稀疏度的期望中,进而能够实时根据各层梯度稀疏的进展,进行自动化稀疏期望值给定,从而保证更好的训练加速和精度保证之间的平衡。
则在上述实施例的基础上,本发明实施例还提供一种梯度数据的期望稀疏度的自动求解方法。
在本发明实施例提供的分布式训练通信方法中,对于第i层梯度数据引入系数收敛度,用于表示当前各层收敛的情况:
;
在梯度数据稀疏化位置信息的求解过程中,收敛度越大,表示梯度越接近于期望稀疏度,则此时可以加大期望稀疏度,从而获取更大的梯度稀疏度,进而进一步降低中间变量个数和计算节点内存的占用。
定义梯度数据的期望稀疏度可以通过下式得到:
;
其中,为在一次生成梯度数据稀疏化位置信息时的第k次求解中模型网络的第i层的期望梯度稀疏度,/>为在一次生成梯度数据稀疏化位置信息时的第k+1次求解中模型网络的第i层的期望梯度稀疏度,/>为第一稀疏度更新步长,/>为第一收敛度变量,/>为在一次生成梯度数据稀疏化位置信息时的第k次求解中满足期望稀疏度要求的模型网络的第i层的梯度数据稀疏化值,/>为在一次生成梯度数据稀疏化位置信息时的第k次求解中模型网络的第i层的梯度数据稀疏化值,/>为二范数计算函数。
在进行梯度数据稀疏化位置信息的求解过程中,根据期望稀疏度对梯度数据进行稀疏化(即:将梯度数据的各元素按照幅值大小进行排序,提出比例的梯度,保留(1-/>)比例的梯度);在此时,将对应的优化器中间变量进行对应的维度缩小化(由于梯度数据个数减少,则对应的优化器中间变量个数可相应减少),进而减少中间变量的个数,从而降低对计算节点内存的占用。
则结合本发明上述实施例介绍的基于模型精度的梯度数据稀疏化求解方法,可以通过下述步骤的求解:
对于N层深度神经网络,初始化惩罚因子(i=1,2,……,N)、期望稀疏度/>(i=1,2,……,N)和矩阵/>,/>;
根据本发明上述实施例介绍的数据稀疏化目标函数的求解方法进行K次求解(K可以为5),对深度神经网络进行梯度数据稀疏化位置信息的更新,每执行一次更新,则根据得到的梯度数据稀疏化位置信息将对应的优化器中间变量进行压缩存储,从而降低对计算节点的内存占用;
执行梯度数据的期望稀疏度的自动求解方案,实现期望稀疏度的扩大后,返回根据本发明上述实施例介绍的数据稀疏化目标函数的求解方法进行K次求解,直至模型精度和梯度稀疏度收敛。
本发明实施例提供的分布式训练通信方法,还提供了一种自动求解各层梯度数据的期望稀疏度的方案,无需人工设置各层梯度数据的期望稀疏度,进而实现更高效的分布式训练。
在上述实施例的基础上,本发明实施例进一步对不同类型的并行训练场景和梯度数据聚合方式下的稀疏化方案进行说明。
在上述实施例的基础上,在本发明实施例提供的分布式训练通信方法中,梯度数据聚合操作可以包括:
执行分布式训练任务的各计算节点将稀疏化的节点梯度数据发送至独立于计算节点的第一控制器,并接收第一控制器利用对应的梯度数据稀疏化位置信息对稀疏化的节点梯度数据进行解码后对各解码后的节点梯度数据进行聚合得到的梯度数据聚合结果。
参考图2,记第一控制器为图2中的控制器,则可以由第一控制器对稀疏化的梯度数据进行解码并执行梯度数据聚合操作。
在集中式梯度数据聚合操作的情况下,各计算节点可以采用相同的梯度数据稀疏化位置信息;
则接收到的第一控制器发送的梯度数据聚合结果为第一控制器根据计算节点的梯度数据稀疏化位置信息进行稀疏化处理后的稀疏化的梯度数据聚合结果。
即是说,在集中式梯度数据聚合操作的情况下,若各计算节点采用相同的梯度数据稀疏化位置信息,则第一控制器可以复用计算节点的梯度数据稀疏化位置信息。
在集中式梯度数据聚合操作的情况下,各计算节点也可以采用不同的梯度数据稀疏化位置信息;
则接收到的第一控制器发送的梯度数据聚合结果为根据第一控制器本地生成的梯度数据稀疏化位置信息进行稀疏化处理后的稀疏化的梯度数据聚合结果;
计算节点根据第一控制器的梯度数据稀疏化位置信息对稀疏化的梯度数据聚合结果进行解码得到解码后的梯度数据聚合结果,并利用解码后的梯度数据聚合结果进行模型参数更新操作。
即是说,在集中式梯度数据聚合操作的情况下,若各计算节点采用不相同的梯度数据稀疏化位置信息,则第一控制器可以利用本地的梯度数据稀疏化位置信息对梯度数据聚合结果进行稀疏化处理后再发给计算节点。
或者,第一控制器可以不再进行梯度数据稀疏化处理,而是将梯度数据聚合结果直接分发至各计算节点。
上述实施例介绍了集中式梯度数据聚合场景下的梯度数据稀疏化位置信息,本发明实施例继续介绍全规约式梯度数据聚合场景下的梯度数据稀疏化位置信息。
在本发明实施例提供的分布式训练通信方法中,梯度数据聚合操作可以包括:
执行分布式训练任务的各计算节点沿全规约逻辑链的同步方向传输稀疏化的节点梯度数据,并利用对应的梯度数据稀疏化位置信息对接收到的稀疏化的节点梯度数据进行解码以及聚合得到的梯度数据聚合结果。
在全规约法进行梯度数据聚合的情况下,梯度数据的收发节点均为计算节点,故由计算节点对本地生成的梯度数据进行稀疏化处理的同时,也由计算节点对接收到的稀疏化的梯度数据进行解码,各计算节点共用的梯度数据稀疏化位置信息或各计算节点本地的梯度数据稀疏化位置信息再全规约逻辑链中共享。
在全规约法进行梯度数据聚合的情况下,若各计算节点采用相同的梯度数据稀疏化位置信息;
则利用对应的梯度数据稀疏化位置信息对接收到的稀疏化的节点梯度数据进行解码以及聚合得到的梯度数据聚合结果,可以包括:
先对各稀疏化的节点梯度数据进行聚合操作得到稀疏化的梯度数据聚合结果,再根据梯度数据稀疏化位置信息对稀疏化的梯度数据聚合结果进行解码得到梯度数据聚合结果。
即是说,若采用全规约法进行梯度数据聚合,若各计算节点采用相同的梯度数据稀疏化位置信息,则可以先聚合再解码,减少所需解码次数。
在全规约法进行梯度数据聚合的情况下,若各计算节点采用不同的梯度数据稀疏化位置信息;
则利用对应的梯度数据稀疏化位置信息对接收到的稀疏化的节点梯度数据进行解码以及聚合得到的梯度数据聚合结果,可以包括:
利用对应的梯度数据稀疏化位置信息对接收到的稀疏化的节点梯度数据进行解码得到节点梯度数据;
当确定接收到所有计算节点的节点梯度数据后,对所有节点梯度数据进行聚合得到梯度数据聚合结果。
即是说,若采用全规约法进行梯度数据聚合,若各计算节点采用不同的梯度数据稀疏化位置信息,则需要先解码后聚合。
在本发明实施例提供的另一种实施方式中,若各计算节点采用不同的梯度数据稀疏化位置信息;
则执行分布式训练任务的各计算节点沿全规约逻辑链的同步方向传输稀疏化的节点梯度数据,并利用对应的梯度数据稀疏化位置信息对接收到的稀疏化的节点梯度数据进行解码以及聚合得到的梯度数据聚合结果,可以包括:
计算节点利用对应的梯度数据稀疏化位置信息对接收到的稀疏化的节点梯度数据进行解码得到解码后的节点梯度数据,并将解码后的节点梯度数据与本地的节点梯度数据进行聚合得到第一部分梯度数据聚合结果,并利用本地的梯度数据稀疏化位置信息对第一部分梯度数据聚合结果进行稀疏化处理后,将稀疏化的第一部分梯度数据聚合结果沿全规约逻辑链的同步方向传输至下一计算节点;
计算节点在接收到稀疏化的梯度数据后,利用其发送方节点的梯度数据稀疏化位置信息对稀疏化的梯度数据进行解码得到解码后的梯度数据,直至完成所有节点梯度数据的聚合操作后停止,得到梯度数据聚合结果。
即是说,若采用全规约法进行梯度数据聚合,若各计算节点采用不同的梯度数据稀疏化位置信息,且各计算节点每次执行一次聚合都再执行一次稀疏化再传输,计算节点接收到稀疏化的梯度数据后仅利用其上一计算节点的梯度数据稀疏化位置信息进行解码。
上述实施例中介绍了分布式训练中对所需通信传输的梯度数据进行稀疏化的方法。而在模型并行场景下,由于执行模型并行训练的计算节点并没有完整的梯度数据和模型参数,故需要收集梯度数据和模型参数后才能进行梯度数据稀疏化位置信息的求解,此时也涉及到了模型参数的传输。
请参考图2或图3,在模型并行的情况下,必须有一个节点根据完整的模型参数和梯度数据进行稀疏化计算得到梯度数据稀疏化位置信息。模型并行的背景往往是整体模型的数据量超出单个计算节点的承载能力,故通常采用集中式梯度数据聚合方法。此时,控制器所执行的梯度数据聚合操作为将各计算节点的节点梯度数据组成完整的梯度数据(区分于数据并行场景下将节点梯度数据进行加权求和再求平均值的梯度数据聚合操作)。
在本发明实施例提供的分布式训练通信方法中,若计算节点采用模型并行计算方式执行分布式训练任务,梯度数据聚合操作可以包括:
执行模型并行计算的各计算节点根据独立于计算节点的第二控制器下发的梯度数据稀疏化位置信息对节点梯度数据进行稀疏化处理后将稀疏化的节点梯度数据上传至第二控制器;
第二控制器利用梯度数据稀疏化位置信息对稀疏化的节点梯度数据进行解码后,对各解码后的节点梯度数据进行聚合得到的梯度数据聚合结果,并利用梯度数据聚合结果对分布式训练任务的模型网络进行模型参数更新后,将对应的模型参数发送至计算节点以进行下一次迭代计算。
即是说,各计算节点将计算得到的节点梯度数据(相较于整个模型来说是部分梯度数据)进行稀疏化处理后,将稀疏化的节点梯度数据上传至第二控制器,由第二控制器进行解码以及聚合后得到梯度数据聚合结果。由于执行模型并行计算的计算节点通常存在内存无法容纳全部模型参数的问题,故由第二控制器根据梯度数据聚合结果更新完整体模型参数后,将分属于各计算节点的模型参数更新至相应的计算节点以进行分布式训练的下一次迭代计算。
则在模型并行式的分布式训练中,还存在模型参数的传输问题。为进一步提高分布式训练的通信效率,在本发明实施例提供的分布式训练通信方法中,第二控制器将对应的模型参数发送至计算节点,可以包括:
第二控制器利用模型参数稀疏化位置信息对模型参数进行稀疏化处理后,将稀疏化的模型参数发送至对应的计算节点;
其中,模型参数稀疏化位置信息的生成方法包括:根据分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度以及模型参数的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于梯度数据聚合结果和模型网络求解数据稀疏化目标函数,得到包含梯度数据稀疏化位置信息和模型参数稀疏化位置信息的联合参数稀疏化位置信息。
其中,模型参数稀疏化位置信息包含了在设定的模型参数期望稀疏度下具体的模型参数稀疏化位置,即需要将哪些位置的模型参数进行删除。则模型参数稀疏化位置信息可以为一组被稀疏化的模型参数的位置编码,或者保留的模型参数的位置编码,该位置编码不仅供发送方节点对模型参数进行稀疏化处理,也供接收方对稀疏化的模型参数进行解码处理。
联合参数稀疏化位置信息则为包含本发明实施例所释义的梯度数据稀疏化位置信息和模型参数稀疏化位置信息两份位置信息。
即是说,在模型并行的情况下,集中的第二控制器求解梯度数据和模型参数的联合稀疏化方案,以实现上传的梯度数据、下载的模型参数均为稀疏化的数据。
在本发明实施例提供的分布式训练通信方法中,数据稀疏化目标函数可以通过下式表示:
;
即相较于仅由梯度数据约束的数据稀疏化目标函数中增加模型参数的约束;其中,为满足模型网络的第i层的模型参数的期望稀疏度的模型参数稀疏化值的集合。需要说明的是,由于参数矩阵的数据量通常远大于偏置参数的数据量,故仅对参数矩阵进行稀疏化求解即可。
与本发明实施例所提供的仅由梯度数据约束的数据稀疏化目标函数的求解同理的,在梯度数据和模型参数联合稀疏化求解方案中,基于梯度数据聚合结果和模型网络求解数据稀疏化目标函数,得到包含梯度数据稀疏化位置信息和模型参数稀疏化位置信息的联合参数稀疏化位置信息,可以包括:
通过增强拉格朗日方法将数据稀疏化目标函数转换为非约束优化问题,得到下式:
;
其中,,/>;
循环执行下式,直至满足、/>、及/>:
;
;
;
;
;/>
其中,为联合参数稀疏化位置信息的模型精度损失值,/>为模型网络的第i层的参数矩阵,/>为模型网络的第i层的偏置参数,/>为满足期望稀疏度要求的模型网络的第i层的模型参数稀疏化值,/>为模型网络的第i层的梯度数据稀疏化值,/>为满足期望稀疏度要求的模型网络的第i层的梯度数据稀疏化值,/>为模型网络的第i层的模型参数的辅助变量,/>为模型网络的第i层的梯度数据的辅助变量,/>为模型精度损失函数,/>为模型网络的第i层的模型参数稀疏化值满足模型网络的第i层的模型参数的期望稀疏度与否的指示函数,/>为模型网络的第i层的模型参数的惩罚参数,/>为模型网络的第i层的梯度数据稀疏化值满足模型网络的第i层的梯度数据的期望稀疏度与否的指示函数,/>为模型网络的第i层的梯度数据的惩罚参数,/>为二范数计算函数,/>为模型网络的第i层的模型参数的拉格朗日乘子,为模型网络的第i层的梯度数据的拉格朗日乘子,/>为在一次生成联合参数稀疏化位置信息时的第k次求解中模型网络的第i层的参数矩阵,/>为在一次生成联合参数稀疏化位置信息时的第k次求解中满足期望稀疏度要求的模型网络的第i层的模型参数稀疏化值,为在一次生成联合参数稀疏化位置信息时的第k+1次求解中满足期望稀疏度要求的模型网络的第i层的模型参数稀疏化值,/>为在一次生成联合参数稀疏化位置信息时的第k次求解中模型网络的第i层的梯度数据稀疏化值,/>为在一次生成联合参数稀疏化位置信息时的第k次求解中满足期望稀疏度要求的模型网络的第i层的梯度数据稀疏化值,/>为在一次生成联合参数稀疏化位置信息时的第k+1次求解中满足期望稀疏度要求的模型网络的第i层的梯度数据稀疏化值,/>为模型网络的第i层的模型参数的第三稀疏化阈值,/>为模型网络的第i层的模型参数的第四稀疏化阈值,/>为模型网络的第i层的梯度数据的第五稀疏化阈值,/>为模型网络的第i层的梯度数据的第六稀疏化阈值,/>为在一次生成联合参数稀疏化位置信息时的第k+1次求解中模型网络的第i层的参数矩阵,/>为在一次生成联合参数稀疏化位置信息时的第k+1次求解中模型网络的第i层的偏置参数,argmin为最小值计算函数,/>为在一次生成联合参数稀疏化位置信息时的第k次求解中的模型精度损失值中间变量,/>为在一次生成联合参数稀疏化位置信息时的第k次求解中模型网络的第i层的偏置参数,/>为在一次生成联合参数稀疏化位置信息时的第k次求解中模型网络的第i层的模型参数的辅助变量,/>为在一次生成联合参数稀疏化位置信息时的第k次求解中模型网络的第i层的梯度数据的辅助变量,/>为一次生成联合参数稀疏化位置信息时的第k+1次求解中模型网络的第i层的模型参数的辅助变量,/>为在一次生成联合参数稀疏化位置信息时的第k+1次求解中模型网络的第i层的梯度数据的辅助变量,k为自然数。
本发明实施例提供的分布式训练通信方法,还通过在执行模型并行式的分布式训练时,由执行梯度数据聚合操作的控制器进行模型参数稀疏化和梯度数据稀疏化的联合优化,在模型并行计算中进一步减少了节点间传输的数据量,从而进一步在保证模型精度的同时提高了模型并行式的分布式训练效率。
在上述实施例的基础上,本发明实施例还提供一种分布式训练通信方法,应用于控制器,包括:
接收执行分布式训练任务的各计算节点上传的稀疏化的节点梯度数据;
利用对应的梯度数据稀疏化位置信息对稀疏化的节点梯度数据进行解码,得到解码后的节点梯度数据;
对解码后的节点梯度数据进行聚合得到梯度数据聚合结果;
将梯度数据聚合结果或利用梯度数据聚合结果更新后的模型参数下发至各计算节点。
其中,计算节点上传的稀疏化的节点梯度数据为计算节点根据本地的梯度数据稀疏化位置信息对执行分布式训练任务的当前次迭代计算得到的节点梯度数据进行稀疏化处理后得到的;
梯度数据稀疏化位置信息的生成方法包括:根据分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于分布式训练任务的迭代计算得到的节点梯度数据和分布式训练任务的模型网络求解数据稀疏化目标函数,得到梯度数据稀疏化位置信息;
在执行分布式训练任务时,梯度数据稀疏化位置信息的生成次数小于分布式训练任务的迭代计算次数。
在本发明实施例中,在执行集中式聚合的分布式训练以及不同的并行计算方式的分布式训练的实施方式,可以参考本发明上述实施例的记载。
需要说明的是,在本发明各分布式训练通信方法的实施例中,各步骤或特征中的部分可以忽略或不执行。为方便说明所划分的硬件或软件功能模块,也并非实现本发明实施例提供的分布式训练通信方法的唯一实现形式。
上文详述了分布式训练通信方法对应的各个实施例,在此基础上,本发明还公开了与上述方法对应的分布式训练通信装置、设备及存储介质。
图5为本发明实施例提供的一种分布式训练通信装置的结构示意图;图6为本发明实施例提供的另一种分布式训练通信装置的结构示意图。
如图5所示,基于计算节点,本发明实施例提供的分布式训练通信装置包括:
第一稀疏化处理单元501,用于在执行分布式训练任务的当前次迭代计算得到节点梯度数据后,获取本地的梯度数据稀疏化位置信息以对节点梯度数据进行稀疏化处理;
第一输出单元502,用于输出稀疏化的节点梯度数据以执行分布式训练任务的梯度数据聚合操作;
其中,梯度数据聚合操作为利用对应的梯度数据稀疏化位置信息对稀疏化的节点梯度数据进行解码后,利用解码后的节点梯度数据进行的梯度数据聚合操作;
梯度数据稀疏化位置信息的生成方法包括:根据分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于分布式训练任务的迭代计算得到的节点梯度数据和分布式训练任务的模型网络求解数据稀疏化目标函数,得到梯度数据稀疏化位置信息;
在执行分布式训练任务时,梯度数据稀疏化位置信息的生成次数小于分布式训练任务的迭代计算次数。
如图6所示,基于控制器,本发明实施例提供的分布式训练通信装置包括:
第一接收单元601,用于接收执行分布式训练任务的各计算节点上传的稀疏化的节点梯度数据;
第一解码单元602,用于利用对应的梯度数据稀疏化位置信息对稀疏化的节点梯度数据进行解码,得到解码后的节点梯度数据;
第一聚合处理单元603,用于对解码后的节点梯度数据进行聚合得到梯度数据聚合结果;
第二输出单元604,用于将梯度数据聚合结果或利用梯度数据聚合结果更新后的模型参数下发至各计算节点;
其中,计算节点上传的稀疏化的节点梯度数据为计算节点根据本地的梯度数据稀疏化位置信息对执行分布式训练任务的当前次迭代计算得到的节点梯度数据进行稀疏化处理后得到的;
梯度数据稀疏化位置信息的生成方法包括:根据分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于分布式训练任务的迭代计算得到的节点梯度数据和分布式训练任务的模型网络求解数据稀疏化目标函数,得到梯度数据稀疏化位置信息;
在执行分布式训练任务时,梯度数据稀疏化位置信息的生成次数小于分布式训练任务的迭代计算次数。
需要说明的是,本发明实施例提供的分布式训练通信装置的各实施方式中,单元的划分仅为一种逻辑功能上的划分,可以采用其他的划分方式。不同单元之间的连接方式可以采用电性、机械或其他连接方式。分离的单元可以位于同一物理位置或分布在多个网络节点上。各单元可以以硬件的形式实现,也可以采用软件功能单元的形式实现。即可以根据实际需要选择本发明实施例提供的各单元的部分或全部并采用相应的连接方式或集成方式来实现本发明实施例方案的目的。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图7为本发明实施例提供的一种分布式训练通信设备的结构示意图。
如图7所示,本发明实施例提供的分布式训练通信设备包括:
存储器710,用于存储计算机程序711;
处理器720,用于执行计算机程序711,该计算机程序711被处理器720执行时实现如上述任意一项实施例提供的分布式训练通信方法的步骤。
其中,处理器720可以包括一个或多个处理核心,比如3核心处理器、8核心处理器等。处理器720可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器720也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器720可以集成有图像处理器(Graphics Processing Unit,GPU),图像处理器用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器720还可以包括人工智能(Artificial Intelligence,AI)处理器,该人工智能处理器用于处理有关机器学习的计算操作。
存储器710可以包括一个或多个存储介质,该存储介质可以是非暂态的。存储器710还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器710至少用于存储以下计算机程序711,其中,该计算机程序711被处理器720加载并执行之后,能够实现前述任一实施例公开的分布式训练通信方法中的相关步骤。另外,存储器710所存储的资源还可以包括操作系统712和数据713等,存储方式可以是短暂存储或者永久存储。其中,操作系统712可以为Windows、Lunu分布式训练通信或其他类型的操作系统。数据713可以包括但不限于上述方法所涉及到的数据。
在一些实施例中,分布式训练通信设备还可包括有显示屏730、电源740、通信接口750、输入输出接口760、传感器770以及通信总线780。
本领域技术人员可以理解,图7中示出的结构并不构成对分布式训练通信设备的限定,可以包括比图示更多或更少的组件。
本发明实施例提供的分布式训练通信设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如上述实施例提供的分布式训练通信方法,效果同上。
本发明实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可以实现如上述任意一项实施例所述分布式训练通信方法的步骤。
该存储介质可以包括:U盘、移动硬盘、只读存储器ROM(Read-Only Memory)、随机存取存储器RAM(Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明实施例提供的存储介质的介绍请参照上述方法实施例,且其所起到的效果同本发明实施例提供的分布式训练通信方法,本发明在此不做赘述。
以上对本发明所提供的一种分布式训练通信方法、装置、系统、设备及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及存储介质而言,由于其与实施例公开的方法及系统相对应,所以描述的比较简单,相关之处参见方法及系统部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (24)
1.一种分布式训练通信方法,其特征在于,应用于计算节点,包括:
在执行分布式训练任务的当前次迭代计算得到节点梯度数据后,获取本地的梯度数据稀疏化位置信息以对所述节点梯度数据进行稀疏化处理;
输出稀疏化的所述节点梯度数据以执行所述分布式训练任务的梯度数据聚合操作;
其中,所述梯度数据聚合操作为利用对应的所述梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码后,利用解码后的所述节点梯度数据进行的所述梯度数据聚合操作;
所述梯度数据稀疏化位置信息的生成方法包括:根据所述分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于所述分布式训练任务的迭代计算得到的所述节点梯度数据和所述分布式训练任务的模型网络求解所述数据稀疏化目标函数,得到所述梯度数据稀疏化位置信息;
在执行所述分布式训练任务时,所述梯度数据稀疏化位置信息的生成次数小于所述分布式训练任务的迭代计算次数。
2.根据权利要求1所述的分布式训练通信方法,其特征在于,所述数据稀疏化目标函数通过下式表示:
;
其中,为最小化函数,/>为所述模型精度损失函数,/>为所述模型网络的第i层的参数矩阵,/>为所述模型网络的第i层的偏置参数,/>为所述模型网络的第i层的梯度数据稀疏化值,/>为满足所述模型网络的第i层的梯度数据的期望稀疏度的梯度数据稀疏化值的集合,N为正整数。
3.根据权利要求2所述的分布式训练通信方法,其特征在于,所述基于所述分布式训练任务的迭代计算得到的所述节点梯度数据和所述分布式训练任务的模型网络求解所述数据稀疏化目标函数,得到所述梯度数据稀疏化位置信息,包括:
通过增强拉格朗日方法将所述数据稀疏化目标函数转换为非约束优化问题,得到下式:
;
其中,;
循环执行下式,直至满足及/>:
;
;
;
其中,为所述梯度数据稀疏化位置信息的模型精度损失值,/>为满足期望稀疏度要求的所述模型网络的第i层的梯度数据稀疏化值,/>为所述模型网络的第i层的梯度数据的辅助变量,/>为所述模型网络的第i层的梯度数据稀疏化值满足所述模型网络的第i层的梯度数据的期望稀疏度与否的指示函数,/>为所述模型网络的第i层的梯度数据的惩罚参数,/>为二范数计算函数,/>为所述模型网络的第i层的梯度数据的拉格朗日乘子,argmin为最小值计算函数,/>为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中所述模型网络的第i层的梯度数据稀疏化值,/>为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中满足期望稀疏度要求的所述模型网络的第i层的梯度数据稀疏化值,/>为在一次生成所述梯度数据稀疏化位置信息时的第k+1次求解中满足期望稀疏度要求的所述模型网络的第i层的梯度数据稀疏化值,/>为所述模型网络的第i层的梯度数据的第一稀疏化误差阈值,/>为所述模型网络的第i层的梯度数据的第二稀疏化误差阈值,/>为在一次生成所述梯度数据稀疏化位置信息时的第k+1次求解中所述模型网络的第i层的参数矩阵,/>为在一次生成所述梯度数据稀疏化位置信息时的第k+1次求解中所述模型网络的第i层的偏置参数,/>为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中所述模型网络的第i层的参数矩阵,/>为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中所述模型网络的第i层的偏置参数,/>为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中所述模型网络的第i层的辅助变量,/>为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中的模型精度损失值中间变量,/>为在一次生成所述梯度数据稀疏化位置信息时的第k+1次求解中所述模型网络的第i层的辅助变量,k为自然数。
4.根据权利要求3所述的分布式训练通信方法,其特征在于,所述惩罚参数根据下述步骤得到:
根据所述梯度数据聚合操作的类型,获取梯度数据的发送方节点和梯度数据的接收方节点的通信负载参数;
根据所述通信负载参数确定惩罚参数,以使当所述发送方节点和所述接收方节点之间的通信负载越重时所述发送方节点的所述惩罚参数越大。
5.根据权利要求1所述的分布式训练通信方法,其特征在于,所述梯度数据的期望稀疏度通过下式得到:
;
其中,;
为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中所述模型网络的第i层的期望梯度稀疏度,/>为在一次生成所述梯度数据稀疏化位置信息时的第k+1次求解中所述模型网络的第i层的期望梯度稀疏度,/>为第一稀疏度更新步长,/>为第一收敛度变量,/>为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中满足期望稀疏度要求的所述模型网络的第i层的梯度数据稀疏化值,/>为在一次生成所述梯度数据稀疏化位置信息时的第k次求解中所述模型网络的第i层的梯度数据稀疏化值,/>为二范数计算函数。
6.根据权利要求1所述的分布式训练通信方法,其特征在于,利用对应的所述梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码,包括:
根据生成稀疏化的所述节点梯度数据的所述计算节点的所述梯度数据稀疏化位置信息确定被稀疏化的梯度数据的位置信息;
根据被稀疏化的梯度数据的位置信息在稀疏化的所述节点梯度数据中对被稀疏化的梯度数据进行置零处理,得到解码后的所述节点梯度数据。
7.根据权利要求1所述的分布式训练通信方法,其特征在于,所述梯度数据聚合操作包括:
执行所述分布式训练任务的各所述计算节点将稀疏化的所述节点梯度数据发送至独立于所述计算节点的第一控制器,并接收所述第一控制器利用对应的所述梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码后对各解码后的所述节点梯度数据进行聚合得到的梯度数据聚合结果。
8.根据权利要求7所述的分布式训练通信方法,其特征在于,各所述计算节点采用相同的所述梯度数据稀疏化位置信息;
接收到的所述第一控制器发送的所述梯度数据聚合结果为所述第一控制器根据所述计算节点的所述梯度数据稀疏化位置信息进行稀疏化处理后的稀疏化的所述梯度数据聚合结果。
9.根据权利要求7所述的分布式训练通信方法,其特征在于,各所述计算节点采用不同的所述梯度数据稀疏化位置信息;
接收到的所述第一控制器发送的所述梯度数据聚合结果为根据所述第一控制器本地生成的所述梯度数据稀疏化位置信息进行稀疏化处理后的稀疏化的所述梯度数据聚合结果;
所述计算节点根据所述第一控制器的梯度数据稀疏化位置信息对稀疏化的所述梯度数据聚合结果进行解码得到解码后的所述梯度数据聚合结果,并利用解码后的所述梯度数据聚合结果进行模型参数更新操作。
10.根据权利要求1所述的分布式训练通信方法,其特征在于,所述梯度数据聚合操作包括:
执行所述分布式训练任务的各所述计算节点沿全规约逻辑链的同步方向传输稀疏化的所述节点梯度数据,并利用对应的所述梯度数据稀疏化位置信息对接收到的稀疏化的所述节点梯度数据进行解码以及聚合得到的梯度数据聚合结果。
11.根据权利要求10所述的分布式训练通信方法,其特征在于,各所述计算节点采用相同的所述梯度数据稀疏化位置信息;
利用对应的所述梯度数据稀疏化位置信息对接收到的稀疏化的所述节点梯度数据进行解码以及聚合得到的梯度数据聚合结果,包括:
先对各稀疏化的所述节点梯度数据进行聚合操作得到稀疏化的所述梯度数据聚合结果,再根据所述梯度数据稀疏化位置信息对稀疏化的所述梯度数据聚合结果进行解码得到所述梯度数据聚合结果。
12.根据权利要求10所述的分布式训练通信方法,其特征在于,各所述计算节点采用不同的所述梯度数据稀疏化位置信息;
利用对应的所述梯度数据稀疏化位置信息对接收到的稀疏化的所述节点梯度数据进行解码以及聚合得到的梯度数据聚合结果,包括:
利用对应的所述梯度数据稀疏化位置信息对接收到的稀疏化的所述节点梯度数据进行解码得到所述节点梯度数据;
当确定接收到所有所述计算节点的所述节点梯度数据后,对所有所述节点梯度数据进行聚合得到所述梯度数据聚合结果。
13.根据权利要求10所述的分布式训练通信方法,其特征在于,各所述计算节点采用不同的所述梯度数据稀疏化位置信息;
执行所述分布式训练任务的各所述计算节点沿全规约逻辑链的同步方向传输稀疏化的所述节点梯度数据,并利用对应的所述梯度数据稀疏化位置信息对接收到的稀疏化的所述节点梯度数据进行解码以及聚合得到的梯度数据聚合结果,包括:
所述计算节点利用对应的所述梯度数据稀疏化位置信息对接收到的稀疏化的所述节点梯度数据进行解码得到解码后的所述节点梯度数据,并将解码后的所述节点梯度数据与本地的所述节点梯度数据进行聚合得到第一部分梯度数据聚合结果,并利用本地的所述梯度数据稀疏化位置信息对所述第一部分梯度数据聚合结果进行稀疏化处理后,将稀疏化的所述第一部分梯度数据聚合结果沿所述全规约逻辑链的同步方向传输至下一所述计算节点;
所述计算节点在接收到稀疏化的梯度数据后,利用其发送方节点的所述梯度数据稀疏化位置信息对稀疏化的梯度数据进行解码得到解码后的梯度数据,直至完成所有所述节点梯度数据的聚合操作后停止,得到所述梯度数据聚合结果。
14.根据权利要求1所述的分布式训练通信方法,其特征在于,所述计算节点采用模型并行计算方式执行所述分布式训练任务;
所述梯度数据聚合操作包括:
执行模型并行计算的各所述计算节点根据独立于所述计算节点的第二控制器下发的所述梯度数据稀疏化位置信息对节点梯度数据进行稀疏化处理后将稀疏化的所述节点梯度数据上传至所述第二控制器;
所述第二控制器利用所述梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码后,对各解码后的所述节点梯度数据进行聚合得到的梯度数据聚合结果,并利用所述梯度数据聚合结果对所述分布式训练任务的模型网络进行模型参数更新后,将对应的模型参数发送至所述计算节点以进行下一次迭代计算。
15.根据权利要求14所述的分布式训练通信方法,其特征在于,所述第二控制器将对应的模型参数发送至所述计算节点,包括:
所述第二控制器利用模型参数稀疏化位置信息对模型参数进行稀疏化处理后,将稀疏化的模型参数发送至对应的所述计算节点;
其中,所述模型参数稀疏化位置信息的生成方法包括:根据所述分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度以及模型参数的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的所述数据稀疏化目标函数;基于所述梯度数据聚合结果和所述模型网络求解所述数据稀疏化目标函数,得到包含所述梯度数据稀疏化位置信息和所述模型参数稀疏化位置信息的联合参数稀疏化位置信息。
16.根据权利要求15所述的分布式训练通信方法,其特征在于,所述基于所述梯度数据聚合结果和所述模型网络求解所述数据稀疏化目标函数,得到包含所述梯度数据稀疏化位置信息和所述模型参数稀疏化位置信息的联合参数稀疏化位置信息,包括:
通过增强拉格朗日方法将所述数据稀疏化目标函数转换为非约束优化问题,得到下式:
;
其中,,/>;
循环执行下式,直至满足、/>、及/>:
;
;
;
;
;
其中,为所述联合参数稀疏化位置信息的模型精度损失值,/>为所述模型网络的第i层的参数矩阵,/>为所述模型网络的第i层的偏置参数,/>为满足期望稀疏度要求的所述模型网络的第i层的模型参数稀疏化值,/>为所述模型网络的第i层的梯度数据稀疏化值,/>为满足期望稀疏度要求的所述模型网络的第i层的梯度数据稀疏化值,/>为所述模型网络的第i层的模型参数的辅助变量,/>为所述模型网络的第i层的梯度数据的辅助变量,/>为所述模型精度损失函数,为所述模型网络的第i层的模型参数稀疏化值满足所述模型网络的第i层的模型参数的期望稀疏度与否的指示函数,/>为所述模型网络的第i层的模型参数的惩罚参数,为所述模型网络的第i层的梯度数据稀疏化值满足所述模型网络的第i层的梯度数据的期望稀疏度与否的指示函数,/>为所述模型网络的第i层的梯度数据的惩罚参数,/>为二范数计算函数,/>为所述模型网络的第i层的模型参数的拉格朗日乘子,/>为所述模型网络的第i层的梯度数据的拉格朗日乘子,/>为在一次生成所述联合参数稀疏化位置信息时的第k次求解中所述模型网络的第i层的参数矩阵,/>为在一次生成所述联合参数稀疏化位置信息时的第k次求解中满足期望稀疏度要求的所述模型网络的第i层的模型参数稀疏化值,/>为在一次生成所述联合参数稀疏化位置信息时的第k+1次求解中满足期望稀疏度要求的所述模型网络的第i层的模型参数稀疏化值,/>为在一次生成所述联合参数稀疏化位置信息时的第k次求解中所述模型网络的第i层的梯度数据稀疏化值,/>为在一次生成所述联合参数稀疏化位置信息时的第k次求解中满足期望稀疏度要求的所述模型网络的第i层的梯度数据稀疏化值,/>为在一次生成所述联合参数稀疏化位置信息时的第k+1次求解中满足期望稀疏度要求的所述模型网络的第i层的梯度数据稀疏化值,/>为所述模型网络的第i层的模型参数的第三稀疏化阈值,/>为所述模型网络的第i层的模型参数的第四稀疏化阈值,/>为所述模型网络的第i层的梯度数据的第五稀疏化阈值,/>为所述模型网络的第i层的梯度数据的第六稀疏化阈值,/>为在一次生成所述联合参数稀疏化位置信息时的第k+1次求解中所述模型网络的第i层的参数矩阵,/>为在一次生成所述联合参数稀疏化位置信息时的第k+1次求解中所述模型网络的第i层的偏置参数,argmin为最小值计算函数,/>为在一次生成所述联合参数稀疏化位置信息时的第k次求解中的模型精度损失值中间变量,/>为在一次生成所述联合参数稀疏化位置信息时的第k次求解中所述模型网络的第i层的偏置参数,/>为在一次生成所述联合参数稀疏化位置信息时的第k次求解中所述模型网络的第i层的模型参数的辅助变量,/>为在一次生成所述联合参数稀疏化位置信息时的第k次求解中所述模型网络的第i层的梯度数据的辅助变量,/>为一次生成所述联合参数稀疏化位置信息时的第k+1次求解中所述模型网络的第i层的模型参数的辅助变量,/>为在一次生成所述联合参数稀疏化位置信息时的第k+1次求解中所述模型网络的第i层的梯度数据的辅助变量,k为自然数。
17.根据权利要求1所述的分布式训练通信方法,其特征在于,所述分布式训练任务为对话任务,所述模型精度损失函数通过下式表示:
;
其中,为所述模型精度损失函数,W为参数矩阵,b为偏置参数,T为句子长度,|V|为词表大小,/>为预测语句中第t个位置的值是词表第j个词的概率,/>为标准语句中第t个位置的值是词表第j个词的概率。
18.一种分布式训练通信方法,其特征在于,应用于控制器,包括:
接收执行分布式训练任务的各计算节点上传的稀疏化的节点梯度数据;
利用对应的梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码,得到解码后的所述节点梯度数据;
对解码后的所述节点梯度数据进行聚合得到梯度数据聚合结果;
将所述梯度数据聚合结果或利用所述梯度数据聚合结果更新后的模型参数下发至各所述计算节点;
其中,所述计算节点上传的稀疏化的所述节点梯度数据为所述计算节点根据本地的所述梯度数据稀疏化位置信息对执行所述分布式训练任务的当前次迭代计算得到的所述节点梯度数据进行稀疏化处理后得到的;
所述梯度数据稀疏化位置信息的生成方法包括:根据所述分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于所述分布式训练任务的迭代计算得到的所述节点梯度数据和所述分布式训练任务的模型网络求解所述数据稀疏化目标函数,得到所述梯度数据稀疏化位置信息;
在执行所述分布式训练任务时,所述梯度数据稀疏化位置信息的生成次数小于所述分布式训练任务的迭代计算次数。
19.一种分布式训练通信系统,其特征在于,包括用于执行分布式训练任务的多个计算节点;
其中,各所述计算节点用于在执行所述分布式训练任务的当前次迭代计算得到节点梯度数据后,获取本地的梯度数据稀疏化位置信息以对所述节点梯度数据进行稀疏化处理;输出稀疏化的所述节点梯度数据以执行所述分布式训练任务的梯度数据聚合操作;
其中,所述梯度数据聚合操作为利用对应的所述梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码后,利用解码后的所述节点梯度数据进行的所述梯度数据聚合操作;
所述梯度数据稀疏化位置信息的生成方法包括:根据所述分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于所述分布式训练任务的迭代计算得到的所述节点梯度数据和所述分布式训练任务的模型网络求解所述数据稀疏化目标函数,得到所述梯度数据稀疏化位置信息;
在执行所述分布式训练任务时,所述梯度数据稀疏化位置信息的生成次数小于所述分布式训练任务的迭代计算次数。
20.根据权利要求19所述的分布式训练通信系统,其特征在于,还包括独立于所述计算节点的控制器;
所述控制器用于接收各所述计算节点上传的稀疏化的所述节点梯度数据;利用对应的所述梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码,得到解码后的所述节点梯度数据;对解码后的所述节点梯度数据进行聚合得到梯度数据聚合结果;将所述梯度数据聚合结果或利用所述梯度数据聚合结果更新后的模型参数下发至各所述计算节点。
21.一种分布式训练通信装置,其特征在于,基于计算节点,包括:
第一稀疏化处理单元,用于在执行分布式训练任务的当前次迭代计算得到节点梯度数据后,获取本地的梯度数据稀疏化位置信息以对所述节点梯度数据进行稀疏化处理;
第一输出单元,用于输出稀疏化的所述节点梯度数据以执行所述分布式训练任务的梯度数据聚合操作;
其中,所述梯度数据聚合操作为利用对应的所述梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码后,利用解码后的所述节点梯度数据进行的所述梯度数据聚合操作;
所述梯度数据稀疏化位置信息的生成方法包括:根据所述分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于所述分布式训练任务的迭代计算得到的所述节点梯度数据和所述分布式训练任务的模型网络求解所述数据稀疏化目标函数,得到所述梯度数据稀疏化位置信息;
在执行所述分布式训练任务时,所述梯度数据稀疏化位置信息的生成次数小于所述分布式训练任务的迭代计算次数。
22.一种分布式训练通信装置,其特征在于,基于控制器,包括:
第一接收单元,用于接收执行分布式训练任务的各计算节点上传的稀疏化的节点梯度数据;
第一解码单元,用于利用对应的梯度数据稀疏化位置信息对稀疏化的所述节点梯度数据进行解码,得到解码后的所述节点梯度数据;
第一聚合处理单元,用于对解码后的所述节点梯度数据进行聚合得到梯度数据聚合结果;
第二输出单元,用于将所述梯度数据聚合结果或利用所述梯度数据聚合结果更新后的模型参数下发至各所述计算节点;
其中,所述计算节点上传的稀疏化的所述节点梯度数据为所述计算节点根据本地的所述梯度数据稀疏化位置信息对执行所述分布式训练任务的当前次迭代计算得到的所述节点梯度数据进行稀疏化处理后得到的;
所述梯度数据稀疏化位置信息的生成方法包括:根据所述分布式训练任务的模型精度损失函数,构建以满足梯度数据的期望稀疏度为约束条件、以模型精度损失最小化为优化目标的数据稀疏化目标函数;基于所述分布式训练任务的迭代计算得到的所述节点梯度数据和所述分布式训练任务的模型网络求解所述数据稀疏化目标函数,得到所述梯度数据稀疏化位置信息;
在执行所述分布式训练任务时,所述梯度数据稀疏化位置信息的生成次数小于所述分布式训练任务的迭代计算次数。
23.一种分布式训练通信设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至18任意一项所述分布式训练通信方法的步骤。
24.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至18任意一项所述分布式训练通信方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410230106.4A CN117808083B (zh) | 2024-02-29 | 2024-02-29 | 一种分布式训练通信方法、装置、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410230106.4A CN117808083B (zh) | 2024-02-29 | 2024-02-29 | 一种分布式训练通信方法、装置、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117808083A CN117808083A (zh) | 2024-04-02 |
CN117808083B true CN117808083B (zh) | 2024-05-03 |
Family
ID=90423886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410230106.4A Active CN117808083B (zh) | 2024-02-29 | 2024-02-29 | 一种分布式训练通信方法、装置、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117808083B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245743A (zh) * | 2019-05-23 | 2019-09-17 | 中山大学 | 一种异步分布式深度学习训练方法、装置及系统 |
CN116306912A (zh) * | 2023-01-13 | 2023-06-23 | 电子科技大学 | 一种分布式联邦学习的模型参数更新方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10832139B2 (en) * | 2018-06-22 | 2020-11-10 | Moffett Technologies Co. Limited | Neural network acceleration and embedding compression systems and methods with activation sparsification |
US20230196205A1 (en) * | 2021-12-20 | 2023-06-22 | Electronics And Telecommunications Research Institute | Distributed artificial intelligence system using transmission of compressed gradients and model parameter, and learning apparatus and method therefor |
-
2024
- 2024-02-29 CN CN202410230106.4A patent/CN117808083B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245743A (zh) * | 2019-05-23 | 2019-09-17 | 中山大学 | 一种异步分布式深度学习训练方法、装置及系统 |
CN116306912A (zh) * | 2023-01-13 | 2023-06-23 | 电子科技大学 | 一种分布式联邦学习的模型参数更新方法 |
Non-Patent Citations (1)
Title |
---|
面向WSN的稀疏核学习机分布式训练方法;及歆荣;侯翠琴;侯义斌;;北京邮电大学学报;20160615(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117808083A (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111966800B (zh) | 情感对话生成方法、装置及情感对话模型训练方法、装置 | |
CN112633010B (zh) | 基于多头注意力和图卷积网络的方面级情感分析方法及系统 | |
CN113168563A (zh) | 用于神经网络的残差量化 | |
CN110275939B (zh) | 对话生成模型的确定方法及装置、存储介质、电子设备 | |
CN111897941A (zh) | 对话生成方法、网络训练方法、装置、存储介质及设备 | |
CN111243045B (zh) | 一种基于高斯混合模型先验变分自编码器的图像生成方法 | |
US20240135191A1 (en) | Method, apparatus, and system for generating neural network model, device, medium, and program product | |
CN106062786A (zh) | 用于训练神经网络的计算系统 | |
CN111709493B (zh) | 对象分类方法、训练方法、装置、设备及存储介质 | |
US20200134471A1 (en) | Method for Generating Neural Network and Electronic Device | |
US20230196202A1 (en) | System and method for automatic building of learning machines using learning machines | |
CN111368545A (zh) | 一种基于多任务学习的命名实体识别方法和装置 | |
CN113128206B (zh) | 基于单词重要性加权的问题生成方法 | |
Chien et al. | Variational and hierarchical recurrent autoencoder | |
CN111429893A (zh) | 基于Transitive STARGAN的多对多说话人转换方法 | |
CN115017178A (zh) | 数据到文本生成模型的训练方法和装置 | |
CN115101085A (zh) | 一种卷积增强外部注意力的多说话人时域语音分离方法 | |
CN108461080A (zh) | 一种基于hlstm模型的声学建模方法和装置 | |
CN111667069A (zh) | 预训练模型压缩方法、装置和电子设备 | |
CN114861907A (zh) | 数据计算方法、装置、存储介质和设备 | |
CN108234195B (zh) | 预测网络性能的方法和装置、设备、介质 | |
CN117808083B (zh) | 一种分布式训练通信方法、装置、系统、设备及存储介质 | |
CN114880527B (zh) | 一种基于多预测任务的多模态知识图谱表示方法 | |
CN116797850A (zh) | 基于知识蒸馏和一致性正则化的类增量图像分类方法 | |
CN111797220A (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 |