基于数据排序的大模型微调训练方法、系统、设备及介质与流程

本发明涉及人工智能,尤其是一种基于数据排序的大模型微调训练方法、系统、设备及介质。
背景技术:
1、近年来,随着科技发展,大模型已成为人工智能领域的热门话题。大模型通过增加模型的规模和复杂度来实现更好的学习和泛化能力,然而,这也带来了对计算资源、能源消耗和算法优化的新挑战。其中,大模型微调阶段通常采用相比预训练阶段更少的数据量,使模型适配到具体的下游任务上。如何学习微调数据中的信息,是提升模型性能的关键步骤。
2、目前,大模型微调数据存在数据领域繁杂、数据分类困难、相关数据效果可能相互正向影响以及无关数据可能存在负向影响等问题,且数据虽然相对预训练少,但是量级一般也在十万、百万的量级,好坏数据难区分,直接人工清洗成本太高,部分清洗没有好的筛选方法。由于难易数据难以区分,将难易数据一起学习可能造成简单数据重复学习、困难数据学不会的现象,影响了大模型微调训练的效率以及模型性能。
3、术语解释:
4、大模型微调(fine-tuning):是一种优化技术,旨在通过使用少量目标领域的样本数据对预训练的大模型进行微调,以提升模型在特定任务上的性能。微调的目的是使大模型适应特定任务和数据分布,从而提高模型的表现。
5、大模型预热(warmup):目前大规模语言模型llm已经展现了惊人的in-contextlearning(icl)能力,但是由于语言模型预训练目标跟下游icl用法存在明显差距,从而影响模型的icl性能,于是就有一些工作在语言模型的预训练跟下游icl推断之间插入一个模块,企图缩小语言模型跟icl用法之间的差距,称之为预热(warmup)。通过在icl数据上进行针对性的训练,更新或者增加语言模型参数,让语言模型适配下游的icl任务。
技术实现思路
1、本发明的目的在于至少一定程度上解决现有技术中存在的技术问题之一。
2、为此,本发明实施例的一个目的在于提供一种基于数据排序的大模型微调训练方法,该方法提高了大模型微调训练的效率以及模型性能。
3、本发明实施例的另一个目的在于提供一种基于数据排序的大模型微调训练系统。
4、为了达到上述技术目的,本发明实施例所采取的技术方案包括:
5、一方面,本发明实施例提供了一种基于数据排序的大模型微调训练方法,包括以下步骤:
6、从微调训练数据中选取多个预热训练数据,通过所述预热训练数据对目标大模型进行预热,得到预热大模型;
7、根据所述预热大模型确定所述微调训练数据的输入问题向量和质量得分;
8、根据所述质量得分对所述微调训练数据进行划分,得到简单训练数据和复杂训练数据,进而根据所述输入问题向量对所述简单训练数据和所述复杂训练数据分别进行向量聚类和排序,得到简单排序数据和复杂排序数据;
9、依次通过所述简单排序数据和所述复杂排序数据对所述预热大模型进行多阶段微调训练,得到目标微调大模型。
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、另一方面,本发明实施例还提供了一种存储介质,所述存储介质为计算机可读存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如前面所述的基于数据排序的大模型微调训练方法。
44、本发明的优点和有益效果将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到:
45、本发明实施例从微调训练数据中选取多个预热训练数据,通过预热训练数据对目标大模型进行预热,得到预热大模型,根据预热大模型确定微调训练数据的输入问题向量和质量得分,根据质量得分对微调训练数据进行划分,得到简单训练数据和复杂训练数据,进而根据输入问题向量对简单训练数据和复杂训练数据分别进行向量聚类和排序,得到简单排序数据和复杂排序数据,依次通过简单排序数据和复杂排序数据对预热大模型进行多阶段微调训练,得到目标微调大模型。本发明实施例根据预热大模型确定微调训练数据的输入问题向量和质量得分,根据质量得分划分简单训练数据和复杂训练数据,根据输入问题向量对简单训练数据和复杂训练数据分别进行向量聚类和排序,从而可以通过得到的简单排序数据和复杂排序数据对预热大模型进行多阶段微调训练,既能够根据训练数据的学习难易程度对大模型进行分阶段训练,又考虑了简单训练数据和复杂训练数据内部的数据关联性,使得大模型能够更快收敛,提高了大模型微调训练的效率以及模型性能。
技术研发人员:黄钰瑶,李学龙,赵宇,宋双永,李永翔
技术所有人:中电信人工智能科技(北京)有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
