掌桥专利:专业的专利平台
掌桥专利
首页

基于学习权重向量的大模型微调方法、装置、设备及介质

文献发布时间:2024-04-18 20:00:50


基于学习权重向量的大模型微调方法、装置、设备及介质

技术领域

本发明涉及深度学习的大模型技术领域,具体涉及一种基于学习权重向量的大模型微调方法、装置、设备及介质。

背景技术

深度学习(Deep Learning)是一种机器学习的方法,它基于人工神经网络,通过多层非线性变换来对高复杂性的模式进行建模;与传统的浅层神经网络相比,深度学习模型具有更强的表达能力和更好的性能。目前市面上的许多深度学习应用都是依赖于,使一个大规模的、预先训练的模型适应多个下游应用;比如,文本类的GPT大模型、视觉类的Stablediffusion模型等,其是通过预训练模型,以更好的适配具体的任务。而当目前市面上的许多深度学习应用需要训练更大的模型时,则重新训练所有模型参数的完全微调无法解决问题;以GPT-3 175B为例,部署经过精细调整的模型的独立实例,每个实例都有175B参数,成本高昂。

近年来,市面上都是采用微调的方式进行模型调整,微调更新预训练模型的所有参数;但是这种微调方式存在新模型包含与原始模型相同多的参数的缺点。随着技术发展,出现了许多巨大的模型,这些模型有上亿的参数,而且更大的模型每隔几个月进行一次训练,目前很多模型具有百亿,千亿的可训练参数。当前,大模型都存在参数量大,计算复杂,推理速度慢的问题,尤其对于微调的场景;在实际处理中,需要准备大量的数据和大量的训练资源。而基于传统的计算机技术,很难在大模型领域达到快速训练和高性能的结果。

因此,现有的微调算法很难在大模型领域达到很好的效果且参数较大;现有研究人员试图通过仅调整一些参数或学习外部模块以适应新任务来缓解这种情况,这种化解方式除了每个任务的预训练模型外,只需要存储和加载少量特定于任务的参数,大大提高了部署时的操作效率。然而,这种化解方式通常需要通过扩展模型深度或减少模型的可用序列长度来引入推理延迟;并且,这种化解方式往往无法与微调基线相匹配,从而在效率和模型质量之间产生了权衡问题。

有鉴于此,提出本申请。

发明内容

有鉴于此,本发明的目的在于提供了一种基于学习权重向量的大模型微调方法、装置、设备及介质,能够有效解决现有技术中的微调算法无法与微调基线相匹配,从而在效率和模型质量之间产生了权衡的问题。

本发明公开了一种基于学习权重向量的大模型微调方法, 包括:

获取待调整的大模型的Transformer模块,其中,所述Transformer模块的核心为自注意力机制;

当需要对所述大模型进行微调时,对所述Transformer模块中的k矩阵增加一个可学习的权重向量

在所述自注意力机制处理完毕后,在所述Transformer模块中增加一个可学习的权重向量lff,输出经过线性层,并根据经过线性层的输出数据获得需要调整的参数量;

根据训练样本以及需要调整的参数量对所述大模型进行微调。

优选地,对所述Transformer模块中的k矩阵增加一个可学习的权重向量

获取预设的所需向量维度train_dim,根据所述所需向量维度train_dim分别对所述权重向量

将所述权重向量

在k矩阵中增加所述权重向量

在v矩阵中增加所述权重向量

优选地,在所述Transformer模块中增加一个可学习的权重向量lff,具体为:

获取预设的所需向量维度train_dim,根据所述所需向量维度train_dim对权重向量lff进行定义,其中,所述所需向量维度train_dim与所述自注意力机制中的矩阵维度相对应;

将所述权重向量lff初始化为零;

在k矩阵中增加所述权重向量lff时,将所述权重向量lff与所述自注意力机制处理后的矩阵元素对应进行相乘,根据当前所述Transformer模块的输入特征x和缩放系数multiplier对所述Transformer模块的输出特征y进行重新赋值,赋值公式为:y = x

优选地,所述自注意力机制的计算公式为:

其中,

本发明还公开了一种基于学习权重向量的大模型微调装置,包括:

