[go: up one dir, main page]

CN119558372A - 生成式模型的微调方法、装置、设备、介质及产品 - Google Patents

生成式模型的微调方法、装置、设备、介质及产品 Download PDF

Info

Publication number
CN119558372A
CN119558372A CN202411667349.0A CN202411667349A CN119558372A CN 119558372 A CN119558372 A CN 119558372A CN 202411667349 A CN202411667349 A CN 202411667349A CN 119558372 A CN119558372 A CN 119558372A
Authority
CN
China
Prior art keywords
network
layer
model
prompt
gradient
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202411667349.0A
Other languages
English (en)
Inventor
请求不公布姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Moore Thread Intelligence Technology Shanghai Co ltd
Original Assignee
Moore Thread Intelligence Technology Shanghai Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Moore Thread Intelligence Technology Shanghai Co ltd filed Critical Moore Thread Intelligence Technology Shanghai Co ltd
Priority to CN202411667349.0A priority Critical patent/CN119558372A/zh
Publication of CN119558372A publication Critical patent/CN119558372A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

本申请公开了一种生成式模型的微调方法、装置、设备、介质及产品,属于人工智能领域。生成式模型关联有提示词模型,提示词模型的网络参数少于生成式模型中的第一部分网络层的网络参数,该方法包括:将提示词输入提示词模型得到提示特征表示;在生成式模型对训练样本预测的过程中,将提示特征表示作为引导提示输入生成式模型,得到训练样本的预测结果;基于预测结果,更新提示词模型的网络参数和生成式模型中的第二部分网络层的网络参数,第二部分网络层包括生成式模型中位于第一部分网络层之后的n层网络层。该方法仅更新生成式模型的第二部分网络层的网络参数和提示词模型的网络参数,能够降低微调生成式模型的计算机设备的性能需求。

Description

