利索能及
我要发布
收藏
专利号: 2024103878933
申请人: 兰州交通大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种神经网络模型动态分层梯度压缩方法,其特征在于,包括如下步骤:

1)设计动态分层梯度压缩方法,就是给每层梯度计算一个合适的压缩阈值,具体为:首先,当某层l反向传播计算完成梯度后,将层l计算的梯度与该层中的梯度残差相加,梯度残差是计算节点中层l局部累积的所有先前梯度的总和;之后对层l的梯度应用Top‑K梯度选择策略,计算得到该层的梯度压缩阈值,通过该阈值对层l计算得到的梯度进行压缩,并使用压缩后的梯度通信;然后累积本次迭代的梯度残差,用于之后迭代计算得到的梯度中;通过多次比较迭代后每层的阈值变化,发现阈值变化缓慢只有轻微的差异,为进一步减少梯度压缩时间开销,根据训练过程中梯度变化缓慢的特点,对层阈值进行重用;在后续训练过程中每隔s次训练迭代对层阈值进行动态调整,并存储每层的阈值信息,然后在后续s‑1次迭代过程中重用该阈值;

2)根据运行平台所支持的硬件计算资源环境,采用具体的深度神经网络模型和训练数据集,对输入的多个小批量mini‑batch数据进行训练;

3)检测模型不同层的前向和反向传播计算时间开销,以及训练过程中内存占用信息,并使用相应数据结构进行记录和存储;

4)应用步骤3)中记录的层各类开销信息,采用启发式动态规划算法求解最佳的层梯度组合通信方式,将压缩后的多个层梯度信息合并一起通信,降低分层梯度通信过程中的通信延迟开销,进一步加速模型训练速度;

5)将具体的深度神经网络模型及步骤4)中最佳的层梯度组合通信方式作为输入,采用同步数据并行训练方法,在多个分布式设备上执行。

2.根据权利要求1所述的一种神经网络模型动态分层梯度压缩方法,其特征在于:步骤

2)中,所述硬件计算资源环境根据不同集群的GPU个数和通信带宽决定;具体的深度神经网络模型,依据输入的模型类型决定,对不同卷积神经网络模型、循环神经网络模型和Transformer同样适用;对输入的小批量数据依据所采用的数据集进行输入划分。

3.根据权利要求1所述的一种神经网络模型动态分层梯度压缩方法,其特征在于:步骤

3)中,对模型内部数据使用以下数据结构定义存储方式:使用字典键值进行存储,将层类型作为键,前向和反向传播计算时间、内存占用信息作为值进行存储,该占用信息主要包括:每层输出激活值大小、反向传播中的梯度大小、每层参数量。

4.根据权利要求1所述的一种神经网络模型动态分层梯度压缩方法,其特征在于:步骤

4)中所述的层梯度信息合并方法为:

4‑1)优化目标,根据输入的网络模型,结合具体硬件资源,在训练过程中尽可能将多个压缩后的梯度张量合并到一起通信,实现梯度计算和梯度通信最大重叠,降低分层梯度传输过程中的通信延迟开销;最终优化目标是通过层梯度合并来降低通信延迟开销,从而最小化一次训练迭代时间;

深度神经网络数据并行训练过程中,一次迭代训练时间由前向计算损失时间、反向逐层计算梯度时间、层梯度压缩时间和压缩后梯度通信时间四个部分组成,用公式表示如下:公式(1)表示一次迭代的时间由前向计算时间tf、反向逐层计算梯度时间 逐层梯度稀疏化时间 和没有重叠的通信时间 组成;公式(2)表示层l开始计算梯度的时刻 为前向计算结束的时刻或者层l+1稀疏化结束时刻;公式(3)表示层l的稀疏化时刻 为层l的梯度计算结束时刻;公式(4)表示层l开始通信的时刻由层l的稀疏化结束时刻和层l+1的通信结束时刻决定;

4‑2)层梯度合并算法,使用启发式动态规划算法确定一组最优的层梯度合并组合方式m,通过从后往前逐层遍历比较,满足条件则合并当前层梯度到其前一层计算的梯度中;在合并过程中,记录合并后相应的层号组合,用于之后训练过程;具体为:合并层定义为:如果在时刻τ处,将层l的梯度合并到层l‑1,并不压缩和通信层l的梯度,则层l为合并层,表示为用符号lm表示合并层,用符号ln表示普通层,则lm有如下约束:公式(5)中l>1表明第1层不能为合并层,因为没有前一层要合并; 表明lm这l‑1 l l‑1 l一层梯度计算完成后,没有压缩和通信;d =d+d 表明lm这一层的梯度张量d 将会累积l‑1到前一层张量d 中; 表示层l‑1的梯度计算可以在层l梯度计算完成后立即开始。