一种基于大语言模型微调的多任务文本生成方法
本发明涉及人工智能及自然语言处理的,尤其是指一种基于大语言模型微调的多任务文本生成方法。
背景技术:
1、随着自然语言处理技术的发展,预训练大语言模型被广泛应用于多任务文本生成。为使预训练大语言模型适应不同文本生成任务,通常需要利用包含任务指令、待处理文本和目标输出文本的训练数据进行微调。然而,全参数微调需要更新和保存大量模型参数,训练及存储资源需求较高。
2、现有低秩适配方法通过冻结预训练参数,并利用低秩矩阵形成线性层权重增量,以降低微调成本。但传统低秩适配方法通常针对不同任务输入使用固定的低秩矩阵,动态适配能力有限。混合专家方法虽然能够根据输入选择不同专家,但为每个专家分别存储完整权重增量会增加参数量,而简单的专家加权组合又难以利用有限专家形成更多具有差异性的权重增量。
3、此外,低秩矩阵的初始化方式会影响模型微调初期的训练状态。零初始化可能使部分低秩因子在训练初期难以获得有效梯度,非零随机初始化则可能引起模型初始输出偏移,且未充分利用基础线性层权重中的结构信息。因此,需要一种在减少可训练参数的同时,能够提高低秩因子专家组合效率并改善初始化状态的多任务文本生成方法。
技术实现思路
1、本发明的目的在于克服现有技术的缺点与不足,提出了一种基于大语言模型微调的多任务文本生成方法,能够减少训练和存储参数,提高专家组合利用效率及多任务文本生成能力。
2、为实现上述目的,本发明所提供的技术方案为:一种基于大语言模型微调的多任务文本生成方法,包括以下步骤:
3、s1:获取包含多种文本生成任务的训练数据,所述训练数据中的每一训练样本包括任务输入和对应的目标输出文本,所述任务输入包括任务指令和待处理文本;将所述任务输入和目标输出文本转换为词元序列并输入预训练大语言模型,获得所述预训练大语言模型的目标线性层的输入隐藏状态,冻结所述预训练大语言模型的预训练参数,所述预训练参数包括目标线性层的基础线性层权重;
4、s2:为每一所述目标线性层设置第一分支低秩因子专家库、第二分支低秩因子专家库、第一路由器和第二路由器;所述第一分支低秩因子专家库包括多个第一分支低秩因子专家,每一第一分支低秩因子专家包括第一低秩矩阵和第二低秩矩阵;所述第二分支低秩因子专家库包括多个第二分支低秩因子专家,每一第二分支低秩因子专家包括第三低秩矩阵和第四低秩矩阵;为每一目标线性层设置权重增量缩放系数;
5、s3:对所述基础线性层权重进行奇异值分解,根据奇异值分解结果和预设初始化参数初始化所述第一分支低秩因子专家库和第二分支低秩因子专家库;根据初始化后的两个分支低秩因子专家库产生的初始权重增量计算残差补偿项,并从所述基础线性层权重中扣减所述残差补偿项,以使设置两个分支低秩因子专家库前后所述目标线性层的初始线性输出保持一致;
6、s4:针对与所述任务输入中的词元对应的每一输入隐藏状态,通过所述第一路由器计算各第一分支低秩因子专家的第一路由得分,并选取第一路由得分高的第一分支低秩因子专家,通过所述第二路由器计算各第二分支低秩因子专家的第二路由得分,并选取第二路由得分高的第二分支低秩因子专家,分别对被选取的第一分支低秩因子专家和第二分支低秩因子专家的第一路由得分和第二路由得分进行归一化,得到第一路由权重和第二路由权重;
7、s5:将被选取的第一分支低秩因子专家和第二分支低秩因子专家进行笛卡尔配对,形成专家对,并根据每一专家对的第一路由权重和第二路由权重确定该专家对的专家对权重;将每一专家对的每一分支低秩因子专家中的两个低秩矩阵相乘得到专家乘积矩阵,使得每一专家对都有两个专家乘积矩阵,将每一专家对中的两个专家乘积矩阵进行哈达玛积运算得到候选权重增量矩阵,并按照所述专家对权重对各候选权重增量矩阵进行加权求和和缩放,得到与当前输入隐藏状态对应的目标线性层权重增量;
8、s6:分别利用扣减所述残差补偿项后的基础线性层权重和所述目标线性层权重增量对当前输入隐藏状态进行线性变换,并将得到的基础线性输出和增量线性输出相加,得到所述目标线性层的微调线性输出;将所述微调线性输出传递至所述预训练大语言模型的后续网络层,得到词元预测结果,根据所述词元预测结果和目标输出文本计算文本生成损失,通过反向传播更新所述第一路由器、第二路由器以及两个分支低秩因子专家库的参数,得到微调后的大语言模型;
9、s7:将待生成任务输入转换为待生成输入词元序列,并输入所述微调后的大语言模型,根据当前输入词元序列计算输入隐藏状态,通过步骤s4、s5以及步骤s6中的前向计算过程动态选取专家对并获得下一词元的预测结果,将根据所述预测结果确定的下一词元添加至当前输入词元序列,重复进行下一词元的预测和添加,直至满足预设生成终止条件,并将生成的词元序列解码为与所述待生成任务输入对应的文本生成输出。
10、进一步,所述基础线性层权重记为,,其中表示实数集,为所述基础线性层的输出维度,为所述基础线性层的输入维度;所述第一分支低秩因子专家库和第二分支低秩因子专家库的专家数量相等,均为;第个第一分支低秩因子专家的第一低秩矩阵和第二低秩矩阵分别记为和,第个第二分支低秩因子专家的第三低秩矩阵和第四低秩矩阵分别记为和,其中,,,为低秩矩阵的秩,;所述第个第一分支低秩因子专家的第一专家乘积矩阵,其中表示矩阵转置,所述第个第二分支低秩因子专家的第二专家乘积矩阵。
11、进一步,步骤s3的具体操作步骤如下:
12、s31:对所述基础线性层权重进行奇异值分解:
13、;
14、式中,和分别为左奇异向量矩阵和右奇异向量矩阵,为奇异值矩阵;
15、s32:计算权重增量缩放系数、第一分支初始化缩放系数和第二分支初始化缩放系数:
16、;
17、;
18、;
19、式中,为预设缩放控制参数,和分别为第一分支预设初始化幅度控制参数和第二分支预设初始化幅度控制参数;
20、s33:根据奇异值分解结果初始化所述第一分支低秩因子专家库,所述第个第一分支低秩因子专家初始化为:
21、;
22、;
23、式中,表示按照第一分支低秩因子专家的序号从所述奇异值矩阵中选取的包含个奇异值的索引集合,表示从矩阵中选取全部行以及对应列所形成的子矩阵,表示从矩阵中选取全部行以及对应列所形成的子矩阵,表示从奇异值矩阵中选取指定的奇异值形成的对角子矩阵;
24、s34:对所述第二分支低秩因子专家库进行非零初始化,所述第个第二分支低秩因子专家初始化为:
25、;
26、;
27、;
28、;
29、式中,和分别为维度为和的全一向量,和分别表示和的第一列,和分别表示和的第二到列,表示正态分布;
30、s35:所述残差补偿项为残差补偿矩阵,计算如下:
31、;
32、式中,表示第个第一分支低秩因子专家的第一专家乘积矩阵,表示第个第二分支低秩因子专家的第二专家乘积矩阵,表示哈达玛积;
33、从所述基础线性层权重中扣减所述残差补偿项得到等效基础线性层权重,使按照预设初始路由权重形成的初始权重增量与所述残差补偿矩阵相抵消,计算如下:
34、。
35、进一步,在步骤s4,通过所述第一路由器和第二路由器选取低秩因子专家,具体包括以下步骤:
36、s41:对于第个输入隐藏状态,其中,所述第一路由器和所述第二路由器的可训练路由参数矩阵分别记为和,其中,;
37、分别利用所述可训练路由参数矩阵和对输入隐藏状态进行线性映射,得到第一路由得分向量和第二路由得分向量:
38、;
39、;
40、式中,;
41、s42:分别对所述第一路由得分向量和第二路由得分向量执行softmax归一化,得到第一路由概率向量和第二路由概率向量:
42、;
43、;
44、第个第一分支低秩因子专家的第一路由概率和第个第二分支低秩因子专家的第二路由概率分别按照下式计算:
45、;
46、;
47、式中,和分别表示第个和第个第一分支低秩因子专家对应的未归一化第一路由得分,和分别表示第个和第个第二分支低秩因子专家对应的未归一化第二路由得分,并且满足各第一分支低秩因子专家的第一路由概率之和为1,各第二分支低秩因子专家的第二路由概率之和为1;
48、s43:按照第一路由概率由高到低的顺序选取前个第一分支低秩因子专家,将被选取的第一分支低秩因子专家的索引组成第一专家索引集合,按照第二路由概率由高到低的顺序选取前个第二分支低秩因子专家,将被选取的第二分支低秩因子专家的索引组成第二专家索引集合,其中:
49、;
50、;
51、式中,表示中前个最大的数的索引集合,表示中前个最大的数的索引集合,;
52、对被选取的第一分支低秩因子专家和第二分支低秩因子专家的路由概率分别进行再次归一化,得到所述被选取的第个第一分支低秩因子专家的第一路由权重和所述被选取的第个第二分支低秩因子专家的第二路由权重:
53、;
54、;
55、并且满足各被选取的第一分支低秩因子专家的第一路由权重之和为1,各被选取的第二分支低秩因子专家的第二路由权重之和为1。
56、进一步,在步骤s5,将被选取的第一分支低秩因子专家和第二分支低秩因子专家进行笛卡尔配对,并确定各专家对的专家对权重,具体包括以下步骤:
57、s51:对所述第一专家索引集合和所述第二专家索引集合进行笛卡尔积运算,得到专家对索引集合:
58、;
59、式中,中的每一个索引二元组对应一个专家对,所述专家对由第个第一分支低秩因子专家和第个第二分支低秩因子专家组成;所述专家对索引集合中的专家对数量为:
60、;
61、式中,表示集合的基数;
62、s52:对于所述专家对索引集合中的每一个专家对,将第个第一分支低秩因子专家的第一路由权重与第个第二分支低秩因子专家的第二路由权重相乘,得到该专家对的初始专家对权重,对所述初始专家对权重进行归一化,得到所述专家对的专家对权重:
63、;
64、式中,表示第个第一分支低秩因子专家和第个第二分支低秩因子专家组成的专家对的初始专家对权重,表示第个第一分支低秩因子专家的第一路由权重,表示第个第二分支低秩因子专家的第二路由权重,各专家对的专家对权重之和为1;
65、s53:将同一专家对中的第一专家乘积矩阵和第二专家乘积矩阵进行哈达玛积运算,得到该专家对对应的候选权重增量矩阵:
66、;
67、将、的第列和、的第列分别记为、和、,,则所述第一专家乘积矩阵和所述第二专家乘积矩阵分别表示为:
68、;
69、;
70、所述候选权重增量矩阵表示为:
71、;
72、按照相同的列索引二元组排列顺序构造第一组合低秩矩阵和第二组合低秩矩阵:
73、;
74、;
75、由此,所述候选权重增量矩阵具有如下等价低秩表示:
76、;
77、s54:按照所述各专家对的专家对权重,对专家对索引集合中的候选权重增量矩阵进行加权求和及缩放,得到与第个输入隐藏状态对应的目标线性层权重增量:
78、。
79、进一步,在步骤s6,利用扣减残差补偿项后的基础线性层权重和所述目标线性层权重增量计算微调线性输出,具体包括以下步骤:
80、s61:利用所述目标线性层权重增量和所述等效基础线性层权重分别对所述输入隐藏状态进行增量线性变换和基础线性变换,得到增量线性输出和基础线性输出:
81、;
82、;
83、s62:将所述基础线性输出和所述增量线性输出相加,得到目标线性层针对第个输入隐藏状态的微调线性输出:
84、;
85、将所述微调线性输出作为所述目标线性层的输出传递至预训练大语言模型的后续网络层,经所述后续网络层和词表映射层处理得到各候选词元的预测得分,并对所述候选词元的预测得分进行归一化,得到第个词元位置对应的词元预测概率,用于计算文本生成损失或者确定文本生成过程中的下一词元;
86、s63:将训练样本中的目标输出文本转换为目标词元序列:
87、;
88、式中,为目标输出文本的目标词元数量,为第个目标词元;将任务输入和位于第个目标词元之前的目标词元序列输入所述预训练大语言模型,得到目标词元的条件预测概率:
89、;
90、根据各目标词元的条件预测概率计算文本生成损失:
91、;
92、式中,表示当前大语言模型的模型参数,为参与文本生成损失计算的目标词元位置集合,表示位于第个目标词元之前的目标词元序列;
93、s64:根据第一路由器和第二路由器输出的路由概率以及专家选取结果计算路由辅助损失,具体如下:
94、将一个训练批次中参与路由计算的词元位置集合记为,将参与路由计算的词元位置数量记为,对于第个第一分支低秩因子专家,其被第一路由器选取的频率按照下式计算:
95、;
96、式中,为指示函数,当括号内的条件成立时取值为1,否则取值为0,其第一路由概率均值按照下式计算:
97、;
98、对于第个第二分支低秩因子专家,其被第二路由器选取的频率和第二路由概率均值分别按照下式计算:
99、;
100、;
101、根据专家选取频率和路由概率均值计算负载均衡损失作为路由辅助损失:
102、;
103、s65:将文本生成损失和路由辅助损失相加,得到模型微调采用的总损失,将第一路由参数矩阵、第二路由参数矩阵、第一分支低秩因子专家库中每个第一分支低秩因子专家的第一低秩矩阵和第二低秩矩阵以及第二分支低秩因子专家库中每个第二分支低秩因子专家的第三低秩矩阵和第四低秩矩阵组成可训练参数集合:
104、;
105、根据所述总损失,通过反向传播计算各可训练参数的梯度:
106、;
107、在保持所述预训练大语言模型的预训练参数冻结的情况下,利用所述梯度更新可训练参数集合中的参数,重复执行前向传播、总损失计算、反向传播及参数更新,直至满足预设训练终止条件,得到微调后的大语言模型。
108、本发明与现有技术相比,具有如下优点与有益效果:
109、1、本发明冻结预训练大语言模型的预训练参数,仅更新第一路由器、第二路由器以及第一、第二分支低秩因子专家库的参数,减少了模型微调过程中需要训练和保存的参数数量,降低了多任务文本生成模型的训练资源和存储资源需求。
110、2、本发明设置第一分支低秩因子专家库和第二分支低秩因子专家库,并通过第一、第二路由器分别选择第一、第二分支低秩因子专家库中的低秩因子专家。将第一分支低秩因子专家库中被选取的第一分支低秩因子专家和第二分支低秩因子专家库中被选取的第二分支低秩因子专家进行笛卡尔配对,使有限数量的低秩因子专家能够形成数量更多的专家对,避免针对每一种专家组合分别存储完整的权重增量参数,提高了低秩因子专家参数的组合利用效率。
111、3、本发明根据基础线性层权重的奇异值分解结果初始化第一分支低秩因子专家库,使第一分支低秩因子专家能够利用基础线性层权重中包含的左、右奇异向量和奇异值信息;同时对第二分支低秩因子专家库进行非零初始化,使两个分支在模型微调开始时均能够参与权重增量计算。
112、总之,本发明在冻结预训练大语言模型预训练参数的基础上,通过两个分支低秩因子专家的动态选择与组合,实现低秩因子专家参数的复用及专家组合数量的扩展,并利用基础线性层权重的奇异值信息和非零初始化方式改善两个分支低秩因子专家库的初始化状态,从而兼顾模型微调的参数效率、专家组合能力和初始化有效性,为多任务文本生成提供一种训练及存储资源需求较低、动态适配能力较强的技术方案。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com