大模型的微调方法技术

技术编号:39743534 阅读:18 留言:0更新日期:2023-12-17 23:43
本公开涉及一种大模型的微调方法

【技术实现步骤摘要】
大模型的微调方法、装置、电子设备和存储介质


[0001]本公开涉及计算机
,尤其涉及一种大模型的微调方法

大模型的微调装置

电子设备和存储介质


技术介绍

[0002]相关技术中,主要通过全量微调

固定部分参数
(fix parameter)
微调

适配器
(adapter)
微调或者前缀微调
(prefix

tuning)
的方式对源数据处理模型进行微调,得到目标数据处理模型

[0003]其中,在数据处理模型为大模型的情况下,全量微调的成本过高

[0004]在固定部分参数微调的方案中,只微调源数据处理模型的部分网络层的参数,其余网络层的参数冻结

然而,当源数据处理模型对应的源域与目标数据处理模型对应的目标域之间的差距较大时,只微调部分网络层的参数的效果难以保证

另外,由于层与层之间有紧密的联系,语义信息也是逐层传导的,因此,如果只微调部分层的参数,则会导致冻结层的语义信息与微调层的语义信息之间有很大的差别,进而导致微调效果较差

[0005]在适配器微调的方案中,增加了推理成本,且只微调少量的参数,效果难以保证

[0006]在前缀微调的方案中,训练难度较高,且只微调少量的参数,效果较差


技术实现思路

[0007]本公开提供了一种数据处理模型的微调技术方案

[0008]根据本公开的一方面,提供了一种大模型的微调方法,包括:
[0009]将目标数据处理模型的网络层划分为第一网络层组和第二网络层组;
[0010]根据所述第一网络层组对应的原参数矩阵的行数和列数,初始化第一参数矩阵和第二参数矩阵,其中,所述第一参数矩阵的行数等于所述原参数矩阵的行数,所述第一参数矩阵的列数小于所述原参数矩阵的列数,所述第二参数矩阵的列数等于所述原参数矩阵的列数,且所述第二参数矩阵的行数等于所述第一参数矩阵的列数;
[0011]将训练样本输入所述目标数据处理模型,通过所述目标数据处理模型输出所述训练样本对应的预测结果;
[0012]根据所述训练样本对应的预测结果和所述训练样本对应的标签,确定所述目标数据处理模型对应的损失函数的值;
[0013]根据所述损失函数的值,更新所述第一参数矩阵

所述第二参数矩阵以及所述第二网络层组对应的第三参数矩阵

[0014]在一种可能的实现方式中,所述第一网络层组包括所述目标数据处理模型的前
M
个网络层,所述第二网络层组包括所述目标数据处理模型的后
N
个网络层,所述目标数据处理模型的网络层数为
M+N
,其中,
M

N
均为大于或等于1的整数

[0015]在一种可能的实现方式中,所述第一参数矩阵的列数比所述原参数矩阵的列数小至少一个数量级

[0016]在一种可能的实现方式中,在所述目标数据处理模型微调的过程中,所述原参数矩阵保持固定

[0017]在一种可能的实现方式中,所述将训练样本输入所述目标数据处理模型,通过所述目标数据处理模型输出所述训练样本对应的预测结果,包括:
[0018]确定最新的所述第一参数矩阵与最新的所述第二参数矩阵的第一乘积;
[0019]将所述原参数矩阵与所述第一乘积之和,确定为所述第一网络层组对应的最新总参数矩阵;
[0020]将所述训练样本输入所述目标数据处理模型,基于所述最新总参数矩阵和最新的所述第三参数矩阵,得到所述训练样本对应的预测结果

[0021]在一种可能的实现方式中,所述根据所述损失函数的值,更新所述第一参数矩阵

所述第二参数矩阵以及所述第二网络层组对应的第三参数矩阵,包括:
[0022]根据所述损失函数的值,确定所述第一参数矩阵对应的第一梯度

所述第二参数矩阵对应的第二梯度以及所述第三参数矩阵对应的第三梯度;
[0023]根据所述第一梯度,更新所述第一参数矩阵;
[0024]根据所述第二梯度,更新所述第二参数矩阵;
[0025]根据所述第三梯度,更新所述第三参数矩阵

[0026]在一种可能的实现方式中,所述方法还包括:
[0027]在显存中,保存所述第一梯度

所述第二梯度和所述第三梯度

[0028]在一种可能的实现方式中,所述方法还包括:
[0029]在显存中,保存所述第一参数矩阵对应的第一优化器状态信息

所述第二参数矩阵对应的第二优化器状态信息和所述第三参数矩阵对应的第三优化器状态信息

[0030]在一种可能的实现方式中,在所述更新所述第一参数矩阵