生成式模型的微调方法、装置、设备、介质及产品
技术领域
本申请涉及人工智能领域,特别涉及一种生成式模型的微调方法、装置、设备、介质及产品。
背景技术
生成式模型是具有自然语言处理、图像处理或语音处理等能力的神经网络模型。
若要将生成式模型运用在某一领域,如医疗、游戏、工业等领域,通常使用该领域的训练样本来微调训练一个适用于通用领域的预训练模型,得到专用于该领域的生成式模型。其中,预训练模型是指在大规模的训练样本集上已经训练好的神经网络模型。
为了达到更好的微调训练效果,相关技术采用对生成式模型的全部网络参数均执行微调的方式。然而由于生成式模型的网络参数的数量通常以亿为单位,全部网络参数均执行微调的方式需要极高配置的硬件设备,成本很高。
发明内容
本申请提供了一种生成式模型的微调方法、装置、设备、介质及产品,所述技术方案如下:
根据本申请的一方面,提供了一种生成式模型的微调方法,所述生成式模型关联有提示词模型,所述提示词模型的网络参数少于所述生成式模型中的第一部分网络层的网络参数,所述方法包括:
将提示词输入所述提示词模型得到提示特征表示;
在所述生成式模型对训练样本预测的过程中,将所述提示特征表示作为引导提示输入所述生成式模型,得到所述训练样本的预测结果;
基于所述预测结果,更新所述提示词模型的网络参数和所述生成式模型中的第二部分网络层的网络参数,所述第二部分网络层包括所述生成式模型中位于所述第一部分网络层之后的n层网络层,n为正整数。
根据本申请的一方面,提供了一种生成式模型的微调装置,所述生成式模型关联有提示词模型,所述提示词模型的网络参数少于所述生成式模型中的第一部分网络层的网络参数,所述装置包括:
获取模块,用于将提示词输入所述提示词模型得到提示特征表示;
预测模块,用于在所述生成式模型对训练样本预测的过程中,将所述提示特征表示作为引导提示输入所述生成式模型,得到所述训练样本的预测结果;
更新模块,用于基于所述预测结果,更新所述提示词模型的网络参数和所述生成式模型中的第二部分网络层的网络参数,所述第二部分网络层包括所述生成式模型中位于所述第一部分网络层之后的n层网络层,n为正整数。
根据本申请的一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一段程序;所述处理器,用于执行所述存储器中的所述至少一段程序以实现上述生成式模型的微调方法。
根据本申请的一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有可执行指令,所述可执行指令由处理器加载并执行以实现上述生成式模型的微调方法。
根据本申请的一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机指令,以实现上述生成式模型的微调方法。
本申请提供的技术方案带来的有益效果至少包括:
在生成式模型的微调过程仅需更新第二部分网络层的网络参数和提示词模型的网络参数,第一部分网络层的网络参数是冻结不更新的,而提示词模型的网络参数少于甚至远少于第一部分网络层的网络参数,即相较于相关技术中更新生成式模型的全部网络参数,本申请实施例提供的方法仅需要更小的开销,对微调生成式模型的计算机设备的性能需求不高。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的计算机系统的架构图;
图2示出了本申请一个示例性实施例提供的生成式模型的微调方法的流程图;
图3示出了本申请一个示例性实施例提供的生成式模型的微调方法的示意图;
图4示出了本申请一个示例性实施例提供的生成式模型的微调方法的流程图;
图5示出了本申请一个示例性实施例提供的生成式模型的微调方法的流程图;
图6示出了本申请一个示例性实施例提供的生成式模型的微调方法的流程图;
图7示出了本申请一个示例性实施例提供的生成式模型的微调方法的示意图;
图8示出了本申请一个示例性实施例提供的生成式模型的微调方法的流程图;
图9示出了本申请一个示例性实施例提供的生成式模型的微调方法的流程图;
图10示出了本申请一个示例性实施例提供的生成式模型的微调方法的示意图;
图11示出了本申请一个示例性实施例提供的生成式模型的微调方法的流程图;
图12示出了本申请一个示例性实施例提供的生成式模型的微调方法的流程图;
图13示出了本申请一个示例性实施例提供的基于生成式模型的预测方法的流程图;
图14示出了本申请一个示例性实施例提供的生成式模型的微调装置的结构框图;
图15示出了本申请一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的设置操作等信息都是在充分授权的情况下获取的。
应当理解,尽管在本公开可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一参数也可以被称为第二参数,类似地,第二参数也可以被称为第一参数。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本申请涉及的相关名词做出介绍:
预训练模型(Pre-trainingModel,PTM):也称基石模型、大模型,指具有大参量的深度神经网络(DeepNeuralNetwork,DNN),在海量未标记的数据上对其进行训练,利用大参量DNN的函数近似能力使PTM在数据上提取共性特征,经微调(FineTune)、参数高效微调(Parameter Efficient Fine Tuning,PEFT)、指令微调(Prompt-tuning)等技术,适用于下游任务。因此,预训练模型可以在小样本(Few-shot)或零样本(Zero-shot)场景下达到理想效果。PTM按照处理的数据模态可以分为语言模型(ELMO,BERT,GPT)、视觉模型(swin-transformer,ViT,V-MOE)、语音模型(VALL-E)、多模态模型(ViBERT,CLIP,Flamingo,Gato)等,其中多模态模型指建立两种或以上数据模态特征表示的模型。预训练模型是输出人工智能生成内容重要工具,也可以作为连接多个具体任务模型的通用接口。
生成式模型:是具有自然语言处理、图像处理或语音处理等能力,且具有文本、图片、音频、视频等内容生成能力的模型。根据生成内容的不同,可将生成式模型分类为如下几种:文本生成模型、图像生成模型、音频生成模型、视频生成模型、3D模型生成模型。
提示词(Prompt):用于引导生成式模型执行指定任务的信息,也可以简称为提示。通常来说,提示词是以文本形态表示的,即通过提示文本引导生成式模型执行指定任务,指定任务如文本生成任务、图像生成任务、音频生成任务、视频生成任务等,如对于文本生成任务而言,提示词为“生成上述文本的摘要”、“根据上述文本生成一则故事”。
图1示出了本申请一个示例性实施例提供的计算机系统的架构图。该计算机系统包括:计算机设备110。
可选地,该计算机设备110可以是便携式电脑、台式电脑、服务器、服务器集群、人工智能(Artificial Intelligence,AI)计算集群、云计算集群中的至少一种。其中,AI计算集群也可简称为智能计算集群或智算集群。
可选地,该计算机设备110部署有生成式模型10,生成式模型10关联有提示词模型20。该计算机设备110用于执行生成式模型10的微调方法,在生成式模型10的微调过程中,计算机设备110将提示词输入提示词模型20得到提示特征表示;在生成式模型10对训练样本预测的过程中,将提示特征表示作为引导提示输入生成式模型10,得到训练样本的预测结果;基于预测结果,更新提示词模型20的网络参数和生成式模型10中的第二部分网络层的网络参数,第二部分网络层包括生成式模型中位于第一部分网络层之后的n层网络层,n为正整数。其中,提示词模型的网络参数少于生成式模型中的第一部分网络层的网络参数。在提示词模型20和生成式模型10中的第二部分网络层的更新过程中,基于预测结果得到模型损失9,模型损失9会根据待更新的网络参数反向传播,反向传播过程中,模型损失9会自第二部分网络层流向提示词模型,而不经过第一部分网络层,也即不更新或者说冻结第一部分网络层的网络参数。
图2示出了本申请一个示例性实施例提供的生成式模型的微调方法的流程图。该生成式模型关联有提示词模型,提示词模型的网络参数少于生成式模型中的第一部分网络层的网络参数。该方法可以由上述图1中示出的计算机设备执行。该方法包括:
其中,生成式模型关联有提示词模型,是指生成式模型与提示词模型共同训练及使用。可以理解为生成式模型与提示词模型存在连接,如提示词模型的输出将被输入到生成式模型中;或者说提示词模型是添加到生成式模型中的可训练的神经网络。
步骤210:将提示词输入提示词模型得到提示特征表示。
即,提示词模型用于从提示词中提取得到提示特征表示。可选地,提示特征表示也可以称为提示嵌入(prompt embedding)、提示向量、提示特征向量等。
可选地,提示词模型为第一预训练模型;或,采用初始化方式得到提示词模型中的网络参数。其中,提示词模型为预训练模型是指提示词模型采用经过预训练的模型,该预训练模型用于从提示词中提取提示特征表示。预训练模型也可以称为通用模型。初始化方式包括随机初始化、启发式初始化、零初始化、常量初始化等。随机初始化为从固定分布中采样数据来初始化网络参数,固定分布如正态分布、均匀分布等。启发式初始化是指根据提示词模型训练时所采用的激活函数的特征初始化提示词模型的网络参数。零初始化是指将提示词模型中的网络参数全部初始化为零。常量初始化类似于零初始化,是将提示词模型中的网络参数全部初始化为一个非零常数。
需要说明的是,相较于采用初始化的方式得到提示词模型中的网络参数,将第一预训练模型作为提示词模型能够有效提高生成式模型的微调效率,因此本申请实施例将以采用第一预训练模型作为提示词模型进行举例说明,但对此并不加以限定。
步骤220:在生成式模型对训练样本预测的过程中,将提示特征表示作为引导提示输入生成式模型,得到训练样本的预测结果。
可选地,生成式模型为第二预训练模型。
可选地,在生成式模型对训练样本预测的过程中,生成式模型会基于提示特征表示和训练样本,得到预测结果。提示特征表示用于引导生成式模型向提示特征表示所指示的目标领域及任务内容生成预测结果。
可选地,训练样本的样本特征表示由生成式模型提取,即将提示特征表示和训练样本输入生成式模型,生成式模型首先基于训练样本提取样本特征表示,再基于提示特征表示和样本特征表示得到预测结果,即,可以理解为生成式模型还包括特征提取层(也可以称为嵌入层、编码层等),特征提取层用于基于训练样本提取样本特征表示。或,训练样本的样本特征表示由特征提取模型提取,即将训练样本输入特征提取模型得到样本特征表示,再将提示特征表示和样本特征表示输入生成式模型得到预测结果。或,生成式模型为编码器解码器结构,将训练样本输入编码器得到样本特征表示,网络层为解码器结构,将提示特征表示和样本特征表示输入解码器得到预测结果。接下来将以样本特征表示由生成式模型提取进行说明,但本申请的保护范围不限于此。
可选地,在生成式语言模型的网络层的输出信息为预测结果的信息的情况下,生成式模型还包括输出层,输出层用于基于预测结果的信息得到预测结果。其中,预测结果的信息可以理解为预测结果的标识,如输出信息为一个文本标识序列,输出层用于基于文本标识序列中的每个文本标识得到文本序列。
可选地,训练样本为文本、图像、音频、视频中的至少之一。训练样本的形态根据生成式模型的任务确定。在训练样本为文本的情况下,样本特征表示可以称为令牌(token)特征表示、令牌嵌入(token embedding)等。
示例性的,生成式模型的任务为机器翻译任务,此时,训练样本为待翻译文本,提示词为目标语言;如,提示词为“将下列句子翻译成中文”;或,生成式模型的任务为图像的风格迁移任务,此时,训练样本为带有固定风格的图像,提示词为“请生成与输入图像具有相同风格的图像”;或,生成式模型的任务为音频生成任务,训练样本为参考音频片段,提示词为“请根据输入的音频片段生成完整的音频”;或,生成式模型的任务为视频预测,训练样本为待预测视频片段,提示词为“请根据输入的视频片段生成视频的下一帧”,等等。
步骤230:基于预测结果,更新提示词模型的网络参数和生成式模型中的第二部分网络层的网络参数,第二部分网络层包括生成式模型中位于第一部分网络层之后的n层网络层,n为正整数。
可选地,生成式模型包括多层网络层,该网络层可以分为第一部分网络层和第二部分网络层,第二部分网络层为多层网络层中的后n层。例如,生成式模型包括m层网络层,第一部分网络层包括第1层至第m-n层,第二部分网络包括第m-n+1层至第m层。具体来说,以m为28,n为2举例,生成式模型包括28层网络层,第一部分网络层包括第1至第(28-2=)26层,第二部分网络层包括(28-2+1=)27层和第28层。
可选地,网络层用于基于提示特征表示和样本特征表示生成预测结果;或,网络层用于基于提示特征表示和样本特征表示生成输出信息,生成式模型中还包括输出层,输出层用于基于输出信息生成预测结果。其中,输出信息可以表现为输出序列、输出特征表示等。
可选地,在提示词模型的网络参数和生成式模型中的第二部分网络层的网络参数的更新过程中,生成式模型中的第一部分网络层的网络参数是冻结的;或,生成式模型中除第二部分网络层中的网络参数外的其他网络参数是冻结的。
综上所述,本申请实施例提供的方法,在生成式模型的微调过程仅需更新第二部分网络层的网络参数和提示词模型的网络参数,第一部分网络层的网络参数是冻结不更新的,而提示词模型的网络参数少于甚至远少于第一部分网络层的网络参数,即相较于相关技术中更新生成式模型的全部网络参数,本申请实施例提供的方法仅需要更小的开销,对微调生成式模型的计算机设备的性能需求不高。此外,除了生成式模型自身的网络层外,还为生成式模型关联了提示词模型,提示词模型用于从提示词中提取提示特征表示。提示词能够引导生成式模型生成指定任务的内容,为生成式模型关联提示词模型,且在生成式模型的微调过程中也随之更新提示词模型的网络参数,能够使提示词模型学习到如何提取提示特征表示以引导生成式模型生成指定任务的内容,而无需生成式模型根据未知任务生成,节省了生成式模型对未知任务的探索时间,从而加快生成式模型的微调进程。
首先针对上述提示词做进一步说明。
可选地,提示词是基于目标领域的任务内容构建的,目标领域为微调后的生成式模型所应用的领域。
示例性的,目标领域为医疗领域,任务内容为医疗问答,则提示词是基于医疗领域的医疗问答任务构建的;或,目标领域为自然语言处理领域,任务内容为文本翻译,则提示词是基于自然语言处理领域的文本翻译任务构建的;或,目标领域为艺术领域,任务内容为图像生成,则提示词是基于艺术领域的图像生成任务构建的;或,目标领域为游戏领域,任务内容为三维模型生成,则提示词是基于游戏领域的三维模型生成任务构建的。
例如:
<训练样本>:我觉得头晕、恶心,好像有点发烧,我该先吃点什么药让自己舒服一点。
<提示词>:药物1,药物2,药物3。
又例如:
<提示词>:下面将示出一个通信技术文档,请将其翻译为中文,并保证翻译结果的信达雅。同时,若碰上以下词汇,请按照以下给出的翻译来执行:
UE:用户终端;eNB:演进型基站;MAC:媒体接入控制。
<训练样本>为通信领域中的技术文档的英文片段。
再例如:
<提示词>:请参考下面示出的图像风格绘制出相同风格的小狗图像。
<训练样本>为一张写实风格的图像。
还可以是:
<提示词>:请参考下面示出的人物图像生成其对应的三维模型。总体风格偏向于动漫人物。
<训练样本>为一张人物图像。
其中,基于提示词来引导生成式模型学习目标领域的任务内容相关的生成,无需生成式模型根据未知任务生成,节省了生成式模型对未知任务的探索时间,从而加快生成式模型的微调进程。
针对上述提到的“提示词模型的网络参数少于生成式模型中的第一部分网络层的网络参数”。可选地,提示词模型的网络参数比第一部分网络层的网络参数少至少一个数量级。
其中,一个数量级通常是指10倍,两个数量级是指100倍,三个数量级是指1000倍,以此类推,n个数量级是指10n
可选地,提示词模型的网络参数少于生成式模型中第一部分网络层的网络参数,还可以说提示词模型的网络参数少于生成式模型中一层网络层的网络参数。由于提示词模型的网络参数数量很少,且远少于生成式模型的第一部分网络层的网络参数,在生成式模型的微调过程中,即使更新提示词模型的网络参数,并不会对计算机设备的负载带去太大的压力,即提示词模型既可以加快生成式模型的微调效率,又不会加重计算机设备的负载压力。
接下来示出提示词模型和生成式模型的具体训练过程。
1.生成式模型关联一个提示词模型。
接下来以生成式模型中包括m层网络层、1层特征提取层和1层输出层为例,对生成式模型的微调过程进行详细介绍。如图3所示,生成式模型10包括特征提取层11、m层网络层和输出层12。特征提取层11用于从输入的训练样本13中提取样本特征表示14。生成式模型10中包括的m层网络层可以分为第一部分网络层和第二部分网络层,第一部分网络层为第1层至第k层,第二部分网络层为第k+1层至第m层。其中,第二部分网络层的网络层层数为n,即m-k=n,n、m和k均为正整数。生成式模型10还关联有提示词模型20,提示词模型20用于从提示词21中提取提示特征表示22。
针对生成式模型关联一个提示词模型的场景,接下来具体说明生成式模型是如何得到预测结果的,m为大于n的正整数。如图4所示,上述步骤220可实现为步骤310至步骤330。
步骤310:针对m层网络层中的第1网络层,将提示特征表示和训练样本的样本特征表示输入第1网络层,得到第1输出信息。
其中,训练样本的样本特征表示的获取方式可参见上述步骤220,在此以样本特征表示由特征提取层11提取来举例说明。
可选地,针对m层网络层中的第1网络层,将提示特征表示和训练样本的样本特征表示拼接后输入第1网络层,得到第1输出信息。或,针对m层网络层中的第1网络层,将提示特征表示和训练样本的样本特征表示分别输入第1网络层,如先输入提示特征表示再输入训练样本的样本特征表示,或,先输入训练样本的样本特征表示再输入提示特征表示。
可选地,m层网络层中的第1网络层,接收拼接后的提示特征表示和样本特征表示,并基于拼接后的提示特征表示和样本特征表示得到第1输出信息。第1网络层会将第1输出信息输出给第2网络层。具体的,m层网络层中的每层网络层会将该层网络层中得到的输出信息输出到下一网络层中。
可选地,将提示特征表示和训练样本的样本特征表示拼接,可以采用以下方式:将提示特征表示拼接到训练样本的样本特征表示前;或,将提示特征表示拼接到训练样本的样本特征表示后;或,将提示特征表示拼接到训练样本的样本特征表示中;或,将提示特征表示拆分后拼接到训练样本的样本特征表示中。
示例性的,以训练样本的样本特征表示为“[S][S][S][S][S]”,提示特征表示为“[P][P][P]”来举例说明。将提示特征表示拼接到训练样本的样本特征表示前,则有拼接后的提示特征表示和样本特征表示(以下简称为拼接后的特征表示):[P][P][P][S][S][S][S][S]。将提示特征表示拼接到训练样本的样本特征表示后,则有拼接后的特征表示:[S][S][S][S][S][P][P][P]。将提示特征表示拼接到训练样本的样本特征表示中,则有拼接后的特征表示:[S][S][P][P][P][S][S][S]。将提示特征表示拆分后拼接到训练样本的样本特征表示中,则有拼接后的特征表示:[S][P][S][P][S][P][S][S]。其中,[·]为一个序列元素。
需要说明的是,上述训练样本的样本特征表示和提示特征表示的大小、内容、形态仅做示意。在实际使用场景中,特征表示还可以表示为向量、矩阵、张量等形式。提示特征表示和训练样本的样本特征表示的拼接方式根据特征表示的形态的不同也有所不同,在此不再赘述,但本申请实施例的保护范围不限于此。
步骤320:针对m层网络层中的第i+1网络层,将提示特征表示和第i输出信息输入第i+1网络层,得到第i+1输出信息,第i输出信息为第i网络层输出的,i为小于m的正整数。
可选地,针对m层网络层中的第i+1网络层,将提示特征表示和第i输出信息拼接后输入第i+1网络层,得到第i+1输出信息。或,针对m层网络层中的第i+1网络层,将提示特征表示和第i输出信息分别输入第i+1网络层,得到第i+1输出信息,如先输入提示特征表示再输入第i输出信息,或,先输入第i输出信息再输入提示特征表示。
可选地,m层网络层中的第2网络层至第m网络层,接收拼接后的提示特征表示和第i输出信息,并基于拼接后的提示特征表示和第i输出信息得到第i+1输出信息。对于第2网络层至第m-1网络层还会将第i输出信息输出给第i+2网络层。对于第m网络层,会将第m输出信息输出给输出层。
可选地,对于不包括输出层的生成式模型而言,第m网络层还用于基于第m输出信息得到预测结果,即第m网络层在基于拼接后的提示特征表示和第m-1输出信息得到第m输出信息后,不会将其输出,而是基于第m输出信息进一步得到预测结果,再将预测结果输出。
步骤330:基于第m输出信息得到训练样本的预测结果。
可选地,生成式模型基于第m输出信息得到训练样本的预测结果;或,生成式模型中的输出层基于第m输出信息得到训练样本的预测结果。
综上所述,本申请实施例提供的方法,将提示特征表示输入生成式模型的网络层中的每一层,使得提示特征表示对于生成式模型的每一层网络层的输出信息都造成影响,即使提示特征表示能够引导生成式模型的每一层网络层生成指定任务的内容,提高了生成式模型的微调效率和对目标领域的适应性。
接下来具体说明提示词模型的网络参数和生成式模型中的第二部分网络层的网络参数是如何基于预测结果更新的。如图5所示,上述步骤230可实现为步骤340至步骤370。
步骤340:基于预测结果计算模型损失。
可选地,训练样本存在与之对应的真实样本或样本标签或期望结果。模型损失即可基于预测结果与真实样本计算,或,基于预测结果和样本标签计算,或,基于预测结果和期望结果计算。如对于任务内容为医学领域的问答任务的生成式模型而言,训练样本为问题,期望结果为期望答案。生成式模型的预测结果为生成式模型基于训练样本(即问题)和提示词生成的预测答案。模型损失可以基于期望答案与预测答案之间的误差计算。
其中,模型损失计算时的损失函数可以采用交叉熵损失、均方误差、平均绝对误差、KL散度等。本申请实施例对此不加以限定。
步骤350:基于模型损失计算第m层梯度;基于第m层梯度,更新生成式模型中的第m网络层的网络参数,第m层梯度为第m网络层的梯度。
可选地,梯度是指生成式模型的损失函数相对于网络层的网络参数的偏导数。即第m层梯度可以理解为一个向量,其分量是生成式模型的损失函数相对于第m网络层中每个网络参数的偏导数。网络参数包括网络权重、网络偏置中的至少之一。网络权重是指神经网络中连接输入和神经元的参数,表示输入对神经元输出的影响程度。网络权重决定了信号(可以理解为拼接后的提示特征表示和样本特征表示在网络层中的一种表现形态)在神经元之间的传递强度。网络偏置是指加在神经元激活函数输入上的一个常数项,用于提供神经元激活的阈值偏移。若将神经元表示为f(wx+b),则f(·)为激活函数,w为权重,x是指输入神经元的信号,b是指偏置。神经元用于将输入(wx+b)转化为输出f(wx+b)。
上述“基于第m层梯度,更新生成式模型中的第m网络层的网络参数”,可以理解为,“基于第m层梯度,更新生成式模型中的第m网络层的网络权重和/或网络偏置”。
即,第m层梯度包括第m层网络权重对应的梯度和/或第m层网络偏置对应的梯度。
其中,提示词模型的网络参数和生成式模型的网络参数的更新,采用的是反向传播算法,也可以称为误差反向传播。即将模型误差根据提示词模型的网络参数和生成式模型中的网络参数反向传播至输入层(提示词模型或生成式模型中的第k+1网络层)。在将模型误差反向传播的过程中,需要根据模型误差对提示词模型的网络参数和生成式模型中的第二部分网络层的网络参数进行更新。提示词模型的网络参数和生成式模型的网络参数的更新可以基于模型误差相对于网络参数的偏导数,即梯度。提示词模型的网络参数和生成式模型的网络参数的更新目标是更新后的网络参数能够生成模型误差更小的预测结果,也即向模型误差减小的方向更新网络参数。从梯度的角度来说,就是向梯度下降的方向更新网络参数。因此,提示词模型的网络参数和生成式模型的网络参数的更新可以称为是根据梯度进行的。而对于相邻的网络层而言,第i层的梯度可以基于第i+1层的梯度计算。
具体的,网络参数的更新可采用不同的优化器实现,优化器即网络参数的更新算法,常见的优化器如梯度下降法、随机梯度下降法等。
步骤360:基于第i+1层梯度计算第i层梯度;基于第i层梯度,更新生成式模型中的第i网络层的网络参数,第i+1层梯度为第i+1网络层的梯度,第i梯度为第i网络层的梯度,i为大于k且小于m的整数。
其中,基于第i+1层梯度和第i网络层的网络参数,计算第i层梯度。或者说,基于第i+1层梯度和第i网络层的激活函数,计算第i层梯度。示例性的,第i层梯度等于第i+1层梯度与第i网络层的激活函数的导数的乘积。
可选地,针对m层网络层中的第m-1层至第k+1层,基于第i+1层梯度计算第i层梯度;基于第i层梯度,更新第i网络层的网络参数。
可选地,针对m层网络层中的第k层至第1层,即针对生成式模型中的第一部分网络层,不计算梯度。即,不更新生成式模型中的第一部分网络层的网络参数。
可选地,基于第i+1层梯度计算第i层梯度。也可以说,基于模型损失计算第i层梯度。
步骤370:基于第m层梯度或第k+1层梯度,更新提示词模型的网络参数。
其中,由于提示特征表示会被逐层输入到m层网络层中,因此,提示词模型的网络参数的更新可以基于第k+1网络层至第m网络层中的任一网络层的梯度进行。
可选地,基于第i层梯度,更新提示词模型的网络参数,i为大于k且小于m+1的整数。
在一些实施例中,上述步骤370可以在步骤350中“基于模型损失计算第m层梯度”之后,“基于第m层梯度,更新生成式模型中的第m网络层的网络参数”之前执行,或,上述步骤370可以在步骤350和步骤360之间执行,或,上述步骤370可以和步骤350中的“基于第m层梯度,更新生成式模型中的第m网络层的网络参数”一起执行,或,上述步骤370可以和步骤360一起执行。
综上所述,本申请实施例提供的方法示出了生成式模型的第二部分网络层的网络参数和提示词模型的网络参数的具体更新过程,即根据预测结果计算得到模型损失,再利用反向传播算法,将模型的损失函数相对于网络参数的偏导数(即梯度)一层一层的传播并基于梯度更新网络层的网络参数,更新过程中将冻结第一部分网络层的网络参数,即不计算第一部分网络层的梯度,降低了生成式模型的微调过程中的计算量,即降低了对计算机设备的性能需求。在同配置的计算机设备中微调时,相较于相关技术采用的更新全部网络参数的微调方式,在一定程度上提高了生成式模型的微调效率。
2.生成式模型关联至少两个提示词模型。
针对生成式模型关联至少两个提示词模型的场景,如图6所示,上述步骤210可实现为步骤410,上述步骤220可实现为步骤420,上述步骤230可实现为步骤430。
步骤410:将提示词输入至少两个提示词模型中的每个提示词模型,得到至少两个提示特征表示。
可选地,至少两个提示词模型中的每个提示词模型使用同一预训练模型,即第一预训练模型;或,至少两个提示词模型中的每个提示词模型采用相同的初始化方式;或,至少两个提示词模型中的每个提示词模型使用不同预训练模型;或,至少两个提示词模型中的每个提示词模型采用不同的初始化方式。在至少两个提示词模型中的每个提示词模型采用相同的初始化方式的情况下,得到的至少两个提示词模型中的每个提示词模型的网络参数相同或不同。如采用零初始化的情况下,至少两个提示词模型中的每个提示词模型的网络参数相同;采用常量初始化、随机初始化和启发式初始化的情况下,至少两个提示词模型中的每个提示词模型的网络参数可以相同也可以不同。
其中,“将提示词输入至少两个提示词模型中的每个提示词模型,得到至少两个提示特征表示”的具体过程可参见上述步骤210,在此不再赘述。
步骤420:将至少两个提示特征表示分别输入到生成式模型的第一部分网络层,和/或,第二部分网络层中的不同网络层;以及将训练样本的样本特征表示输入生成式模型的第1网络层,得到训练样本的预测结果。
可选地,将至少两个提示特征表示分别输入到生成式模型的第一部分网络层,和/或,第二部分网络层中的不同网络层;可以理解为,将至少两个提示特征表示分别输入到生成式模型中的第一部分网络层,和/或,第二部分网络层。
示例性的,至少两个提示特征表示为2个提示特征表示,第1个提示特征表示被输入到第一部分网络层的每一层,第2个提示特征表示被输入到第二部分网络层的每一层。或,至少两个提示特征表示为n+1个提示特征表示,第1个提示特征表示被输入到第一部分网络层的每一层,第2个提示特征表示至第n+1个提示特征表示分别被输入到第二部分网络层(n层网络层)的每一层。
可选地,m层网络层中相邻网络层是相连的,即第i网络层的输出信息会传输到第i+1网络层中。因此,将训练样本的样本特征表示输入生成式模型的第1网络层,可以理解为将训练样本的样本特征表示输入生成式模型的m层网络层。
其中,“至少两个提示特征表示分别输入到生成式模型的第一部分网络层,和/或,第二部分网络层中的不同网络层;以及将训练样本的样本特征表示输入生成式模型的第1网络层,得到训练样本的预测结果”的具体过程可参见上述步骤220,在此不再赘述。
步骤430:基于预测结果,更新至少两个提示词模型的网络参数和生成式模型中的第二部分网络层的网络参数。
其中,“基于预测结果,更新至少两个提示词模型的网络参数和生成式模型中的第二部分网络层的网络参数”的具体过程可参见上述步骤230,在此不再赘述。
综上所述,本申请实施例提供的方法,为生成式模型关联至少两个提示词模型,每个提示词模型关联生成式模型中的不同网络层,使得提示词模型能够根据不同网络层的能力生成更易于该网络层理解的提示特征表示。由于反向传播算法的特性,通常而言越靠后的网络层是越贴近微调的目标领域的,越靠前的网络层是越贴近一个通用领域的,因此针对不同能力的网络层设置不同的提示词模型,能够提高提示特征表示对网络层的引导能力,从而提高生成式模型的微调效率。
接下来示出两个“生成式模型关联至少两个提示词模型”的典型场景。即,生成式模型关联两个提示词模型的场景和生成式模型关联n+1个提示词模型的场景。
需要说明的是,生成式模型所关联的提示词模型的数量,以及针对不同数量的提示词模型如何设计提示词模型与m层网络层的连接关系,从而根据该连接关系微调生成式模型的相关内容本申请实施例不再一一列举,但本申请实施例的保护范围不限于此。
2.1生成式模型关联两个提示词模型。
可选地,生成式模型关联有第一提示词模型和第二提示词模型;生成式模型包括m层网络层,m为大于n的正整数;第一部分网络层为m层网络层中的第1层至第k层,第二部分网络层为m层网络层中的第k+1层至第m层。该场景下的模型结构如图7所示,生成式模型10包括特征提取层11、m层网络层和输出层12。特征提取层11用于从输入的训练样本13中提取样本特征表示14。生成式模型10中包括的m层网络层可以分为第一部分网络层和第二部分网络层,第一部分网络层为第1层至第k层,第二部分网络层为第k+1层至第m层。其中,第二部分网络层的网络层层数为n,即m-k=n,n、m和k均为正整数。生成式模型10还关联有第一提示词模型30和第二提示词模型40,第一提示词模型30用于基于提示词21提取第一提示特征表示31,第二提示词模型用于基于提示词21提取第二提示特征表示41。
首先说明生成式模型是如何得到预测结果的。如图8所示,步骤410可实现为步骤510,步骤420可实现为步骤520至步骤550。
步骤510:将提示词输入第一提示词模型得到第一提示特征表示;以及将提示词输入第二提示词模型得到第二提示特征表示。
可选地,第一提示词模型和第二提示词模型为同一预训练模型,即第一预训练模型;或,第一提示词模型和第二提示词模型采用相同的初始化方式;或,第一提示词模型和第二提示词模型为不同预训练模型;或,第一提示词模型和第二提示词模型采用不同的初始化方式。
其中,“将提示词输入第一提示词模型和第二提示词模型得到第一提示特征表示和第二提示特征表示”的具体过程可参见步骤210、步骤410,在此不再赘述。
步骤520:针对m层网络层中的第1网络层,将第一提示特征表示和训练样本的样本特征表示输入第1网络层,得到第1输出信息。
可选地,针对m层网络层中的第1网络层,将第一提示特征表示和样本特征表示拼接后输入第1网络层,得到第1输出信息。或,针对m层网络层中的第1网络层,将第一提示特征表示和样本特征表示分别输入第1网络层,如先输入第一提示特征表示再输入样本特征表示,或,先输入样本特征表示再输入第一提示特征表示。
其中,“将第一提示特征表示和训练样本的样本特征表示输入第1网络层,得到第1输出信息”的具体过程可参见上述步骤310,在此不再赘述。
步骤530:针对m层网络层中的第i+1网络层,将第一提示特征表示和第i输出信息输入第i+1网络层,得到第i+1输出信息,第i输出信息为第i网络层输出的,i为小于k的正整数。
可选地,针对m层网络层中的第i+1网络层,将第一提示特征表示和第i输出信息拼接后输入第i+1网络层,得到第i+1输出信息。或,针对m层网络层中的第i+1网络层,将第一提示特征表示和第i输出信息分别输入第i+1网络层,得到第i+1输出信息,如先输入第一提示特征表示再输入第i输出信息,或,先输入第i输出信息再输入第一提示特征表示。
可选地,m层网络层中的第一部分网络层,或者说,m层网络层中的第2网络层至第k网络层,接收拼接后的第一提示特征表示和第i输出信息,并基于拼接后的第一提示特征表示和第i输出信息得到第i+1输出信息。此外,第2网络层至第k网络层还会将第i+1输出信息输出给第i+2网络层。
其中,“将第一提示特征表示和第i输出信息输入第i+1网络层,得到第i+1输出信息”的具体过程可参见上述步骤320,在此不再赘述。
步骤540:针对m层网络层中的第j+1网络层,将第二提示特征表示和第j输出信息输入第j+1网络层,得到第j+1输出信息,第j输出信息为第j网络层输出的,j为大于k-1且小于m的正整数。
可选地,针对m层网络层中的第j+1网络层,将第二提示特征表示和第j输出信息拼接后输入第j+1网络层,得到第j+1输出信息;或,针对m层网络层中的第j+1网络层,将第二提示特征表示和第j输出信息分别输入第j+1网络层,得到第j+1输出信息,如先输入第二提示特征表示再输入第j输出信息,或,先输入第j输出信息再输入第二提示特征表示。
可选地,m层网络层中的第二部分网络层,或者说,m层网络层中的第k+1网络层至第m网络层,接收拼接后的第二提示特征表示和第j输出信息,并基于拼接后的第二提示特征表示和第j输出信息得到第j+1输出信息。对于第k+1网络层至第m-1网络层还会将第j+1输出信息输出给第j+2网络层。对于第m网络层,会将第m输出信息输出给输出层。
其中,“将第二提示特征表示和第j输出信息输入第j+1网络层,得到第j+1输出信息”的具体过程可参见上述步骤320,在此不再赘述。
步骤550:基于第m输出信息得到训练样本的预测结果。
可选地,生成式模型基于第m输出信息得到训练样本的预测结果;或,生成式模型中的输出层基于第m输出信息得到训练样本的预测结果。
综上所述,本申请实施例提供的方法,将第一提示特征表示输入生成式模型的第一部分网络层中的每一层,将第二提示特征表示输入生成式模型的第二部分网络层的每一层。这是由于在生成式模型的微调过程中,第一部分网络层的网络参数是不更新的(即冻结的),也即第一部分网络层不会学习训练样本和提示词的特征,而第二部分网络层则会学习训练样本和提示词的特征。因此在生成式模型的微调过程中,第一部分网络层和第二部分网络层对于同一提示特征表示可能存在不同理解,因此为其分别设置提示词模型,从而针对性地根据第一部分网络层和第二部分网络层的能力生成提示特征表示,使其都能够更好的理解并输出更准确的输出信息,从而提高生成式模型的微调效率和对目标领域的适应性。
接下来具体说明提示词模型的网络参数和生成式模型中的第二部分网络层的网络参数是如何基于预测结果更新的。如图9所示,上述步骤430可实现为步骤560至步骤600。
步骤560:基于预测结果计算模型损失。
其中,“基于预测结果计算模型损失”的具体过程可参见上述步骤340,在此不再赘述。
步骤570:基于模型损失计算第m层梯度;基于第m层梯度,更新生成式模型中的第m网络层的网络参数,第m层梯度为第m网络层的梯度。
其中,“基于模型损失计算第m层梯度;基于第m层梯度,更新生成式模型中的第m网络层的网络参数”的具体过程可参见上述步骤350,在此不再赘述。
步骤580:基于第i+1层梯度计算第i层梯度;基于第i层梯度,更新生成式模型中的第i网络层的网络参数,第i+1层梯度为第i+1网络层的梯度,第i梯度为第i网络层的梯度,i为大于k且小于m的整数。
其中,“基于第i+1层梯度计算第i层梯度;基于第i层梯度,更新生成式模型中的第i网络层的网络参数,第i+1层梯度为第i+1网络层的梯度”的具体过程可参见上述步骤360,在此不再赘述。
步骤590:基于第m层梯度或第k+1层梯度,更新第二提示词模型的网络参数。
其中,由于第二提示特征表示会被逐层输入到后n层网络层(即第二部分网络层)中,因此,第二提示词模型的网络参数的更新可以基于第k+1网络层至第m网络层中的任一网络层的梯度进行。
可选地,基于第i层梯度,更新提示词模型的网络参数,i为大于k且小于m+1的整数。
步骤600:基于第k+1层梯度计算第k层梯度;基于第k层梯度,更新第一提示词模型的网络参数。
其中,虽然第一提示特征表示会被逐层输入到第1层至第k层网络层,但由于在生成式模型的微调过程中为了节省资源,或者说降低计算开销,将冻结第1层至第k层网络层的网络参数,具体表现为生成式模型的微调过程中不再计算第1层至第k层网络层的梯度。而在第一提示词模型用于生成输入第一部分网络层的第一提示特征表示的情况下,可以额外计算第k层梯度,基于第k层梯度来更新第一提示词模型的网络参数。需要说明的是,在这种情况下,第k层梯度仅用于更新第一提示词模型的网络参数,而不用于更新第k网络层的网络参数。
在一些实施例中,上述步骤590可以在步骤570“基于模型损失计算第m层梯度”之后,“基于第m层梯度,更新生成式模型中的第m网络层的网络参数”之前执行,或,上述步骤590可以在步骤570和步骤580之间执行,或,上述步骤590可以和步骤570中的“基于第m层梯度,更新生成式模型中的第m网络层的网络参数”一起执行,或,上述步骤590可以和步骤360一起执行,或,上述步骤590可以在步骤600之后执行,或,上述步骤590可以与步骤600一起执行。
综上所述,本申请实施例提供的方法,由于在生成式模型的微调过程中,第一部分网络层的网络参数是不更新的(即冻结的),也即第一部分网络层不会学习训练样本和提示词的特征,而第二部分网络层则会学习训练样本和提示词的特征。因此在生成式模型的微调过程中,第一部分网络层和第二部分网络层对于同一提示特征表示可能存在不同理解,因此为其分别设置提示词模型,在反向传播过程中也根据第一部分网络层的梯度(额外计算的第k层梯度)和第二部分网络层的梯度(第k+1层梯度至第m层梯度中的任一)更新第一提示词模型的网络参数和第二提示词模型的网络参数,使第一提示词模型和第二提示词模型能够针对性地根据第一部分网络层和第二部分网络层的能力生成提示特征表示,使其都能够更好的理解并输出更准确的输出信息,从而提高生成式模型的微调效率和对目标领域的适应性。
2.2生成式模型关联n+1个提示词模型。
可选地,生成式模型关联有n+1个提示词模型;生成式模型包括m层网络层,m为大于n的正整数;第一部分网络层为m层网络层中的第1层至第k层,第二部分网络为m层网络层中的第k+1层至第m层。该场景下的模型结构如图10所示,生成式模型10包括特征提取层11、m层网络层和输出层12。特征提取层11用于从输入的训练样本13中提取样本特征表示14。生成式模型10中包括的m层网络层可以分为第一部分网络层和第二部分网络层,第一部分网络层为第1层至第k层,第二部分网络层为第k+1层至第m层。其中,第二部分网络层的网络层层数为n,即m-k=n,n、m和k均为正整数。生成式模型10还关联有n+1个提示词模型,第1个提示词模型30用于基于提示词21提取第1提示特征表示31,第2个提示词模型用于基于提示词21提取第2提示特征表示41,……,第n个提示词模型用于基于提示词21提取第n提示特征表示,第n+1个提示词模型用于基于提示词21提取第n+1提示特征表示。
首先说明生成式模型是如何得到预测结果的。如图11所示,步骤410可实现为步骤610,步骤420可实现为步骤620至步骤650。
步骤610:将提示词输入n+1个提示词模型得到n+1个提示特征表示。
可选地,n+1个提示词模型为同一预训练模型,即第一预训练模型;或,n+1个提示词采用相同的初始化方式;或,n+1个提示词模型为不同预训练模型;或,n+1个提示词模型采用不同的初始化方式。
其中,“将提示词输入n+1个提示词模型得到n+1个提示特征表示”的具体过程可参见上述步骤310、步骤410,在此不再赘述。
步骤620:针对m层网络层中的第1网络层,将第1提示特征表示和训练样本的样本特征表示输入第1网络层,得到第1输出信息。
可选地,针对m层网络层中的第1网络层,将第1提示特征表示和训练样本的样本特征表示拼接后输入第1网络层,得到第1输出信息。或,针对m层网络层中的第1网络层,将第1提示特征表示和训练样本的样本特征表示分别输入第1网络层,如先输入第1提示特征表示再输入训练样本的样本特征表示,或,先输入训练样本的样本特征表示再输入第1提示特征表示。
其中,“将第1提示特征表示和训练样本的样本特征表示输入第1网络层,得到第1输出信息”的具体过程可参见上述步骤310,在此不再赘述。
步骤630:针对m层网络层中的第i+1网络层,将第1提示特征表示和第i输出信息输入第i+1网络层,得到第i+1输出信息,第i信息为第i网络层输出的,i为小于k的正整数。
可选地,针对m层网络层中的第i+1网络层,将第1提示特征表示和第i输出信息拼接后输入第i+1网络层,得到第i+1输出信息。或,针对m层网络层中的第i+1网络层,将第1提示特征表示和第i输出信息分别输入第i+1网络层,得到第i+1输出信息,如先输入第1提示特征表示再输入第i输出信息,或,先输入第i输出信息再输入第1提示特征表示。
其中,“将第1提示特征表示和第i输出信息输入第i+1网络层,得到第i+1输出信息”的具体过程可参见上述步骤320和步骤530,在此不再赘述。
步骤640:针对m层网络层中的第j+1网络层,将第j-k+2提示特征表示和第j输出信息输入第j+1网络层,得到第j+1输出信息,第j信息为第j网络层输出的,j为大于k-1且小于m的正整数。
可选地,针对m层网络层中的第j+1网络层,将第j-k+1提示特征表示和第j输出信息拼接后输入第j+1网络层,得到第j+1输出信息;或,针对m层网络层中的第j+1网络层,将第j-k+2提示特征表示和第j输出信息分别输入第j+1网络层,得到第j+1输出信息,如先输入第j-k+2提示特征表示再输入第j输出信息,或,先输入第j输出信息再输入第j-k+2提示特征表示。
可选地,m层网络层中的第二部分网络层,或者说,m层网络层中的第k+1网络层至第m网络层,接收拼接后的第j-k+2提示特征表示和第j输出信息,并基于拼接后的第j-k+2提示特征表示和第j输出信息得到第j+1输出信息。对于第k+1网络层至第m-1网络层还会将第j+1输出信息输出给第j+2网络层。对于第m网络层,会将第m输出信息输出给输出层。
其中,第二部分网络层包括n层网络层,第二部分网络层中的每层网络层对应一个提示特征表示,或者说第二部分网络层中的每层网络层对应一个提示词模型。
示例性的,已知n=m-k,当j=k时,针对第k+1网络层,将第(k-k+2)=2个提示特征表示和第k输出信息输入第k+1网络层,得到第k+1输出信息;当j=k+1时,针对第(k+1+1)=k+2网络层,将第(k+1-k+2)=3个提示特征表示和第k+1输出信息输入第k+2网络层,得到第k+2输出信息;……;当j=m-2时,针对第(m-2+1)=m-1网络层,将第(m-2-k+2)=n个提示特征表示和第m-2输出信息输入第m-1网络层,得到第m-1输出信息;当j=m-1时,针对第m网络层,将第(m-1-k+2)=n+1个提示特征表示和第m-1输出信息输入第m网络层,得到第m输出信息。
其中,“将第j-k+1提示特征表示和第j输出信息输入第j+1网络层,得到第j+1输出信息”的具体过程可参见上述步骤320、步骤540、步骤640等,在此不再赘述。
步骤650:基于第m输出信息得到训练样本的预测结果。
可选地,生成式模型基于第m输出信息得到训练样的预测结果;或,生成式模型中的输出层基于第m输出信息得到训练样本的预测结果。
综上所述,本申请实施例提供的方法,将第1提示特征表示输入生成式模型的第一部分网络层中的每一层,将第2提示特征表示至第n+1提示特征表示分别输入生成式模型的第二部分网络层的每一层。这是由于在生成式模型的微调过程中,第一部分网络层的网络参数是不更新的(即冻结的),也即第一部分网络层不会学习训练样本和提示词的特征,而第二部分网络层则会学习训练样本和提示词的特征,且由于反向传播算法的特性,第二部分网络层中的每一层网络层所学习到的训练样本和提示词的特征的程度是不同的。因此在生成式模型的微调过程中,第一部分网络层和第二部分网络层的不同网络层对于同一提示特征表示可能存在不同理解,因此为其分别设置提示词模型,从而针对性地根据第一部分网络层和第二部分网络层的不同网络层的能力生成提示特征表示,使其都能够更好的理解并输出更准确的输出信息,从而提高生成式模型的微调效率和对目标领域的适应性。
接下来具体说明提示词模型的网络参数和生成式模型中的第二部分网络层的网络参数是如何基于预测结果更新的。如图12所示,上述步骤430可实现为步骤660至步骤690。
步骤660:基于预测结果计算模型损失。
其中,“基于预测结果计算模型损失”的具体过程可参见上述步骤340,在此不再赘述。
步骤670:基于模型损失计算第m层梯度;基于第m层梯度,更新生成式模型中的第m网络层的网络参数和第n+1个提示词模型的网络参数,第m层梯度为第m网络层的梯度。
其中,第n+1提示词模型为第m网络层对应的提示词模型,或者说,第n+1提示特征表示为输入第m网络层的提示特征表示。
其中,“基于模型损失计算第m层梯度;基于第m层梯度,更新生成式模型中的第m网络层的网络参数”的具体过程可参见上述步骤350。“基于第m层梯度,更新第n+1个提示词模型的网络参数”的具体过程还可参见上述步骤370、步骤590,在此不再赘述。
步骤680:基于第i+1层梯度计算第i层梯度;基于第i层梯度,更新生成式模型中的第i网络层的网络参数和第i-k+1个提示词模型的网络参数,第i+1层梯度为第i+1网络层的梯度,第i梯度为第i网络层的梯度,i为大于k且小于m的整数。
其中,第i-k+1个提示词模型为第i网络层对应的提示词模型,或者说,第i-k+1提示特征表示为输入第i网络层的提示特征表示。
示例性的,已知n=m-k,当i=m-1时,基于第m-1层梯度,更新第m-1网络层和第(m-1-k+1)=n个提示词模型;当i=m-2时,基于第m-2层梯度,更新第m-2网络层和第(m-2-k+1)=n-1个提示词;……;当i=k+2时,基于第k+2层梯度,更新第k+2网络层和第(k+2-k+2)=3个提示词模型;当i=k+1时,基于第k+1层梯度,更新第k+1网络层和第(k+1-k+2)=2个提示词模型。
其中,“基于第i+1层梯度计算第i层梯度;基于第i层梯度,更新生成式模型中的第i网络层的网络参数和第i-k+1个提示词模型的网络参数”的具体过程可参见上述步骤350、步骤370、步骤590和步骤670等,在此不再赘述。
步骤690:基于第k+1层梯度计算第k层梯度;基于第k层梯度,更新第1个提示词模型的网络参数。
其中,虽然第1提示特征表示会被逐层输入到第1层至第k层网络层,但由于在生成式模型的微调过程中为了节省资源,或者说降低计算开销,将冻结第1层至第k层网络层的网络参数,具体表现为生成式模型的微调过程中不再计算第1层至第k层网络层的梯度。而在第1个提示词模型用于生成输入第一部分网络层的第1提示特征表示的情况下,可以额外计算第k层梯度,基于第k层梯度来更新第1个提示词模型。需要说明的是,在这种情况下,第k层梯度仅用于更新第1个提示词模型,而不用于更新第k网络层的网络参数。
综上所述,本申请实施例提供的方法,由于在生成式模型的微调过程中,第一部分网络层的网络参数是不更新的(即冻结的),也即第一部分网络层不会学习训练样本和提示词的特征,而第二部分网络层则会学习训练样本和提示词的特征。因此在生成式模型的微调过程中,第一部分网络层和第二部分网络层对于同一提示特征表示可能存在不同理解,因此为其分别设置提示词模型,在反向传播过程中也根据第一部分网络层的梯度(额外计算的第k层梯度)和第二部分网络层中每一层的梯度(即第k+1层梯度至第m层梯度)更新第1个提示词模型至第n+1个提示词模型,使这n+1个提示词模型能够针对性地根据第一部分网络层和第二部分网络层的不同网络层的能力生成提示特征表示,使其都能够更好的理解并输出更准确的输出信息,从而提高生成式模型的微调效率和对目标领域的适应性。
图13示出了本申请一个示例性实施例提供的基于生成式模型的预测方法的流程图。该方法由上述示出的微调后的生成式模型(即更新后的提示词模型和生成式模型)执行,该方法包括:
步骤240:在推理阶段,将提示词输入提示词模型,以及将待推理的输入信息输入生成式模型,得到输入信息的预测结果。
可选地,将提示词输入提示词模型得到提示特征表示;在生成式模型对输入信息预测的过程中,将提示特征表示作为引导输入更新后的生成式模型得到预测结果。
其中,输入信息为文本、图像、音频、视频中的至少之一。预测结果为文本、图像、音频、视频中的至少之一。输入信息和预测结果的形态根据生成式模型的任务确定。
可选地,生成式模型的网络层用于基于提示特征表示和输入信息的输入特征表示生成预测结果或输出信息。输入特征表示的提取可参考上述样本特征表示的提取,在此不再赘述。
在一些实施例中,生成式模型关联有一个提示词模型,生成式模型基于输入信息预测的过程可参考上述步骤310至步骤330。
在一些实施例中,生成式模型关联有至少两个提示词模型。最典型的是生成式模型关联有两个提示词模型或n+1个提示词模型的情况,n为第二部分网络层的层数。在生成式模型关联有两个提示词模型的情况下,生成式模型基于输入信息预测的过程可参考上述步骤510至步骤550。在生成式模型关联有n+1个提示词模型的情况下,生成式模型基于输入信息预测的过程可参考上述步骤610至步骤650。
综上所述,本申请实施例提供的方法示出了生成式模型的推理过程,生成式模型仍使用提示词来做引导,从而能够生成满足目标领域的任务内容的预测结果,提高生成式模型的准确率。
示例性的,对于相关技术中的更新全部网络参数的微调方法而言,通常需要在拥有至少80G显存的显卡上运行。然而,这种显卡成本采购成本较高,许多场景下可能难以获取这种显卡,只能采用拥有大约32G显存的显卡。但更新全部网络参数的微调方法通常难以在拥有32G显存的显卡上运行。而本申请实施例示出的方法可以在拥有32G显存的显卡上运行且达到更新全部网络参数的微调方法的微调效果。接下来对整体流程进行介绍。
步骤1,选取开源的大模型,如chatglm-6b、llama-13b、bloom等。接下来以chatglm-6b模型为例,该模型共有28层网络层。
步骤2,选取后n层网络层为第二部分网络层,在微调过程中仅更新第二部分网络层的网络参数。其余网络层(如第一部分网络层)的网络参数冻结。
其中,n作为一个超参数,对于n的选取,我们根据显卡的显存情况而定,一般来说n的取值越大,效果越好。以拥有32G显存的显卡为例。将input的长度(即输入序列的长度)设置为256,n的最大取值可以取到3,我们这里取2(考虑到提示词模型也要微调,也要占用显存,这步不能把显存全部占满,要预留一些显存),即chatglm-6b模型的后2层网络层作为第二部分网络层。
步骤3,在28层网络层的每一层,样本特征表示前面都加入提示特征表示。
提示特征表示由提示词模型从提示中提取。提示词模型可采用BiLSTM+mlp模型、transformer模型、其他模型。
在生成式模型的微调过程结束后,即可将其运用于目标领域。以目标领域为医疗领域,任务内容为医疗问答为例,在生成式模型的使用过程中,向提示词模型输入提示,并向生成式模型输入问题,由生成式模型输出答案,
例如:
<问题>:我觉得头晕、恶心,好像有点发烧,我该先吃点什么药让自己好受一点。
<提示词>:药物1,药物2,药物3。
<生成式模型生成的答案>:药物2,当然最建议的是去医院就诊,确认具体情况再用药哦。
请参考图14,其示出了本申请一个示例性实施例提供的生成式模型的微调装置的结构框图。该装置具有实现上述生成式模型的微调方法示例的功能,功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的计算机设备,也可以设置在计算机设备中。如图14所示,该装置可以包括:获取模块710、预测模块720和更新模块730。
其中,所述生成式模型关联有提示词模型,所述提示词模型的网络参数少于所述生成式模型中的第一部分网络层的网络参数。
获取模块710,用于将提示词输入所述提示词模型得到提示特征表示;
预测模块720,用于在所述生成式模型对训练样本预测的过程中,将所述提示特征表示作为引导提示输入所述生成式模型,得到所述训练样本的预测结果;
更新模块730,用于基于所述预测结果,更新所述提示词模型的网络参数和所述生成式模型中的第二部分网络层的网络参数,所述第二部分网络层包括所述生成式模型中位于所述第一部分网络层之后的n层网络层,n为正整数。
在一些实施例中,所述提示词是基于目标领域的任务内容构建的,所述目标领域为微调后的所述生成式模型所应用的领域。
在一些实施例中,所述提示词模型的网络参数比所述第一部分网络层的网络参数少至少一个数量级。
在一些实施例中,所述生成式模型包括m层网络层,m为大于n的正整数;预测模块720,还用于针对所述m层网络层中的第1网络层,将所述提示特征表示和所述训练样本的样本特征表示输入所述第1网络层,得到第1输出信息;针对所述m层网络层中的第i+1网络层,将所述提示特征表示和第i输出信息输入所述第i+1网络层,得到第i+1输出信息,所述第i输出信息为第i网络层输出的,i为小于m的正整数;基于第m输出信息得到所述训练样本的预测结果。
在一些实施例中,所述生成式模型包括m层网络层,m为大于n的正整数;所述第一部分网络层为所述m层网络层中的第1层至第k层,所述第二部分网络层为所述m层网络层中的第k+1层至第m层;更新模块730,还用于基于所述预测结果计算模型损失;基于所述模型损失计算第m层梯度;基于所述第m层梯度,更新所述生成式模型中的第m网络层的网络参数,所述第m层梯度为所述第m网络层的梯度;基于第i+1层梯度计算第i层梯度;基于所述第i层梯度,更新所述生成式模型中的第i网络层的网络参数,所述第i+1层梯度为第i+1网络层的梯度,所述第i梯度为所述第i网络层的梯度,i为大于k且小于m的整数;基于所述第m层梯度或第k+1层梯度,更新所述提示词模型的网络参数。
在一些实施例中,所述生成式模型关联有至少两个提示词模型;获取模块710,还用于将所述提示词输入所述至少两个提示词模型中的每个提示词模型,得到至少两个提示特征表示;预测模块720,还用于将所述至少两个提示特征表示分别输入到所述生成式模型的第一部分网络层,和/或,所述第二部分网络层中的不同网络层;以及将所述训练样本的样本特征表示输入所述生成式模型的第1网络层,得到所述训练样本的预测结果;更新模块730,还用于基于所述预测结果,更新所述至少两个提示词模型的网络参数和所述生成式模型中的第二部分网络层的网络参数。
在一些实施例中,所述生成式模型关联有第一提示词模型和第二提示词模型;所述生成式模型包括m层网络层,m为大于n的正整数;所述第一部分网络层为所述m层网络层中的第1层至第k层,所述第二部分网络为所述m层网络层中的第k+1层至第m层,k为正整数;获取模块710,还用于将所述提示词输入所述第一提示词模型得到第一提示特征表示;以及将所述提示词输入所述第二提示词模型得到第二提示特征表示;预测模块720,还用于针对所述m层网络层中的第1网络层,将所述第一提示特征表示和所述训练样本的样本特征表示输入所述第1网络层,得到第1输出信息;针对所述m层网络层中的第i+1网络层,将所述第一提示特征表示和第i输出信息输入所述第i+1网络层,得到第i+1输出信息,所述第i输出信息为第i网络层输出的,i为小于k的正整数;针对所述m层网络层中的第j+1网络层,将所述第二提示特征表示和第j输出信息输入所述第j+1网络层,得到第j+1输出信息,所述第j输出信息为第j网络层输出的,j为大于k-1且小于m的正整数;基于第m输出信息得到所述训练样本的预测结果。
在一些实施例中,更新模块730,还用于基于所述预测结果计算模型损失;基于所述模型损失计算第m层梯度;基于所述第m层梯度,更新所述生成式模型中的第m网络层的网络参数,所述第m层梯度为所述第m网络层的梯度;基于第i+1层梯度计算第i层梯度;基于所述第i层梯度,更新所述生成式模型中的第i网络层的网络参数,所述第i+1层梯度为第i+1网络层的梯度,所述第i梯度为第i网络层的梯度,i为大于k且小于m的整数;基于所述第m层梯度或第k+1层梯度,更新所述第二提示词模型的网络参数;基于所述第k+1层梯度计算第k层梯度;基于所述第k层梯度,更新所述第一提示词模型的网络参数。
在一些实施例中,所述生成式模型关联有n+1个提示词模型;所述生成式模型包括m层网络层,m为大于n的正整数;所述第一部分网络层为所述m层网络层中的第1层至第k层,所述第二部分网络为所述m层网络层中的第k+1层至第m层;获取模块710,还用于针对所述m层网络层中的第1网络层,将第1提示特征表示和所述训练样本的样本特征表示输入所述第1网络层,得到第1输出信息;针对所述m层网络层中的第i+1网络层,将所述第1提示特征表示和第i输出信息输入所述第i+1网络层,得到第i+1输出信息,所述第i输出信息为第i网络层输出的,i为小于k的正整数;针对所述m层网络层中的第j+1网络层,将所述第j-k+2提示特征表示和第j输出信息输入所述第j+1网络层,得到第j+1输出信息,所述第j信息为第j网络层输出,j为大于k-1且小于m的正整数;基于第m输出信息得到所述训练样本的预测结果。
在一些实施例中,更新模块730,还用于基于所述预测结果计算模型损失;基于所述模型损失计算第m层梯度;基于所述第m层梯度,更新所述生成式模型中的第m网络层的网络参数和第n+1个提示词模型的网络参数,所述第m层梯度为所述第m网络层的梯度;基于第i+1层梯度计算第i层梯度;基于所述第i层梯度,更新所述生成式模型中的第i网络层的网络参数和第i-k+1个提示词模型的网络参数,所述第i+1层梯度为第i+1网络层的梯度,所述第i梯度为所述第i网络层的梯度,i为大于k且小于m的整数;基于第k+1层梯度计算第k层梯度;基于所述第k层梯度,更新第1个提示词模型的网络参数。
在一些实施例中,该装置还包括生成模块。生成模块,用于在推理阶段,将所述提示词输入所述提示词模型,以及将待推理的输入信息输入所述生成式模型,得到所述输入信息的预测结果。
综上所述,本申请实施例提供的装置,在生成式模型的微调过程仅需更新第二部分网络层的网络参数和提示词模型的网络参数,第一部分网络层的网络参数是冻结不更新的,而提示词模型的网络参数少于甚至远少于第一部分网络层的网络参数,即相较于相关技术中更新生成式模型的全部网络参数,本申请实施例提供的方法仅需要更小的开销,对微调生成式模型的计算机设备的性能需求不高。此外,除了生成式模型自身的网络层外,还为生成式模型关联了提示词模型,提示词模型用于从提示词中提取提示特征表示。提示词能够引导生成式模型生成指定任务的内容,为生成式模型关联提示词模型,且在生成式模型的微调过程中也随之更新提示词模型的网络参数,能够使提示词模型学习到如何提取提示特征表示以引导生成式模型生成指定任务的内容,而无需生成式模型根据未知任务生成,节省了生成式模型对未知任务的探索时间,从而加快生成式模型的微调进程。
需要说明的是:上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图15示出了本申请一个示例性实施例提供的计算机设备的结构框图。
所述计算机设备800包括中央处理单元(Central Processing Unit,CPU)801、包括随机存取存储器(Random Access Memory,RAM)802和只读存储器(Read-Only Memory,ROM)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。所述计算机设备800还包括帮助计算机设备内的各个器件之间传输信息的基本输入/输出系统(Input/Output系统,I/O系统)806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。
所述基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中所述显示器808和输入设备809都通过连接到系统总线805的输入输出控制器810连接到中央处理单元801。所述基本输入/输出系统806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。所述大容量存储设备807及其相关联的计算机可读存储介质为计算机设备800提供非易失性存储。也就是说,所述大容量存储设备807可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读存储介质(未示出)。
不失一般性,所述计算机可读存储介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读存储指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读寄存器(Erasable Programmable Read OnlyMemory,EPROM)、电子抹除式可复写只读存储器(Electrically-Erasable ProgrammableRead-Only Memory,EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字多功能光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。
存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元801执行,一个或多个程序包含用于实现上述方法实施例的指令,中央处理单元801执行该一个或多个程序实现上述各个方法实施例提供的方法。
根据本申请的各种实施例,所述计算机设备800还可以通过诸如因特网等网络连接到网络上的远程计算机设备运行。也即计算机设备800可以通过连接在所述系统总线805上的网络接口单811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机设备系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的方法中由计算机设备所执行的步骤。
在示例性实施例中,还提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时以实现上述生成式模型的微调方法。
在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被处理器执行时,其用于实现上述生成式模型的微调方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

1.一种生成式模型的微调方法,其特征在于,所述生成式模型关联有提示词模型,所述提示词模型的网络参数少于所述生成式模型中的第一部分网络层的网络参数,所述方法包括:
将提示词输入所述提示词模型得到提示特征表示;
在所述生成式模型对训练样本预测的过程中,将所述提示特征表示作为引导提示输入所述生成式模型,得到所述训练样本的预测结果;
基于所述预测结果,更新所述提示词模型的网络参数和所述生成式模型中的第二部分网络层的网络参数,所述第二部分网络层包括所述生成式模型中位于所述第一部分网络层之后的n层网络层,n为正整数。
2.根据权利要求1所述的方法,其特征在于,所述提示词是基于目标领域的任务内容构建的,所述目标领域为微调后的所述生成式模型所应用的领域。
3.根据权利要求1所述的方法,其特征在于,所述提示词模型的网络参数比所述第一部分网络层的网络参数少至少一个数量级。
4.根据权利要求1至3任一所述的方法,其特征在于,所述生成式模型包括m层网络层,m为大于n的正整数;
所述在所述生成式模型对训练样本预测的过程中,将所述提示特征表示作为引导提示输入所述生成式模型,得到所述训练样本的预测结果,包括:
针对所述m层网络层中的第1网络层,将所述提示特征表示和所述训练样本的样本特征表示输入所述第1网络层,得到第1输出信息;
针对所述m层网络层中的第i+1网络层,将所述提示特征表示和第i输出信息输入所述第i+1网络层,得到第i+1输出信息,所述第i输出信息为第i网络层输出的,i为小于m的正整数;
基于第m输出信息得到所述训练样本的预测结果。
5.根据权利要求4所述的方法,其特征在于,所述生成式模型包括m层网络层,m为大于n的正整数;所述第一部分网络层为所述m层网络层中的第1层至第k层,所述第二部分网络层为所述m层网络层中的第k+1层至第m层;
所述基于所述预测结果,更新所述提示词模型的网络参数和所述生成式模型中的第二部分网络层的网络参数,包括:
基于所述预测结果计算模型损失;
基于所述模型损失计算第m层梯度;基于所述第m层梯度,更新所述生成式模型中的第m网络层的网络参数,所述第m层梯度为所述第m网络层的梯度;
基于第i+1层梯度计算第i层梯度;基于所述第i层梯度,更新所述生成式模型中的第i网络层的网络参数,所述第i+1层梯度为第i+1网络层的梯度,所述第i梯度为所述第i网络层的梯度,i为大于k且小于m的整数;
基于所述第m层梯度或第k+1层梯度,更新所述提示词模型的网络参数。
6.根据权利要求1至3任一所述的方法,其特征在于,所述生成式模型关联有至少两个提示词模型;
所述将提示词输入所述提示词模型得到提示特征表示,包括:
将所述提示词输入所述至少两个提示词模型中的每个提示词模型,得到至少两个提示特征表示;
所述在所述生成式模型对训练样本预测的过程中,将所述提示特征表示作为引导提示输入所述生成式模型,得到所述训练样本的预测结果,包括:
将所述至少两个提示特征表示分别输入到所述生成式模型的第一部分网络层,和/或,所述第二部分网络层中的不同网络层;以及将所述训练样本的样本特征表示输入所述生成式模型的第1网络层,得到所述训练样本的预测结果;
所述基于所述预测结果,更新所述提示词模型的网络参数和所述生成式模型中的第二部分网络层的网络参数,包括:
基于所述预测结果,更新所述至少两个提示词模型的网络参数和所述生成式模型中的第二部分网络层的网络参数。
7.根据权利要求6所述的方法,其特征在于,所述生成式模型关联有第一提示词模型和第二提示词模型;所述生成式模型包括m层网络层,m为大于n的正整数;所述第一部分网络层为所述m层网络层中的第1层至第k层,所述第二部分网络为所述m层网络层中的第k+1层至第m层,k为正整数;
所述将所述提示词输入所述至少两个提示词模型中的每个提示词模型,得到至少两个提示特征表示,包括:
将所述提示词输入所述第一提示词模型得到第一提示特征表示;以及将所述提示词输入所述第二提示词模型得到第二提示特征表示;
所述将所述至少两个提示特征表示中的每个提示特征表示输入到所述生成式模型的第一部分网络层,和/或,所述第二部分网络层中的不同网络层;以及将所述训练样本的样本特征表示输入所述生成式模型的第1网络层,得到所述训练样本的预测结果,包括:
针对所述m层网络层中的第1网络层,将所述第一提示特征表示和所述训练样本的样本特征表示输入所述第1网络层,得到第1输出信息;
针对所述m层网络层中的第i+1网络层,将所述第一提示特征表示和第i输出信息输入所述第i+1网络层,得到第i+1输出信息,所述第i输出信息为第i网络层输出的,i为小于k的正整数;
针对所述m层网络层中的第j+1网络层,将所述第二提示特征表示和第j输出信息输入所述第j+1网络层,得到第j+1输出信息,所述第j输出信息为第j网络层输出的,j为大于k-1且小于m的正整数;
基于第m输出信息得到所述训练样本的预测结果。
8.根据权利要求7所述的方法,其特征在于,所述基于所述预测结果,更新所述至少两个提示词模型的网络参数和所述生成式模型中的第二部分网络层的网络参数,包括:
基于所述预测结果计算模型损失;
基于所述模型损失计算第m层梯度;基于所述第m层梯度,更新所述生成式模型中的第m网络层的网络参数,所述第m层梯度为所述第m网络层的梯度;
基于第i+1层梯度计算第i层梯度;基于所述第i层梯度,更新所述生成式模型中的第i网络层的网络参数,所述第i+1层梯度为第i+1网络层的梯度,所述第i梯度为第i网络层的梯度,i为大于k且小于m的整数;
基于所述第m层梯度或第k+1层梯度,更新所述第二提示词模型的网络参数;
基于所述第k+1层梯度计算第k层梯度;基于所述第k层梯度,更新所述第一提示词模型的网络参数。
9.根据权利要求6所述的方法,其特征在于,所述生成式模型关联有n+1个提示词模型;所述生成式模型包括m层网络层,m为大于n的正整数;所述第一部分网络层为所述m层网络层中的第1层至第k层,所述第二部分网络为所述m层网络层中的第k+1层至第m层;
所述将所述提示词输入所述至少两个提示词模型中的每个提示词模型,得到至少两个提示特征表示,包括:
将所述提示词输入所述n+1个提示词模型得到n+1个提示特征表示;
所述将所述至少两个提示特征表示中的每个提示特征表示输入到所述生成式模型的第一部分网络层,和/或,所述第二部分网络层中的不同网络层;以及将所述训练样本的样本特征表示输入所述生成式模型的第1网络层,得到所述训练样本的预测结果,包括:
针对所述m层网络层中的第1网络层,将第1提示特征表示和所述训练样本的样本特征表示输入所述第1网络层,得到第1输出信息;
针对所述m层网络层中的第i+1网络层,将所述第1提示特征表示和第i输出信息输入所述第i+1网络层,得到第i+1输出信息,所述第i输出信息为第i网络层输出的,i为小于k的正整数;
针对所述m层网络层中的第j+1网络层,将所述第j-k+2提示特征表示和第j输出信息输入所述第j+1网络层,得到第j+1输出信息,所述第j信息为第j网络层输出,j为大于k-1且小于m的正整数;
基于第m输出信息得到所述训练样本的预测结果。
10.根据权利要求9所述的方法,其特征在于,所述基于所述预测结果,更新所述至少两个提示词模型的网络参数和所述生成式模型中的第二部分网络层的网络参数,包括:
基于所述预测结果计算模型损失;
基于所述模型损失计算第m层梯度;基于所述第m层梯度,更新所述生成式模型中的第m网络层的网络参数和第n+1个提示词模型的网络参数,所述第m层梯度为所述第m网络层的梯度;
基于第i+1层梯度计算第i层梯度;基于所述第i层梯度,更新所述生成式模型中的第i网络层的网络参数和第i-k+1个提示词模型的网络参数,所述第i+1层梯度为第i+1网络层的梯度,所述第i梯度为所述第i网络层的梯度,i为大于k且小于m的整数;
基于第k+1层梯度计算第k层梯度;基于所述第k层梯度,更新第1个提示词模型的网络参数。
11.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
在推理阶段,将所述提示词输入所述提示词模型,以及将待推理的输入信息输入所述生成式模型,得到所述输入信息的预测结果。
12.一种生成式模型的微调装置,其特征在于,所述生成式模型关联有提示词模型,所述提示词模型的网络参数少于所述生成式模型中的第一部分网络层的网络参数,所述装置包括:
获取模块,用于将提示词输入所述提示词模型得到提示特征表示;
预测模块,用于在所述生成式模型对训练样本预测的过程中,将所述提示特征表示作为引导提示输入所述生成式模型,得到所述训练样本的预测结果;
更新模块,用于基于所述预测结果,更新所述提示词模型的网络参数和所述生成式模型中的第二部分网络层的网络参数,所述第二部分网络层包括所述生成式模型中位于所述第一部分网络层之后的n层网络层,n为正整数。
13.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一段程序;所述处理器,用于执行所述存储器中的所述至少一段程序以实现上述如权利要求1至11任一所述的生成式模型的微调方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有可执行指令,所述可执行指令由处理器加载并执行以实现上述如权利要求1至11任一所述的生成式模型的微调方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机指令,以实现上述如权利要求1至11任一所述的生成式模型的微调方法。
CN202411667349.0A 2024-11-20 2024-11-20 生成式模型的微调方法、装置、设备、介质及产品 Pending CN119558372A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202411667349.0A CN119558372A (zh) 2024-11-20 2024-11-20 生成式模型的微调方法、装置、设备、介质及产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202411667349.0A CN119558372A (zh) 2024-11-20 2024-11-20 生成式模型的微调方法、装置、设备、介质及产品

Publications (1)

Publication Number Publication Date
CN119558372A true CN119558372A (zh) 2025-03-04

Family

ID=94737562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202411667349.0A Pending CN119558372A (zh) 2024-11-20 2024-11-20 生成式模型的微调方法、装置、设备、介质及产品

Country Status (1)

Country Link
CN (1) CN119558372A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120812370A (zh) * 2025-09-10 2025-10-17 快上云(上海)网络科技有限公司 一种基于ai的儿童故事视频生成方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120812370A (zh) * 2025-09-10 2025-10-17 快上云(上海)网络科技有限公司 一种基于ai的儿童故事视频生成方法及系统
CN120812370B (zh) * 2025-09-10 2025-11-21 快上云(上海)网络科技有限公司 一种基于ai的儿童故事视频生成方法及系统

Similar Documents

Publication Publication Date Title
CN110209817B (zh) 文本处理模型的训练方法、装置和文本处理方法
KR102071582B1 (ko) 딥 뉴럴 네트워크(Deep Neural Network)를 이용하여 문장이 속하는 클래스(class)를 분류하는 방법 및 장치
CN110210032B (zh) 文本处理方法及装置
CN110234018B (zh) 多媒体内容描述生成方法、训练方法、装置、设备及介质
CN118349673A (zh) 文本处理模型的训练方法、文本处理方法及装置
CN113519001A (zh) 利用语言模型生成常识解释
CN113515948B (zh) 语言模型训练方法、装置、设备及存储介质
CN113656563B (zh) 一种神经网络搜索方法及相关设备
CN112668317B (zh) 用于确定输出词法单元的方法和设备
CN118974739A (zh) 具有并行注意力层和前馈层的注意力神经网络
JP7596549B2 (ja) 自己注意動作および相互注意動作を使用して潜在的埋め込みを豊かにすることによってニューラルネットワーク出力を生成すること
US12373688B2 (en) Granular neural network architecture search over low-level primitives
US20250054322A1 (en) Attribute Recognition with Image-Conditioned Prefix Language Modeling
CN113822125A (zh) 唇语识别模型的处理方法、装置、计算机设备和存储介质
US20240290065A1 (en) Method for multimodal embedding and system therefor
US12353981B2 (en) Training of large neural networks
WO2024159132A1 (en) Lifelong pretraining of mixture-of-experts neural networks
US11790181B2 (en) Extractive structured prediction in interactive systems
CN117171554A (zh) 一种模型训练方法及相关设备
KR20240129068A (ko) 게이트형 어텐션 유닛을 갖는 어텐션 신경망
KR20210044003A (ko) 단어 임베딩 방법 및 장치와 단어 검색 방법
CN119558372A (zh) 生成式模型的微调方法、装置、设备、介质及产品
CN110909860A (zh) 神经网络参数初始化的方法和装置
Su et al. Dependent bidirectional RNN with extended-long short-term memory
CN113792703B (zh) 一种基于Co-Attention深度模块化网络的图像问答方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination