本技术涉及自然语言处理,特别是涉及一种代码大模型的训练方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
背景技术:
1、随着自然语言处理领域的发展,出现了预训练模型,在早期预训练模型主要针对文本数据,对于代码的理解和生成能力相对有限。
2、而随着软件工程和人工智能的深度融合,出现了预训练代码大模型。预训练代码大模型在代码理解和生成方面表现出色,但往往针对单一任务进行微调,难以适应多样化的下游任务需求,现有的硬参数共享以及软参数共享等多任务微调方法存在任务间互相干扰,模型输出效果不佳的问题。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够避免任务间互相干扰的代码大模型的训练方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本技术提供了一种代码大模型的训练方法,包括:
3、获取样本指令数据集;样本指令数据集中包含多种类型的样本指令数据,各类型样本指令数据之间存在类型重叠,每种类型的样本指令数据基于对应类型的实际代码数据得到;
4、将样本指令数据集输入待训练的代码大模型中,得到各类型样本指令数据的预测代码数据;
5、确定待训练的代码大模型中针对各类型样本指令数据预设的动态参数,并根据各类型预测代码数据和对应类型实际代码数据之间的差异,对对应类型的动态参数进行参数调整,以减少不同类型样本指令数据对应的动态参数的调整干扰,得到训练完成的代码大模型。
6、在其中一个实施例中,获取样本指令数据集,包括:
7、获取原始代码数据集;
8、去除原始代码数据集中数据长度不在预设数据长度区间内的原始代码数据以及重复原始代码数据,得到清洗后的原始代码数据集;
9、利用kcentergreedy算法对清洗后的原始代码数据集进行聚类分析处理,得到实际代码数据集;实际代码数据集中包含多种编程语言的实际代码数据,每种编程语言的实际代码数据的数据量均衡;
10、将实际代码数据集输入预设的基准代码大模型中,通过基准代码大模型将实际代码数据集转换为对应的样本指令数据集。
11、在其中一个实施例中,基准代码大模型包括指令数据集生成模型和指令数据集过滤模型;
12、将实际代码数据集和生成指令输入指令数据集生成模型中,生成对应的指令数据集;生成指令包括指明指令数据和实际代码数据之间的依赖关系、指明生成指令数据的数据格式和数据内容、指明依赖的实际代码数据;
13、将指令数据集和过滤指令输入指令数据集过滤模型中,生成样本指令数据集;过滤指令包括判断指令数据是否满足数据格式和数据内容、判断指令数据的数据内容关系是否匹配、判断指令数据是否保留。
14、在一个示例性的实施例中,生成样本指令数据集包括:
15、在指令数据的数据格式同时包含任务名称、任务信息、任务类型和任务解决方案&&指令数据的数据内容中的任务名称与任务类型匹配&&指令数据的数据内容中的任务名称与任务解决方案匹配&&指令数据的数据内容中的任务信息与任务解决方案匹配的情况下,保留指令数据,并基于指令数据生成样本指令数据集。
16、在一个实施例中,基于指令数据生成样本指令数据集,包括:
17、获取各指令数据的有效基本单元数;
18、根据有效基本单元数对各指令数据进行组别划分,得到多个指令数据组;指令数据组中的指令数据的有效基本单元数之间的差值满足预设的差值区间;指令数据组包含所有类型的指令数据;
19、对多个指令数据组进行随机排序,得到样本指令数据集。
20、在其中一个实施例中,根据各类型预测代码数据和对应类型实际代码数据之间的差异,对对应类型的动态参数进行参数调整,包括:
21、确定待训练的代码大模型中针对各类型样本指令数据预设的损失函数;
22、根据各类型差异和对应类型损失函数,获取各类型样本指令数据的任务损失值;
23、根据各类型任务损失值确定待调整的对应类型动态参数,对待调整的对应类型动态参数进行参数调整。
24、在一个示例性的实施例中,根据各类型任务损失值确定待调整的对应类型动态参数,对待调整的对应类型动态参数进行参数调整,包括:
25、在各类型任务损失值之间的差异小于预设差异阈值的情况下,基于各类型任务损失值获取对应的任务损失值变化曲线,并根据任务损失值变化曲线确定待调整的对应类型第一动态参数,减小待调整的对应类型第一动态参数;
26、在各类型任务损失值之间的差异大于预设差异阈值的情况下,根据任务损失值确定待调整的对应类型第二动态参数,减小待调整的对应类型第二动态参数。
27、第二方面,本技术还提供了一种代码大模型的训练装置,包括:
28、数据集获取模块,用于获取样本指令数据集;样本指令数据集中包含多种类型的样本指令数据,各类型样本指令数据之间存在类型重叠,每种类型的样本指令数据基于对应类型的实际代码数据得到;
29、数据集输入模块,用于将样本指令数据集输入待训练的代码大模型中,得到各类型样本指令数据的预测代码数据;
30、大模型训练模块,用于确定待训练的代码大模型中针对各类型样本指令数据预设的动态参数,并根据各类型预测代码数据和对应类型实际代码数据之间的差异,对对应类型的动态参数进行参数调整,以减少不同类型样本指令数据对应的动态参数的调整干扰,得到训练完成的代码大模型。
31、第三方面,本技术还提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
32、获取样本指令数据集;样本指令数据集中包含多种类型的样本指令数据,各类型样本指令数据之间存在类型重叠,每种类型的样本指令数据基于对应类型的实际代码数据得到;
33、将样本指令数据集输入待训练的代码大模型中,得到各类型样本指令数据的预测代码数据;
34、确定待训练的代码大模型中针对各类型样本指令数据预设的动态参数,并根据各类型预测代码数据和对应类型实际代码数据之间的差异,对对应类型的动态参数进行参数调整,以减少不同类型样本指令数据对应的动态参数的调整干扰,得到训练完成的代码大模型。
35、第四方面,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
36、获取样本指令数据集;样本指令数据集中包含多种类型的样本指令数据,各类型样本指令数据之间存在类型重叠,每种类型的样本指令数据基于对应类型的实际代码数据得到;
37、将样本指令数据集输入待训练的代码大模型中,得到各类型样本指令数据的预测代码数据;
38、确定待训练的代码大模型中针对各类型样本指令数据预设的动态参数,并根据各类型预测代码数据和对应类型实际代码数据之间的差异,对对应类型的动态参数进行参数调整,以减少不同类型样本指令数据对应的动态参数的调整干扰,得到训练完成的代码大模型。
39、第五方面,本技术还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
40、获取样本指令数据集;样本指令数据集中包含多种类型的样本指令数据,各类型样本指令数据之间存在类型重叠,每种类型的样本指令数据基于对应类型的实际代码数据得到;
41、将样本指令数据集输入待训练的代码大模型中,得到各类型样本指令数据的预测代码数据;
42、确定待训练的代码大模型中针对各类型样本指令数据预设的动态参数,并根据各类型预测代码数据和对应类型实际代码数据之间的差异,对对应类型的动态参数进行参数调整,以减少不同类型样本指令数据对应的动态参数的调整干扰,得到训练完成的代码大模型。
43、上述代码大模型的训练方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,样本指令数据集中包含多种类型的样本指令数据,各类型的样本指令数据之间存在类型重叠,每种类型的样本指令数据基于对应类型的实际代码数据得到,服务器获取上述样本指令数据集,并将其输入待训练的代码大模型中,得到各类型样本指令数据的预测代码数据,确定待训练的代码大模型中针对各类型样本指令数据预设的动态参数,并根据各类型预测代码数据和对应类型实际代码数据之间的差异,对对应类型的动态参数进行参数调整,以减少不同类型样本指令数据对应的动态参数的调整干扰,得到训练完成的代码大模型。由于样本指令数据存在多种类型,类型之间还存在类型重叠,因此在使用代码大模型进行代码预测时各指令数据可能会出现互相干扰的情况,本技术通过针对每种类型的样本指令数据预设对应的动态参数,在训练过程中调整动态参数以减少任务间的互相干扰,提高了模型的输出效果。