所述第二参数矩阵以及所述第二网络层组对应的第三参数矩阵之后,所述方法还包括:
[0031]响应于所述目标数据处理模型微调结束,确定最新的所述第一参数矩阵与最新的所述第二参数矩阵的第二乘积;
[0032]将所述原参数矩阵与所述第二乘积之和,确定为所述第一网络层组对应的更新后的参数矩阵

[0033]在一种可能的实现方式中,所述方法还包括:
[0034]获取显存的容量值;
[0035]根据所述容量值,确定所述第二网络层组中的网络层的数量

[0036]在一种可能的实现方式中,所述损失函数包括预测下一个字的任务对应的第一损失函数

[0037]在一种可能的实现方式中,所述损失函数包括强化学习任务对应的第二损失函数

[0038]在一种可能的实现方式中,所述目标数据处理模型为文本处理模型,所述训练文本为训练样本

[0039]根据本公开的一方面,提供了一种数据处理方法,包括:
[0040]获取所述大模型的微调方法训练得到的目标数据处理模型;
[0041]将待处理数据输入所述目标数据处理模型,通过所述目标数据处理模型输出所述
待处理数据对应的数据处理结果

[0042]在一种可能的实现方式中,所述待处理数据为待处理文本

[0043]根据本公开的一方面,提供了一种大模型的微调装置,包括:
[0044]划分模块,用于将目标数据处理模型的网络层划分为第一网络层组和第二网络层组;
[0045]初始化模块,用于根据所述第一网络层组对应的原参数矩阵的行数和列数,初始化第一参数矩阵和第二参数矩阵,其中,所述第一参数矩阵的行数等于所述原参数矩阵的行数,所述第一参数矩阵的列数小于所述原参数矩阵的列本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种大模型的微调方法,其特征在于,包括:将目标数据处理模型的网络层划分为第一网络层组和第二网络层组;根据所述第一网络层组对应的原参数矩阵的行数和列数,初始化第一参数矩阵和第二参数矩阵,其中,所述第一参数矩阵的行数等于所述原参数矩阵的行数,所述第一参数矩阵的列数小于所述原参数矩阵的列数,所述第二参数矩阵的列数等于所述原参数矩阵的列数,且所述第二参数矩阵的行数等于所述第一参数矩阵的列数;将训练样本输入所述目标数据处理模型,通过所述目标数据处理模型输出所述训练样本对应的预测结果;根据所述训练样本对应的预测结果和所述训练样本对应的标签,确定所述目标数据处理模型对应的损失函数的值;根据所述损失函数的值,更新所述第一参数矩阵

所述第二参数矩阵以及所述第二网络层组对应的第三参数矩阵
。2.
根据权利要求1所述的方法,其特征在于,所述第一网络层组包括所述目标数据处理模型的前
M
个网络层,所述第二网络层组包括所述目标数据处理模型的后
N
个网络层,所述目标数据处理模型的网络层数为
M+N
,其中,
M

N
均为大于或等于1的整数
。3.
根据权利要求1所述的方法,其特征在于,所述第一参数矩阵的列数比所述原参数矩阵的列数小至少一个数量级
。4.
根据权利要求1至3中任意一项所述的方法,其特征在于,在所述目标数据处理模型微调的过程中,所述原参数矩阵保持固定
。5.
根据权利要求1至3中任意一项所述的方法,其特征在于,所述将训练样本输入所述目标数据处理模型,通过所述目标数据处理模型输出所述训练样本对应的预测结果,包括:确定最新的所述第一参数矩阵与最新的所述第二参数矩阵的第一乘积;将所述原参数矩阵与所述第一乘积之和,确定为所述第一网络层组对应的最新总参数矩阵;将所述训练样本输入所述目标数据处理模型,基于所述最新总参数矩阵和最新的所述第三参数矩阵,得到所述训练样本对应的预测结果
。6.
根据权利要求5所述的方法,其特征在于,所述根据所述损失函数的值,更新所述第一参数矩阵

所述第二参数矩阵以及所述第二网络层组对应的第三参数矩阵,包括:根据所述损失函数的值,确定所述第一参数矩阵对应的第一梯度

所述第二参数矩阵对应的第二梯度以及所述第三参数矩阵对应的第三梯度;根据所述第一梯度,更新所述第一参数矩阵;根据所述第二梯度,更新所述第二参数矩阵;根据所述第三梯度,更新所述第三参数矩阵
。7.
根据权利要求6所述的方法,其特征在于,所述方法还包括:在显存中,保存所述第一梯度

所述第二梯度和所述第三梯度
。8.
根据权利要求7所述的方法,其特征在于,所述方法还包括:在显存中,保存所述第一参数矩阵对应的第一优化器状态信息

所述第二参数矩阵对应的第二优化器状态信息和所述第三参数矩阵对应的第三优化器状态信息
。9.
根据权利要求1至3中任意一项所述的方法,其特征在于,在所述更新所述第一参数
矩阵
...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:摩尔线程智能科技北京有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1