Transformer获取单元,用于获取待调整的大模型的Transformer模块,其中,所述Transformer模块的核心为自注意力机制;

第一增加单元,用于当需要对所述大模型进行微调时,对所述Transformer模块中的k矩阵增加一个可学习的权重向量

第二增加单元,用于在所述自注意力机制处理完毕后,在所述Transformer模块中增加一个可学习的权重向量lff,输出经过线性层,并根据经过线性层的输出数据获得需要调整的参数量;

微调单元,用于根据训练样本以及需要调整的参数量对所述大模型进行微调。

优选地,第一增加单元具体用于:

获取预设的所需向量维度train_dim,根据所述所需向量维度train_dim分别对所述权重向量

将所述权重向量

在k矩阵中增加所述权重向量

在v矩阵中增加所述权重向量

优选地,第二增加单元具体用于:

获取预设的所需向量维度train_dim,根据所述所需向量维度train_dim对权重向量lff进行定义,其中,所述所需向量维度train_dim与所述自注意力机制中的矩阵维度相对应;

将所述权重向量lff初始化为零;

在k矩阵中增加所述权重向量lff时,将所述权重向量lff与所述自注意力机制处理后的矩阵元素对应进行相乘,根据当前所述Transformer模块的输入特征x和缩放系数multiplier对所述Transformer模块的输出特征y进行重新赋值,赋值公式为:y = x

优选地,所述自注意力机制的计算公式为:

其中,

本发明还公开了一种基于学习权重向量的大模型微调设备,包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上任意一项所述的基于学习权重向量的大模型微调方法。

本发明还公开了一种计算机可读存储介质,存储有计算机程序,所述计算机程序能够被所述计算机可读存储介质所在设备的处理器执行,以实现如上任意一项所述的基于学习权重向量的大模型微调方法。

综上所述,本实施例提供的基于学习权重向量的大模型微调方法、装置、设备及介质,在大模型的原始Transformer模块里,对其自注意力机制中最核心的三个矩阵引入可学习权重向量,让矩阵与其权重向量元素对应相乘,从而达到只使用少量参数以调整大模型的原理;在实际微调大模型时,使用更少的参数,更有针对性的提高网络性能,以达到更好效果。

附图说明

图1是现有的 Transformer简图;

图2为本发明第一实施例提供的基于学习权重向量的大模型微调方法的流程示意图;

图3为本发明第一实施例提供的基于学习权重向量的大模型微调方法的可学习权重向量示意图;

图4为本发明第二实施例提供的基于学习权重向量的大模型微调装置的结构示意图。

具体实施方式

为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。

以下结合附图对本发明的具体实施例做详细说明。

请参阅图2,本发明第一实施例公开了一种基于学习权重向量的大模型微调方法,其可由基于学习权重向量的大模型微调设备(以下简称微调设备)来执行,特别的,由所述微调设备内的一个或者多个处理器来执行,以实现如下方法:

S101,获取待调整的大模型的Transformer模块,其中,所述Transformer模块的核心为自注意力机制;

在本实施例中,所述微调设备可为计算机、工作站或者服务器等具有数据处理能力的设备,本发明不做具体限定。

S102,当需要对所述大模型进行微调时,对所述Transformer模块中的k矩阵增加一个可学习的权重向量

具体地,步骤S102包括:获取预设的所需向量维度train_dim,根据所述所需向量维度train_dim分别对所述权重向量

将所述权重向量

在k矩阵中增加所述权重向量

在v矩阵中增加所述权重向量

S103,在所述自注意力机制处理完毕后,在所述Transformer模块中增加一个可学习的权重向量lff,输出经过线性层,并根据经过线性层的输出数据获得需要调整的参数量;

具体地,步骤S103包括:获取预设的所需向量维度train_dim,根据所述所需向量维度train_dim对权重向量lff进行定义,其中,所述所需向量维度train_dim与所述自注意力机制中的矩阵维度相对应;

将所述权重向量lff初始化为零;

在k矩阵中增加所述权重向量lff时,将所述权重向量lff与所述自注意力机制处理后的矩阵元素对应进行相乘,根据当前所述Transformer模块的输入特征x和缩放系数multiplier对所述Transformer模块的输出特征y进行重新赋值,赋值公式为:y = x

