本申请涉及机器学习,具体涉及一种分布式训练方法、装置、电子设备、存储介质及程序产品。
背景技术:
1、机器学习模型在训练过程中需要对大量的训练数据进行特征学习,为了提高学习效率,可以使用分布式训练的方式,即利用多个处理节点共同配合进行模型训练。
2、在利用多个处理节点进行模型训练时,处理节点之间需要互相通信传输参数,随着模型训练的进行,处理节点之间传输的数据量也会越来越大,导致模型训练的效率低下。
技术实现思路
1、本申请实施例提供一种分布式训练方法、装置、电子设备、存储介质及程序产品,可以提升模型训练效率。
2、本申请实施例提供一种分布式训练方法,应用于分布式系统中的多个处理节点,该方法包括:
3、获取待训练模型的模型参数以及训练数据,所述模型参数包括多个子模型参数,所述训练数据包括多个子训练数据,所述子模型参数与所述处理节点一一对应,所述子训练数据与所述处理节点一一对应;
4、针对每个所述处理节点,利用所述子模型参数对应的初始矩阵以及所述子模型参数,计算所述子模型参数对应的中间矩阵,所述初始矩阵满足标准正态分布;
5、基于所述子模型参数对应的中间矩阵,对所述子模型参数进行压缩处理,得到所述子模型参数对应的待传输子模型参数;
6、根据所述待传输子模型参数,获取所述子模型参数的总梯度参数,所述总梯度参数为所述子模型参数在所有所述子训练数据上的梯度参数;
7、利用所述子模型参数的总梯度参数,对所述子模型参数进行更新处理,以得到所述待训练模型对应的目标模型。
8、本申请实施例还提供一种分布式训练装置,应用于分布式系统中的多个处理节点,该装置包括:
9、获取模块,用于获取待训练模型的模型参数以及训练数据,所述模型参数包括多个子模型参数,所述训练数据包括多个子训练数据,所述子模型参数与所述处理节点一一对应,所述子训练数据与所述处理节点一一对应;
10、计算模块,用于针对每个所述处理节点,利用所述子模型参数对应的初始矩阵以及所述子模型参数,计算所述子模型参数对应的中间矩阵,所述初始矩阵满足标准正态分布;
11、压缩模块,用于基于所述子模型参数对应的中间矩阵,对所述子模型参数进行压缩处理,得到所述子模型参数对应的待传输子模型参数;
12、梯度计算模块,用于根据所述待传输子模型参数,获取所述子模型参数的总梯度参数,所述总梯度参数为所述子模型参数在所有所述子训练数据上的梯度参数;
13、参数更新模块,用于利用所述子模型参数的总梯度参数,对所述子模型参数进行更新处理,以得到所述待训练模型对应的目标模型。
14、本申请实施例还提供一种电子设备,包括存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本申请实施例所提供的任一种分布式训练方法中的步骤。
15、本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例所提供的任一种分布式训练方法中的步骤。
16、本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本申请实施例所提供的任一种分布式训练方法中的步骤。
17、本申请实施例中,分布式系统的各个处理节点可以持有一个子模型参数和一个子训练数据,处理节点可利用其持有的子模型参数对应的初始矩阵以及子模型参数,计算子模型参数对应的中间矩阵,然后利用中间矩阵对子模型参数进行压缩处理,得到子模型参数对应的待传输子模型参数,然后再基于待传输子模型参数,获取子模型参数的总梯度参数,最后利用总梯度参数对子模型参数进行更新。通过压缩处理可降低子模型参数的内存占用量,并且利用待传输子模型参数获取到总梯度参数,可降低各个处理节点之间的通信数据量,以提升模型训练效率。
1.一种分布式训练方法,其特征在于,应用于分布式系统中的多个处理节点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述待传输子模型参数包括第一分解矩阵和第二分解矩阵,所述基于所述子模型参数对应的中间矩阵,对所述子模型参数进行压缩处理,得到所述子模型参数对应的待传输子模型参数,包括:
3.根据权利要求1所述的方法,其特征在于,所述针对每个所述处理节点,利用所述子模型参数对应的初始矩阵以及所述子模型参数,计算所述子模型参数对应的中间矩阵,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述待传输子模型参数,获取所述子模型参数的总梯度参数,包括:
5.根据权利要求4所述的方法,其特征在于,所述子训练数据包括子样本数据,以及所述子样本数据对应的子标签数据,所述利用所述处理节点对应的子训练数据,计算所述处理节点对应的子模型参数的第一子梯度参数,包括:
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述子训练数据包括子样本数据,以及所述子样本数据对应的子标签数据,所述利用所述处理节点的子训练数据,计算所述其他处理节点对应的子模型参数的第二子梯度参数,包括:
8.根据权利要求6所述的方法,其特征在于,所述基于所述第一分解矩阵和所述第二分解矩阵,将所述待传输子模型参数进行解压缩处理,得到其他处理节点对应的子模型参数,包括:
9.根据权利要求1所述的方法,其特征在于,所述待训练模型的优化器状态参数包括多个子优化器状态参数,所述子优化器状态参数和所述处理节点对应,所述利用所述子模型参数的总梯度参数,对所述子模型参数进行更新处理,以得到所述待训练模型对应的目标模型,包括:
10.根据权利要求9所述的方法,其特征在于,所述针对每个所述处理节点,获取所述子模型参数的总输出参数,包括:
11.根据权利要求9所述的方法,其特征在于,所述利用更新后的所述子优化器状态参数和所述总梯度参数,更新所述处理节点对应的子模型参数,以得到所述待训练模型对应的目标模型,包括:
12.一种模型的分布式训练装置,其特征在于,应用于分布式系统中的多个处理节点,所述装置包括:
13.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如权利要求1~11任一项所述的分布式训练方法中的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1~11任一项所述的分布式训练方法中的步骤。
15.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1~11任一项所述的分布式训练方法中的步骤。