本说明书一个或多个实施例涉及机器学习,尤其涉及一种大语言模型的训练方法及装置,一种预测模型的训练方法及装置,一种计算机可读存储介质,以及一种计算设备。
背景技术:
1、大语言模型(large language models,简称llms)是一类使用深度学习技术构建的、具有大量参数的自然语言处理模型。这类模型通过在大规模文本数据集上进行训练,能够理解和生成自然语言,从而执行多种语言任务,如文本生成、翻译和问答等。
2、混合专家系统(mixture of experts,简称moe)是一种神经网络架构,其基本思想是将复杂的任务分解为多个简单的子任务,每个任务由一个专家(子网络)来处理,额外包括的门控网络(gating network)用于激活(给予高权重)擅于处理给定输入的专家。这样的架构允许神经网络模型在处理各种不同数据时表现出更高的灵活性和专业化。
3、目前,moe架构已被应用在大语言模型中,以期达到以下目的:1)扩展模型规模:通过将大语言模型划分为多个专家,可以大幅度提高模型的参数量而不显著增加计算成本。这是因为对于任何给定的输入,只有一小部分专家被激活和使用,这样可以在保持效率的同时增加模型的容量。2)提升数据处理能力:不同的专家可以在训练过程中专门处理不同类型的数据或学习不同的任务,这可以提高模型对于特定数据的处理能力。3)提升效率:在训练和推理过程中,可以只调用对给定任务最有用的专家,这样可以减少不必要的计算,提高模型的效率。4)提升定制化服务:在商业应用中,不同的客户或使用场景可能需要模型对不同类型的语言数据或任务有不同的理解和处理能力,通过使用moe架构,可以为每种需求配置或训练专门的专家,从而提供定制化服务。
4、由此,本说明书实施例提供一种针对应用moe架构的大语言模型的训练方案,可以有效提升模型执行语言任务的泛化率,从而提高大语言模型的服务质量,提升用户满意度。
技术实现思路
1、本说明书实施例描述一种大语言模型的训练方法及装置,以及一种预测模型的训练方法及装置,可以有效提升模型的预测准确率。
2、根据第一方面,提供一种大语言模型的训练方法,包括:将训练样本的样本特征输入大语言模型,得到对应的预测结果;其中,所述训练样本包括自然语言文本,所述大语言模型包括混合专家神经网络moe,所述moe网络包括门控网络和多个专家网络。基于所述预测结果和所述训练样本的样本标签,确定任务损失项。基于所述多个专家网络对应的多个输出,确定蒸馏损失项;所述多个专家网络之间互为蒸馏学习中的学生和老师。基于所述任务损失项和蒸馏损失项,训练所述大语言模型。
3、在一个实施例中,所述多个专家网络为两个专家网络;其中,基于所述多个专家网络对应的多个输出,确定蒸馏损失项,包括:计算所述两个专家网络对应的两个输出之间的差异度,作为所述蒸馏损失项。
4、在一个具体的实施例中,所述两个输出为两个向量;其中,计算所述两个专家网络对应的两个输出之间的差异度,包括:计算所述两个向量之间的差值向量;将所述差值向量中各个向量元素平方的均值作为所述差异度。
5、在一个实施例中,基于所述多个专家网络对应的多个输出,确定蒸馏损失项,包括:计算所述多个输出的平均输出;针对所述多个输出中的各个输出,计算其与所述平均输出之间的差异度;基于计算出的多个差异度,确定所述蒸馏损失项。
6、在一个具体的实施例中,所述多个输出为多个向量,所述平均输出为平均向量;其中,针对所述多个输出中的各个输出,计算其与所述平均输出之间的差异度,包括:针对所述多个向量中的各个向量,计算其与所述平均向量之间的差值向量,并将该差值向量中各个向量元素平方的均值作为对应的差异度。
7、在另一个具体的实施例中,基于计算出的多个差异度,确定所述蒸馏损失项,包括:计算所述多个差异度的均值,作为所述蒸馏损失项。
8、在一个实施例中,所述门控网络用于根据其输入确定与所述多个输出对应的多个权重,以及将所述多个权重按照从大到小的顺序排列后排在k位之外的权重置零;其中,基于所述多个专家网络对应的多个输出,确定蒸馏损失项,包括:利用k位以内的k个权重对应的k个输出,确定所述蒸馏损失项。
9、在一个实施例中,基于所述任务损失项和蒸馏损失项,训练所述大语言模型,包括:利用预定权重对所述蒸馏损失项进行加权处理,该预定权重小于1;计算所述任务损失项和所述加权处理的结果之间的和值,作为训练损失;利用所述训练损失训练所述大语言模型。
10、根据第二方面,提供了一种预测模型的训练方法,所述预测模型用于执行针对业务对象的预测任务,所述方法包括:
11、将针对所述业务对象的对象样本的特征输入预测模型,得到对应的预测结果;其中,所述预测模型包括混合专家神经网络moe,所述moe网络包括门控网络和多个专家网络;基于所述预测结果和所述对象样本的标签,确定任务损失项;基于所述多个专家网络对应的多个输出,确定蒸馏损失项;所述多个专家网络之间互为蒸馏学习中的学生和老师;基于所述任务损失项和蒸馏损失项,训练所述预测模型。
12、在一个实施例中,所述业务对象为以下实体对象之一:用户、企业、商品和事件;所述特征包括所述实体对象的属性特征。
13、根据第三方面,提供一种大语言模型的训练装置,包括:
14、模型预测模块,配置为将训练样本的样本特征输入大语言模型,得到对应的预测结果;其中,所述训练样本包括自然语言文本,所述大语言模型包括混合专家神经网络moe,所述moe网络包括门控网络和多个专家网络。任务损失确定模块,配置为基于所述预测结果和所述训练样本的样本标签,确定任务损失项。蒸馏损失确定模块,配置为基于所述多个专家网络对应的多个输出,确定蒸馏损失项;所述多个专家网络之间互为蒸馏学习中的学生和老师。模型训练模块,配置为基于所述任务损失项和蒸馏损失项,训练所述大语言模型。
15、根据第四方面,提供一种预测模型的训练装置,所述预测模型用于执行针对业务对象的预测任务,所述装置包括:模型预测模块,配置为将针对所述业务对象的对象样本的特征输入预测模型,得到对应的预测结果;其中,所述预测模型包括混合专家神经网络moe,所述moe网络包括门控网络和多个专家网络。任务损失确定模块,配置为基于所述预测结果和所述对象样本的标签,确定任务损失项。蒸馏损失确定模块,配置为基于所述多个专家网络对应的多个输出,确定蒸馏损失项;所述多个专家网络之间互为蒸馏学习中的学生和老师。模型训练模块,配置为基于所述任务损失项和蒸馏损失项,训练所述预测模型。
16、根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当上述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
17、根据第六方面,提供了一种计算设备,包括存储器和处理器,上述存储器中存储有可执行代码,该处理器执行上述可执行代码时,实现第一方面或第二方面的方法。
18、综上,采用本说明书实施例提供的上述方法和装置,在大语言模型的训练过程中,除了计算任务损失以外,还额外引入多个专家网络之间的蒸馏损失,使得多个专家网络不是只关注由门控网络筛选后的特定类型的样本,而是还关注其他专家从其他类型样本获得的知识中存在的、对该特定类型样本的处理潜在有用的特征,从而增强每个专家对其子任务的认知,提升moe网络的表现,进而提升包含moe网络的大语言模型的整体表现,如预测准确率和泛化率。
1.一种大语言模型的训练方法,包括:
2.根据权利要求1所述的方法,其中,所述多个专家网络为两个专家网络;其中,基于所述多个专家网络对应的多个输出,确定蒸馏损失项,包括:
3.根据权利要求2所述的方法,其中,所述两个输出为两个向量;其中,计算所述两个专家网络对应的两个输出之间的差异度,包括:
4.根据权利要求1所述的方法,其中,基于所述多个专家网络对应的多个输出,确定蒸馏损失项,包括:
5.根据权利要求4所述的方法,其中,所述多个输出为多个向量,所述平均输出为平均向量;其中,针对所述多个输出中的各个输出,计算其与所述平均输出之间的差异度,包括:
6.根据权利要求4所述的方法,其中,基于计算出的多个差异度,确定所述蒸馏损失项,包括:
7.根据权利要求1所述的方法,其中,所述门控网络用于根据其输入确定与所述多个输出对应的多个权重,以及将所述多个权重按照从大到小的顺序排列后排在k位之外的权重置零;其中,基于所述多个专家网络对应的多个输出,确定蒸馏损失项,包括:
8.根据权利要求1所述的方法,其中,基于所述任务损失项和蒸馏损失项,训练所述大语言模型,包括:
9.一种预测模型的训练方法,所述预测模型用于执行针对业务对象的预测任务,所述方法包括:
10.根据权利要求9所述的方法,其中,所述业务对象为以下实体对象之一:用户、企业、商品和事件;所述特征包括所述实体对象的属性特征。
11.一种大语言模型的训练装置,包括:
12.一种预测模型的训练装置,所述预测模型用于执行针对业务对象的预测任务,所述装置包括:
13.一种计算机可读存储介质,其上存储有计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-10中任一项所述的方法。
14.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-10中任一项所述的方法。