具体地,在本实施例中,以现有扩散模型里的出名的算法Stable Diffusion为例,对本方法进行具体解释。在Stable Diffusion算法里大模型的网络结构大多是采用经典的Unet结构,其主要包含Encoder模块和Decoder模块,其中还包含经典的Transformer模块,其结构简图如图1所示,其中,FF表示前馈神经网络,Matmul表示矩阵乘法,Softmax表示激活函数;其内部最核心的是自注意力机制(self attention),其计算公式为:

其中,

在本实施例中,主要就是对大模型里的Transformer模块进行修改,具体的,主要是修改Transformer模块中的自注意力机制。即,在Transformer模块中,增加三个可学习的权重向量,以提高对大模型的微调能力。

请参阅图3,在原有的Transformer模块基础上,对k矩阵增加了一个可学习的权重向量

具体的,基于pytorch深度学习框架,对增加的计算过程进行解释,以权重向量

S104,根据训练样本以及需要调整的参数量对所述大模型进行微调。

具体地,在本实施例中,微调后的所述大模型可以对特定任务,更好的生成图片,微调后的所述大模型还可以用于进行AI绘画。例如,微调后的所述大模型在电商场景的实际使用中,可以用大模型来自动生成物品特写、宣传片或海报等图片,对于美妆风格的数据集制作、模型训练,保存模型的时候仅仅保存引入的新参数,而最终模型只有几十M大小。此外,大模型还可以应用到,如多模态,数字人。语音克隆,GPT预训练模型等其它场景及任务中。

在本实施例中,所述基于学习权重向量的大模型微调方法采用对原始注意力机制增加可学习权重向量的方式,即将可训练的权重向量注入Transformer架构的每一层的方式,针对性的提高模型的性能,在实际微调大模型时,使用更少的参数,以达到更好的微调效果。

请参阅图4,本发明第二实施例还提供了一种基于学习权重向量的大模型微调装置,包括:

Transformer获取单元201,用于获取待调整的大模型的Transformer模块,其中,所述Transformer模块的核心为自注意力机制;

第一增加单元202,用于当需要对所述大模型进行微调时,对所述Transformer模块中的k矩阵增加一个可学习的权重向量

第二增加单元203,用于在所述自注意力机制处理完毕后,在所述Transformer模块中增加一个可学习的权重向量lff,输出经过线性层,并根据经过线性层的输出数据获得需要调整的参数量;

微调单元204,用于根据训练样本以及需要调整的参数量对所述大模型进行微调。

优选地,第一增加单元202具体用于:

获取预设的所需向量维度train_dim,根据所述所需向量维度train_dim分别对所述权重向量

将所述权重向量

在k矩阵中增加所述权重向量

在v矩阵中增加所述权重向量

优选地,第二增加单元203具体用于:

获取预设的所需向量维度train_dim,根据所述所需向量维度train_dim对权重向量lff进行定义,其中,所述所需向量维度train_dim与所述自注意力机制中的矩阵维度相对应;

将所述权重向量lff初始化为零;

在k矩阵中增加所述权重向量lff时,将所述权重向量lff与所述自注意力机制处理后的矩阵元素对应进行相乘,根据当前所述Transformer模块的输入特征x和缩放系数multiplier对所述Transformer模块的输出特征y进行重新赋值,赋值公式为:y = x

优选地,所述自注意力机制的计算公式为:

其中,

本发明第三实施例还提供了一种基于学习权重向量的大模型微调设备,包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上任意一项所述的基于学习权重向量的大模型微调方法。

本发明第四实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序能够被所述计算机可读存储介质所在设备的处理器执行,以实现如上任意一项所述的基于学习权重向量的大模型微调方法。

示例性的,上述的各个装置以及各个流程步骤可通过计算机程序来实现,所述计算机程序可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。

所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现本发明的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

其中,所述电子设备或者打印机集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。

相关技术
  • 钢管柱与斜向钢筋斜插装配施工的斜插辅助装置及方法
  • 施工现场辅助预制大型钢筋骨架用的装配式型钢挂架及其辅助预制大型钢筋骨架的施工方法
技术分类

06120116545299