CN117975475A - 视觉语言模型指令微调方法及装置 - Google Patents
视觉语言模型指令微调方法及装置 Download PDFInfo
- Publication number
- CN117975475A CN117975475A CN202311745067.3A CN202311745067A CN117975475A CN 117975475 A CN117975475 A CN 117975475A CN 202311745067 A CN202311745067 A CN 202311745067A CN 117975475 A CN117975475 A CN 117975475A
- Authority
- CN
- China
- Prior art keywords
- language model
- image
- training
- visual language
- text
- 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
Links
- 230000000007 visual effect Effects 0.000 title claims abstract description 176
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000012549 training Methods 0.000 claims abstract description 145
- 238000012545 processing Methods 0.000 claims abstract description 16
- 239000013598 vector Substances 0.000 claims description 53
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000009966 trimming Methods 0.000 description 5
- 238000000137 annealing Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000070023 Phoenicopterus roseus Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Abstract
本发明提供一种视觉语言模型指令微调方法及装置,涉及计算机技术领域,该方法包括:基于原始数据集中每一条原始数据的图像和预训练视觉语言模型,生成图像的图像描述文本;基于图像描述文本、问题文本、预先设置的提示语和大型语言模型,确定原始数据对应的推理信息;基于各推理信息,确定目标数据集;基于目标数据集和原始数据集,确定混合数据集;基于预先设置的模板,对混合数据集中的每一条混合数据进行处理;将各处理后的数据中的所述问题文本和所述推理信息作为推理指令,对预训练视觉语言模型进行微调,得到微调后的预训练视觉语言模型,实现了对预训练视觉语言模型进行混合指令调优,提升了预训练视觉语言模型的精度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种视觉语言模型指令微调方法及装置。
背景技术
近年来,视觉语言模型(Vision Language Model,VLM)在视觉问答任务的准确率方面得到了大幅提升,大型语言模型(Large Language Model,LLM)在推理任务中也取得了令人惊喜的成功,例如思维链和语境学习等。理论上,VLM也应该具有与LLM同样强大的推理能力。视觉语言模型先在大规模的数据集上进行预训练,再针对不同的下游任务进行微调的方法,被称为“预训练-微调”方式。
现有的针对视觉语言模型的调优方法主要集中通过现有的数据集通过改进网络结构和添加指令等方式,这样的方法不仅复杂而且微调后的视觉语言模型的精度低。
发明内容
本发明提供一种视觉语言模型指令微调方法及装置,用以解决微调后的视觉语言模型的精度低的问题。
本发明提供一种视觉语言模型指令微调方法,包括:
基于原始数据集中每一条原始数据的图像和预训练视觉语言模型,生成所述图像的图像描述文本;所述原始数据包括所述图像和问题文本;所述预训练视觉语言模型是基于样本图像、所述样本问题文本和所述样本答案文本进行训练得到;
基于所述图像描述文本、所述问题文本、预先设置的提示语和大型语言模型,确定所述原始数据对应的推理信息;所述大型语言模型是基于所述样本问题文本、样本图像描述文本和所述样本答案文本进行训练得到;
基于各所述推理信息,确定目标数据集;
基于所述目标数据集和所述原始数据集,确定混合数据集;
基于预先设置的模板,对所述混合数据集中的每一条混合数据进行处理,得到处理后的数据;所述处理后的数据包括所述图像、所述问题文本、所述推理信息或者不包含所述推理信息;
将各所述处理后的数据中的所述问题文本和所述推理信息作为推理指令,对所述预训练视觉语言模型进行微调,得到微调后的预训练视觉语言模型。
根据本发明提供的一种视觉语言模型指令微调方法,所述基于各所述推理信息,确定目标数据集,包括:
将所述推理信息添加至所述原始数据,得到第一数据;所述第一数据包括所述图像、所述问题文本和所述推理信息;
基于各所述第一数据,确定所述目标数据集。
根据本发明提供的一种视觉语言模型指令微调方法,在所述基于各所述第一数据,确定所述目标数据集之前,所述方法还包括:
基于所述推理信息、所述图像和视觉语言模型,对所述推理信息进行验证,得到验证结果;所述验证结果用于指示所述推理信息是否符合所述图像;所述视觉语言模型是基于样本图像和样本文本进行训练得到;
在所述推理信息符合所述图像的情况下,将所述推理信息保留;
在所述推理信息不符合所述图像的情况下,将所述图像描述文本作为所述推理信息。
根据本发明提供的一种视觉语言模型指令微调方法,所述预训练视觉语言模型包括图像编码器、轻量级查询转换器、全连接层和预训练语言模型;
所述将各所述处理后的数据中的所述问题文本和所述推理信息作为指令,对所述预训练视觉语言模型进行微调,得到微调后的预训练视觉语言模型,包括:
步骤A:针对每一条处理后的数据,将所述处理后的数据中的图像输入至所述图像编码器,得到所述图像编码器输出的所述图像对应的第一图像特征向量;
步骤B:将可学习查询模块的学习查询向量、所述第一图像特征向量和所述推理指令输入至所述轻量级查询转换器,得到所述轻量级查询转换器输出的第二图像特征向量;所述学习查询向量是基于上一次微调过程中所述轻量级查询转换器得到的所述第二图像特征向量得到的;
步骤C:将所述第二图像特征向量输入至所述全连接层,得到所述全连接层输出的第三图像特征向量;
步骤D:将所述第三图像特征向量和所述推理指令输入至所述预训练语言模型,得到所述预训练语言模型输出的推理答案;
步骤E:基于所述推理答案和所述原始数据中的标准答案,计算损失值;
步骤F:基于所述损失值,确定所述微调后的预训练视觉语言模型。
根据本发明提供的一种视觉语言模型指令微调方法,所述基于所述损失值,确定所述微调后的预训练视觉语言模型,包括:
将所述损失值进行回传,微调所述轻量级查询转换器的参数,得到微调后的参数;
基于所述微调后的参数,重复执行上述步骤A-步骤E的步骤,直至最终计算的损失值趋于稳定停止微调;
基于最后一次微调得到的所述轻量级查询转换器的参数,得到最终微调后的预训练视觉语言模型。
根据本发明提供的一种视觉语言模型指令微调方法,在微调的过程中,所述图像编码器和所述预训练语言模型的参数冻结。
本发明还提供一种视觉语言模型指令微调装置,包括:
第一确定模块,用于基于原始数据集中每一条原始数据的图像和预训练视觉语言模型,生成所述图像的图像描述文本;所述原始数据包括所述图像和问题文本;所述预训练视觉语言模型是基于样本图像、所述样本问题文本和所述样本答案文本进行训练得到;
第二确定模块,用于基于所述图像描述文本、所述问题文本、预先设置的提示语和大型语言模型,确定所述原始数据对应的推理信息;所述大型语言模型是基于样本问题文本、样本图像描述文本和样本答案文本进行训练得到;
第三确定模块,用于基于各所述推理信息,确定目标数据集;
第四确定模块,用于基于所述目标数据集和所述原始数据集,确定混合数据集;
处理模块,用于基于预先设置的模板,对所述混合数据集中的每一条混合数据进行处理,得到处理后的数据;所述处理后的数据包括所述图像、所述问题文本、所述推理信息或者不包含所述推理信息;
微调模块,用于将各所述处理后的数据中的所述问题文本和所述推理信息作为推理指令,对所述预训练视觉语言模型进行微调,得到微调后的预训练视觉语言模型。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述视觉语言模型指令微调方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述视觉语言模型指令微调方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述视觉语言模型指令微调方法。
本发明提供的视觉语言模型指令微调方法及装置,通过基于原始数据集中每一条原始数据的图像和预训练视觉语言模型,生成图像的图像描述文本;原始数据包括图像和问题文本;预训练视觉语言模型是基于样本图像、样本问题文本和样本答案文本进行训练得到;再基于图像描述文本、问题文本、预先设置的提示语和大型语言模型,确定原始数据对应的推理信息;大型语言模型是基于样本问题文本、样本图像描述文本和样本答案文本进行训练得到;基于各推理信息,确定目标数据集;基于目标数据集和原始数据集,确定混合数据集;基于预先设置的模板,对混合数据集中的每一条混合数据进行处理,得到处理后的数据;预处理的数据包括图像、问题文本、推理信息或者不包含推理信息;将各处理后的数据中的所述问题文本和所述推理信息作为推理指令,对预训练视觉语言模型进行微调,得到微调后的预训练视觉语言模型。通过利用大型语言模型生成原始数据对应的推理信息,再根据推理信息构建目标数据集,最终得到混合数据集,并利用该混合数据集对预训练视觉语言模型进行混合指令调优,提升了微调后的预训练视觉语言模型的精度。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的视觉语言模型指令微调方法的流程示意图;
图2是本发明提供的预训练视觉语言模型的结构示意图;
图3是本发明提供的视觉语言模型指令微调装置的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于更加清楚的理解本申请的各实施例,首先对相关背景知识进行介绍。
随着大型语言模型的不断发展,大型语言模型涌现的强大推理能力能够更好地推动视觉语言模型的发展。
视觉语言预训练(Vision Language Pre-training,VLP)提高了许多视觉语言任务的性能,大部分现有的预训练模型仅在基于理解的任务或者基于生成的任务中表现出色,为了使得视觉语言模型(Vision Language Model,VLM)完成理解和生成任务,提出了一种新的VLP框架—自举多模态模型(Bootstrapping Language-Image Pre-training,BLIP),采用多模态编码器-解码器混合(Mixture of Encoder-Decoder,MED)的模型架构,与图像文本对比学习、图像文本匹配和图像条件语言建模进行联合预训练。
由于大规模模型的端到端训练,视觉和语言预训练的成本越来越高,进而又提出了一种通用而有效的预训练策略,BLIP-2通过冻结现有的预训练图像编码器和大型语言模型引导完成视觉语言预训练。具体来说,BLIP-2采用一个轻量级的查询转换模块(QueryTransformer,Q-Former)弥合模态差距,该模块完成两阶段预训练。第一个阶段从冻结的图像编码器中引导视觉语言表示学习,第二阶段将视觉从冻结的语言模型引导语言生成学习。在微调过程中通过由(指令,输出)对组成的数据集进一步训练的的方法称为“指令微调”,其中,指令代表模型的人类指令,输出代表遵循指令的期望输出。
通过指令微调得到的大型语言模型(Large Language Model,LLM)已经在多模态模型中使用了,目前与本发明最相似的方案为InstructBLIP。具体来说,在BLIP2的基础上同样保持图像编码器和LLM的参数冻结,对微调数据集添加指令,然后对查询transformer(Q-Fomer)模块进行微调。而且,现有的技术对于微调的硬件要求较高。
下面结合图1-图2描述本发明的视觉语言模型指令微调方法。
图1是本发明提供的视觉语言模型指令微调方法的流程示意图,如图1所示,方法包括步骤101-步骤106;其中,
步骤101,基于原始数据集中每一条原始数据的图像和预训练视觉语言模型,生成所述图像的图像描述文本;所述原始数据包括所述图像和问题文本;所述预训练视觉语言模型是基于样本图像、样本问题文本和样本答案文本进行训练得到。
需要说明的是,本发明提供的视觉语言模型指令微调方法适用于微调预训练视觉语言模型的场景中。该方法的执行主体可以为视觉语言模型指令微调装置,例如电子设备、或者该视觉语言模型指令微调装置中的用于执行视觉语言模型指令微调方法的控制模块。
具体地,原始数据集为视觉问答(Visual Question Answering,VQA)和真实世界视觉推理(GQA)公开数据集,原始数据集包括多条原始数据,原始数据包括图像和问题文本,原始数据还包括答案文本。
将图像输入至预训练视觉语言模型,预训练视觉语言模型可以生成图像的图像描述文本;其中,预训练视觉语言模型是基于样本图像、样本问题文本和样本答案文本进行训练得到。
步骤102,基于所述图像描述文本、所述问题文本、预先设置的提示语和大型语言模型,确定所述原始数据对应的推理信息;所述大型语言模型是基于所述样本问题文本、样本图像描述文本和所述样本答案文本进行训练得到。
具体地,对于原始数据集借助图像描述文本,预先设置特定的提示语(即prompt文本),例如,请根据图像描述文本和问题文本逐步生成推理过程。由大型语言模型(例如,第三代通用预训练转换器(General Pre-trained Transformer-3,GPT-3))生成视觉问答的推理信息(例如基本原理Rationale)。其中,大型语言模型是基于样本问题文本、样本图像描述文本和样本答案文本进行训练得到。主要利用了大型语言模型的零样本学习能力(zero-shot),基于问题文本、图像描述文本和预先设置的提示语生成推理信息。
步骤103,基于各所述推理信息,确定目标数据集。
具体地,根据原始数据对应的推理信息,可以确定目标数据集;其中,目标数据集包括推理信息。目标数据集还包括图像、问题文本和答案文本。
步骤104,基于所述目标数据集和所述原始数据集,确定混合数据集。
具体地,将目标数据集和原始数据集进行混合,可以得到混合数据集;其中,混合数据集中的每一条混合数据包括推理信息或者不包括推理信息,每一条混合数据包括推理信息时,混合数据为第一数据;每一条混合数据不包括推理信息时,混合数据为原始数据。
步骤105,基于预先设置的模板,对所述混合数据集中的每一条混合数据进行处理,得到处理后的数据;所述处理后的数据包括所述图像、所述问题文本、所述推理信息或者不包含所述推理信息。
具体地,为了将语言模型的推理能力融合到视觉语言模型中,预先设置特定的提示模板用于融合推理信息“Rationale”,预训练视觉语言模型进行微调进行指令微调。
由于混合数据集中的每一条数据包括推理信息或者不包括推理信息,基于预先设置的模板“{Rationale}Question:{question}Answer:”,对混合数据集中的每一条混合数据(视觉问题数据)进行处理,可以得到处理后的数据;其中,处理后的数据包括图像、问题文本、推理信息或者不包含推理信息,即处理后的数据为含“Rationale”的数据(例如{Rationale}Question:{question}Answer:)和不含“Rationale”的数据(Question:{question}Answer:),从而保证指令微调数据格式一致。处理后的数据还可以包括图像描述文本。
步骤106,将各所述处理后的数据中的所述问题文本和所述推理信息作为推理指令,对所述预训练视觉语言模型进行微调,得到微调后的预训练视觉语言模型。
具体地,预训练视觉语言模型为BLIP2或者InstructBLIP。将各处理后的数据中的问题文本和推理信息作为推理指令。在处理后的数据为含“Rationale”的数据时,推理指令为含“Rationale”数据的指令,例如,推理指令为{Rationale}Question:{question}Answer:。在处理后的数据为不含“Rationale”的数据时,推理指令还可以为不含“Rationale”数据的指令,例如,推理指令为Question:{question}Answer:。对预训练视觉语言模型进行微调,可以得到微调后的预训练视觉语言模型,微调后的预训练视觉语言模型的精度高。
实际中,用单卡A100GPU对预训练视觉语言模型进行微调,在预训练视觉语言模型上分别用处理后的数据组成的VQA和GQA数据集进行微调,用单个A100GPU进行所有实验,采用零样本(zero-shot)方式微调模型,采用学习率线性预热以及余弦退火相结合的方式对学习率进行调整,即设置预热学习率warm_up_lr为1e-8,学习率lr为1e-5;当学习率从1e-8升至1e-5后,进行余弦退火,以此减缓模型在初始阶段的过拟合现象,保持模型训练稳定;模型微调轮次设置为五轮。
本发明提供的视觉语言模型指令微调方法,通过基于原始数据集中每一条原始数据的图像和预训练视觉语言模型,生成图像的图像描述文本;原始数据包括图像和问题文本;预训练视觉语言模型是基于样本图像、样本问题文本和样本答案文本进行训练得到;再基于图像描述文本、问题文本、预先设置的提示语和大型语言模型,确定原始数据对应的推理信息;大型语言模型是基于样本问题文本、样本图像描述文本和样本答案文本进行训练得到;基于各推理信息,确定目标数据集;基于目标数据集和原始数据集,确定混合数据集;基于预先设置的模板,对混合数据集中的每一条混合数据进行处理,得到处理后的数据;处理后的数据包括图像、问题文本、推理信息或者不包含推理信息;将各处理后的数据中的所述问题文本和所述推理信息作为推理指令,对预训练视觉语言模型进行微调,得到微调后的预训练视觉语言模型。通过利用大型语言模型生成原始数据对应的推理信息,再根据推理信息构建目标数据集,最终得到混合数据集,并利用该混合数据集对预训练视觉语言模型进行混合指令调优,提升了微调后的预训练视觉语言模型的精度。
可选地,上述步骤102的具体实现方式包括:
将所述推理信息添加至所述原始数据,得到第一数据;所述第一数据包括所述图像、所述问题文本和所述推理信息;基于各所述第一数据,确定所述目标数据集。
具体地,将推理信息添加至原始数据集中的原始数据,可以得到第一数据,其中,第一数据包括图像、问题文本和推理信息。基于各第一数据,可以确定目标数据集,即在原始数据集中添加“Rationale”推理信息,可以构成新的数据集(目标数据集)。第一数据还可以包括答案文本。
可选地,在所述基于各所述第一数据,确定所述目标数据集之前,所述方法还包括:
基于所述推理信息、所述图像和视觉语言模型,对所述推理信息进行验证,得到验证结果;所述验证结果用于指示所述推理信息是否符合所述图像;所述视觉语言模型是基于样本图像和样本文本进行训练得到;在所述推理信息符合所述图像的情况下,将所述推理信息保留;在所述推理信息不符合所述图像的情况下,将所述图像描述文本作为所述推理信息。
具体地,由于大型语言模型生成的推理信息可能存在幻觉信息,因此采用视觉语言模型结合图像本身对生成的推理信息进行进一步验证。
将推理信息和图像输入至视觉语言模型,视觉语言模型对输入的推理信息和图像进行判断,判断推理信息是否符合图像内容,视觉语言模型回答是或者否,可以得到视觉语言模型输出的验证结果,验证结果用于指示推理信息是否符合图像。视觉语言模型是基于样本图像和样本文本进行训练得到。
在视觉语言模型判断推理信息符合图像的情况下,将推理信息保留;在视觉语言模型判断推理信息不符合图像的情况下,将图像描述文本作为推理信息,并将推理信息加入到原始数据集中,由此构成新的数据集(目标数据集)。
可选地,所述预训练视觉语言模型包括图像编码器、轻量级查询转换器、全连接层和预训练语言模型;上述步骤105的具体实现方式包括:
步骤A:针对每一条处理后的数据,将所述处理后的数据中的图像输入至所述图像编码器,得到所述图像编码器输出的所述图像对应的第一图像特征向量。
需要说明的是,利用新构建的视觉问答数据集(处理后的数据组成的数据集)对预训练模型轻量级查询转换器进行指令微调,可以很大程度上节约模型训练资源和训练时间,提高模型视觉问答推理的准确率。在微调的过程中,图像编码器和预训练语言模型的参数冻结,即在微调过程中,除轻量级查询转换器外,其余模块需要进行冻结,例如网络结构、训练参数。
预训练视觉语言模型BLIP2或者InstructBLIP中均包含一个轻量级查询转换器Transformer(Q-Former)这一特殊结构,该模块可以弥合视觉和语言模型之间的模态差异。
针对每一条处理后的数据,处理后的数据作为指令输入到视觉语言模型中,其中,图像编码器和预训练语言模型保持冻结,对Q-Former进行指令微调,完成参数更新。
具体地,针对每一条处理后的数据,将处理后的数据中的图像输入至图像编码器,可以得到图像编码器输出的图像对应的第一图像特征向量。
步骤B:将可学习查询模块的学习查询向量、所述第一图像特征向量和所述推理指令输入至所述轻量级查询转换器,得到所述轻量级查询转换器输出的第二图像特征向量;所述学习查询向量是基于上一次微调过程中所述轻量级查询转换器得到的所述第二图像特征向量得到的。
具体地,将可学习查询模块的学习查询向量、第一图像特征向量和推理指令输入至轻量级查询转换器,可以得到轻量级查询转换器输出的第二图像特征向量;其中,学习查询向量是基于上一次微调过程中轻量级查询转换器得到的第二图像特征向量得到的。轻量级查询转换器(Q-Former)一共包含12层,每一层由注意力层、交叉注意力层、中间查询模块以及输出查询模块构成。
需要说明的是,在对轻量级查询转换器第一次微调时,可学习查询模块的学习查询向量对应一组初始化向量。
步骤C:将所述第二图像特征向量输入至所述全连接层,得到所述全连接层输出的第三图像特征向量。
具体地,将第二图像特征向量输入至全连接层,可以得到全连接层输出的第三图像特征向量。全连接层用于对第二图像特征向量的输出维度进行调整,以便适应所选的预训练语言模型的输入维度。
步骤D:将所述第三图像特征向量和所述推理指令输入至所述预训练语言模型,得到所述预训练语言模型输出的推理答案。
具体地,将第三图像特征向量和推理指令输入至预训练语言模型,可以得到预训练语言模型输出的推理答案。
步骤E:基于所述推理答案和所述原始数据中的标准答案,计算损失值。
具体地,根据推理答案和原始数据中的标准答案,采用交叉熵损失函数可以计算损失值。
步骤F:基于所述损失值,确定所述微调后的预训练视觉语言模型。
具体地,基于计算的损失值,可以进一步确定微调后的预训练视觉语言模型。
可选地,所述基于所述损失值,确定所述微调后的预训练视觉语言模型,包括:
将所述损失值进行回传,微调所述轻量级查询转换器的参数,得到微调后的参数;基于所述微调后的参数,重复执行上述步骤A-步骤E的步骤,直至最终计算的损失值趋于稳定停止微调;基于最后一次微调得到的所述轻量级查询转换器的参数,得到最终微调后的预训练视觉语言模型。
具体地,将损失值进行回传,微调轻量级查询转换器的参数,可以得到轻量级查询转换器微调后的参数;基于微调后的参数,重复执行上述步骤A-步骤E的步骤,直至最终计算的损失值趋于稳定停止微调;还可以判断微调次数达到最大预设微调次数的情况下停止微调。根据最后一次微调得到的轻量级查询转换器的参数,可以得到最终微调后的预训练视觉语言模型。
图2是本发明提供的预训练视觉语言模型的结构示意图,如图2所示,将处理后的数据中的问题文本和推理信息作为推理指令,其中,处理后的数据包括图像、问题文本、推理信息或者不包含推理信息;预训练视觉语言模型包括图像编码器、轻量级查询转换器(Q-Former)、全连接层和预训练语言模型,其中,轻量级查询转换器一共包含12层,每一层由注意力层(Attention)、交叉注意力层(Cross Attention)、中间查询模块(IntermediateQuery)以及输出查询模块(Output Query)构成。
将处理后的数据中的图像输入至图像编码器,得到图像编码器输出的图像对应的第一图像特征向量;将可学习查询模块的学习查询向量、第一图像特征向量和推理指令输入至轻量级查询转换器,得到轻量级查询转换器输出的第二图像特征向量;学习查询向量是基于上一次微调过程中轻量级查询转换器得到的第二图像特征向量得到的;将第二图像特征向量输入至全连接层,得到全连接层输出的第三图像特征向量;将所述第三图像特征向量和推理指令输入至预训练语言模型,得到预训练语言模型输出的推理答案(结果)。基于推理答案和原始数据中的标准答案,计算损失值;将所述损失值进行回传,微调所述轻量级查询转换器的参数,得到微调后的参数;基于微调后的参数,重复执行上述计算损失值的步骤,直至最终计算的损失值趋于稳定停止微调;基于最后一次微调得到的轻量级查询转换器的参数,得到最终微调后的预训练视觉语言模型。
需要说明的是,利用混合数据集进行指令微调,将“推理指令”输入到Q-Former进行微调,在最后预训练语言模型生成结果时也添加“推理指令”作为辅助,整个过程中推理指令用到两次,提升了预训练视觉语言模型的效率,进而提升预训练视觉语言模型的精度。
在本申请中,融合了大型语言模型的推理能力,构建了新的微调数据集,利用新的数据集生成不同的指令,对预训练视觉语言模型的Q-Former进行混合调优,而且调优所需的硬件要求较低且微调耗时短,仅需要单张A100即可完成微调,微调耗时小于10小时。
在本申请中,对比选取的基线模型包括不同参数大小的Flamingo模型、不同参数大小的Unified-IO模型(Unified-IO模型是一个解决视觉、语言和多模态任务的统一模型)、不同参数大小的BLIP-2系列模型以及InstructBLIP-FlanT5-XL模型。由于硬件训练环境为单卡A100GPU,因此选择BLIP2-OPT-2.7B和InstructBLIP-FlanT5-XL模型进行微调实验;在微调过程中,测试数据集均不引入“Rationale”信息,通过问答准确率是否有提升,体现预训练视觉模型推理能力是否增强。
下面对本发明提供的视觉语言模型指令微调装置进行描述,下文描述的视觉语言模型指令微调装置与上文描述的视觉语言模型指令微调方法可相互对应参照。
图3是本发明提供的视觉语言模型指令微调装置的结构示意图,如图3所示,视觉语言模型指令微调装置300包括:第一确定模块301、第二确定模块302、第三确定模块303、第四确定模块304、处理模块305和微调模块306;其中,
第一确定模块301,用于基于原始数据集中每一条原始数据的图像和预训练视觉语言模型,生成所述图像的图像描述文本;所述原始数据包括所述图像和问题文本;所述预训练视觉语言模型是基于样本图像、样本问题文本和样本答案文本进行训练得到;
第二确定模块302,基于所述图像描述文本、所述问题文本、预先设置的提示语和大型语言模型,确定所述原始数据对应的推理信息;所述大型语言模型是基于所述样本问题文本、样本图像描述文本和所述样本答案文本进行训练得到;
第三确定模块303,用于基于各所述推理信息,确定目标数据集;
第四确定模块304,用于基于所述目标数据集和所述原始数据集,确定混合数据集;
处理模块305,用于基于预先设置的模板,对所述混合数据集中的每一条混合数据进行处理,得到处理后的数据;所述处理后的数据包括所述图像、所述问题文本、所述推理信息或者不包含所述推理信息;
微调模块306,用于将各所述处理后的数据中的所述问题文本和所述推理信息作为推理指令,对所述预训练视觉语言模型进行微调,得到微调后的预训练视觉语言模型。
本发明提供的视觉语言模型指令微调装置,通过基于原始数据集中每一条原始数据的图像和预训练视觉语言模型,生成图像的图像描述文本;原始数据包括图像和问题文本;预训练视觉语言模型是基于样本图像、样本问题文本和样本答案文本进行训练得到;再基于图像描述文本、问题文本、预先设置的提示语和大型语言模型,确定原始数据对应的推理信息;原始数据包括图像和问题文本;大型语言模型是基于样本问题文本、样本图像描述文本和样本答案文本进行训练得到;基于各推理信息,确定目标数据集;基于目标数据集和原始数据集,确定混合数据集;基于预先设置的模板,对混合数据集中的每一条混合数据进行处理,得到处理后的数据;处理后的数据包括图像、问题文本、推理信息或者不包含推理信息;将各处理后的数据中的所述问题文本和所述推理信息作为推理指令,对预训练视觉语言模型进行微调,得到微调后的预训练视觉语言模型;预训练视觉语言模型是基于样本图像、样本问题文本和样本答案文本进行训练得到。通过利用大型语言模型生成原始数据对应的推理信息,再根据推理信息构建目标数据集,最终得到混合数据集,并利用该混合数据集对预训练视觉语言模型进行混合指令调优,提升了微调后的预训练视觉语言模型的精度。
可选地,所述第二确定模块302,具体用于:
将所述推理信息添加至所述原始数据,得到第一数据;所述第一数据包括所述图像、所述问题文本和所述推理信息;
基于各所述第一数据,确定所述目标数据集。
可选地,在所述基于各所述第一数据,确定所述目标数据集之前,所述视觉语言模型指令微调装置300还包括:
验证模块,用于基于所述推理信息、所述图像和视觉语言模型,对所述推理信息进行验证,得到验证结果;所述验证结果用于指示所述推理信息是否符合所述图像;所述视觉语言模型是基于样本图像和样本文本进行训练得到;
保留模块,用于在所述推理信息符合所述图像的情况下,将所述推理信息保留;
第四确定模块,用于在所述推理信息不符合所述图像的情况下,将所述图像描述文本作为所述推理信息。
可选地,所述预训练视觉语言模型包括图像编码器、轻量级查询转换器、全连接层和预训练语言模型;所述微调模块305,具体用于:
步骤A:针对每一条处理后的数据,将所述处理后的数据中的图像输入至所述图像编码器,得到所述图像编码器输出的所述图像对应的第一图像特征向量;
步骤B:将可学习查询模块的学习查询向量、所述第一图像特征向量和所述推理指令输入至所述轻量级查询转换器,得到所述轻量级查询转换器输出的第二图像特征向量;所述学习查询向量是基于上一次微调过程中所述轻量级查询转换器得到的所述第二图像特征向量得到的;
步骤C:将所述第二图像特征向量输入至所述全连接层,得到所述全连接层输出的第三图像特征向量;
步骤D:将所述第三图像特征向量和所述推理指令输入至所述预训练语言模型,得到所述预训练语言模型输出的推理答案;
步骤E:基于所述推理答案和所述原始数据中的标准答案,计算损失值;
步骤F:基于所述损失值,确定所述微调后的预训练视觉语言模型。
可选地,所述微调模块305,还用于:
将所述损失值进行回传,微调所述轻量级查询转换器的参数,得到微调后的参数;
基于所述微调后的参数,重复执行上述步骤A-步骤E的步骤,直至最终计算的损失值趋于稳定停止微调;
基于最后一次微调得到的所述轻量级查询转换器的参数,得到最终微调后的预训练视觉语言模型。
可选地,在微调的过程中,所述图像编码器和所述预训练语言模型的参数冻结。
图4是本发明提供的一种电子设备的实体结构示意图,如图4所示,该电子设备400可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行视觉语言模型指令微调方法,该方法包括:基于原始数据集中每一条原始数据的图像和预训练视觉语言模型,生成所述图像的图像描述文本;所述原始数据包括所述图像和问题文本;所述预训练视觉语言模型是基于样本图像、所述样本问题文本和所述样本答案文本进行训练得到;基于所述图像描述文本、所述问题文本、预先设置的提示语和大型语言模型,确定所述原始数据对应的推理信息;所述大型语言模型是基于所述样本问题文本、样本图像描述文本和所述样本答案文本进行训练得到;基于各所述推理信息,确定目标数据集;基于所述目标数据集和所述原始数据集,确定混合数据集;基于预先设置的模板,对所述混合数据集中的每一条混合数据进行处理,得到处理后的数据;所述处理后的数据包括所述图像、所述问题文本、所述推理信息或者不包含所述推理信息;将各所述处理后的数据中的所述问题文本和所述推理信息作为推理指令,对所述预训练视觉语言模型进行微调,得到微调后的预训练视觉语言模型。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的视觉语言模型指令微调方法,该方法包括:基于原始数据集中每一条原始数据的图像和预训练视觉语言模型,生成所述图像的图像描述文本;所述原始数据包括所述图像和问题文本;所述预训练视觉语言模型是基于样本图像、所述样本问题文本和所述样本答案文本进行训练得到;基于所述图像描述文本、所述问题文本、预先设置的提示语和大型语言模型,确定所述原始数据对应的推理信息;所述大型语言模型是基于所述样本问题文本、样本图像描述文本和所述样本答案文本进行训练得到;基于各所述推理信息,确定目标数据集;基于所述目标数据集和所述原始数据集,确定混合数据集;基于预先设置的模板,对所述混合数据集中的每一条混合数据进行处理,得到处理后的数据;所述处理后的数据包括所图像、所述问题文本、所述推理信息或者不包含所述推理信息;将各所述处理后的数据中的所述问题文本和所述推理信息作为推理指令,对所述预训练视觉语言模型进行微调,得到微调后的预训练视觉语言模型。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的视觉语言模型指令微调方法,该方法包括:基于原始数据集中每一条原始数据的图像和预训练视觉语言模型,生成所述图像的图像描述文本;所述原始数据包括所述图像和问题文本;所述预训练视觉语言模型是基于样本图像、所述样本问题文本和所述样本答案文本进行训练得到;基于所述图像描述文本、所述问题文本、预先设置的提示语和大型语言模型,确定所述原始数据对应的推理信息;所述大型语言模型是基于所述样本问题文本、样本图像描述文本和所述样本答案文本进行训练得到;基于各所述推理信息,确定目标数据集;基于所述目标数据集和所述原始数据集,确定混合数据集;基于预先设置的模板,对所述混合数据集中的每一条混合数据进行处理,得到处理后的数据;所述处理后的数据包括所图像、所述问题文本、所述推理信息或者不包含所述推理信息;将各所述处理后的数据中的所述问题文本和所述推理信息作为推理指令,对所述预训练视觉语言模型进行微调,得到微调后的预训练视觉语言模型。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种视觉语言模型指令微调方法,其特征在于,包括:
基于原始数据集中每一条原始数据的图像和预训练视觉语言模型,生成所述图像的图像描述文本;所述原始数据包括所述图像和问题文本;所述预训练视觉语言模型是基于样本图像、所述样本问题文本和所述样本答案文本进行训练得到;
基于所述图像描述文本、所述问题文本、预先设置的提示语和大型语言模型,确定所述原始数据对应的推理信息;所述大型语言模型是基于所述样本问题文本、样本图像描述文本和所述样本答案文本进行训练得到;
基于各所述推理信息,确定目标数据集;
基于所述目标数据集和所述原始数据集,确定混合数据集;
基于预先设置的模板,对所述混合数据集中的每一条混合数据进行处理,得到处理后的数据;所述处理后的数据包括所述图像、所述问题文本、所述推理信息或者不包含所述推理信息;
将各所述处理后的数据中的所述问题文本和所述推理信息作为推理指令,对所述预训练视觉语言模型进行微调,得到微调后的预训练视觉语言模型。
2.根据权利要求1所述的视觉语言模型指令微调方法,其特征在于,所述基于各所述推理信息,确定目标数据集,包括:
将所述推理信息添加至所述原始数据,得到第一数据;所述第一数据包括所述图像、所述问题文本和所述推理信息;
基于各所述第一数据,确定所述目标数据集。
3.根据权利要求2所述的视觉语言模型指令微调方法,其特征在于,在所述基于各所述第一数据,确定所述目标数据集之前,所述方法还包括:
基于所述推理信息、所述图像和视觉语言模型,对所述推理信息进行验证,得到验证结果;所述验证结果用于指示所述推理信息是否符合所述图像;所述视觉语言模型是基于样本图像和样本文本进行训练得到;
在所述推理信息符合所述图像的情况下,将所述推理信息保留;
在所述推理信息不符合所述图像的情况下,将所述图像描述文本作为所述推理信息。
4.根据权利要求1所述的视觉语言模型指令微调方法,其特征在于,所述预训练视觉语言模型包括图像编码器、轻量级查询转换器、全连接层和预训练语言模型;
所述将各所述处理后的数据中的所述问题文本和所述推理信息作为推理指令,对所述预训练视觉语言模型进行微调,得到微调后的预训练视觉语言模型,包括:
步骤A:针对每一条处理后的数据,将所述处理后的数据中的图像输入至所述图像编码器,得到所述图像编码器输出的所述图像对应的第一图像特征向量;
步骤B:将可学习查询模块的学习查询向量、所述第一图像特征向量和所述推理指令输入至所述轻量级查询转换器,得到所述轻量级查询转换器输出的第二图像特征向量;所述学习查询向量是基于上一次微调过程中所述轻量级查询转换器得到的所述第二图像特征向量得到的;
步骤C:将所述第二图像特征向量输入至所述全连接层,得到所述全连接层输出的第三图像特征向量;
步骤D:将所述第三图像特征向量和所述推理指令输入至所述预训练语言模型,得到所述预训练语言模型输出的推理答案;
步骤E:基于所述推理答案和所述原始数据中的标准答案,计算损失值;
步骤F:基于所述损失值,确定所述微调后的预训练视觉语言模型。
5.根据权利要求4所述的视觉语言模型指令微调方法,其特征在于,所述基于所述损失值,确定所述微调后的预训练视觉语言模型,包括:
将所述损失值进行回传,微调所述轻量级查询转换器的参数,得到微调后的参数;
基于所述微调后的参数,重复执行上述步骤A-步骤E的步骤,直至最终计算的损失值趋于稳定停止微调;
基于最后一次微调得到的所述轻量级查询转换器的参数,得到最终微调后的预训练视觉语言模型。
6.根据权利要求4所述的视觉语言模型指令微调方法,其特征在于,在微调的过程中,所述图像编码器和所述预训练语言模型的参数冻结。
7.一种视觉语言模型指令微调装置,其特征在于,包括:
第一确定模块,用于基于原始数据集中每一条原始数据的图像和预训练视觉语言模型,生成所述图像的图像描述文本;所述原始数据包括所述图像和问题文本;所述预训练视觉语言模型是基于样本图像、样本问题文本和样本答案文本进行训练得到;
第二确定模块,用于基于所述图像描述文本、所述问题文本、预先设置的提示语和大型语言模型,确定所述原始数据对应的推理信息;所述大型语言模型是基于所述样本问题文本、样本图像描述文本和所述样本答案文本进行训练得到;
第三确定模块,用于基于各所述推理信息,确定目标数据集;
第四确定模块,用于基于所述目标数据集和所述原始数据集,确定混合数据集;
处理模块,用于基于预先设置的模板,对所述混合数据集中的每一条混合数据进行处理,得到处理后的数据;所述处理后的数据包括所述图像、所述问题文本、所述推理信息或者不包含所述推理信息;
微调模块,用于将各所述处理后的数据中的所述问题文本和所述推理信息作为推理指令,对所述预训练视觉语言模型进行微调,得到微调后的预训练视觉语言模型。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述视觉语言模型指令微调方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述视觉语言模型指令微调方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述视觉语言模型指令微调方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311745067.3A CN117975475A (zh) | 2023-12-18 | 2023-12-18 | 视觉语言模型指令微调方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311745067.3A CN117975475A (zh) | 2023-12-18 | 2023-12-18 | 视觉语言模型指令微调方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117975475A true CN117975475A (zh) | 2024-05-03 |
Family
ID=90855399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311745067.3A Pending CN117975475A (zh) | 2023-12-18 | 2023-12-18 | 视觉语言模型指令微调方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117975475A (zh) |
-
2023
- 2023-12-18 CN CN202311745067.3A patent/CN117975475A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102422729B1 (ko) | 학습 데이터 증강 정책 | |
CN113591902B (zh) | 基于多模态预训练模型的跨模态理解与生成方法和装置 | |
US20190197109A1 (en) | System and methods for performing nlp related tasks using contextualized word representations | |
CN109783666B (zh) | 一种基于迭代精细化的图像场景图谱生成方法 | |
CN112214604A (zh) | 文本分类模型的训练方法、文本分类方法、装置及设备 | |
CN111368545A (zh) | 一种基于多任务学习的命名实体识别方法和装置 | |
JP2018156451A (ja) | ネットワーク学習装置、ネットワーク学習システム、ネットワーク学習方法およびプログラム | |
CN114388064A (zh) | 用于蛋白质表征学习的多模态信息融合方法、系统、终端及存储介质 | |
US20230252294A1 (en) | Data processing method, apparatus, and device, and computer-readable storage medium | |
CN112861659A (zh) | 一种图像模型训练方法、装置及电子设备、存储介质 | |
CN111027292A (zh) | 一种限定采样文本序列生成方法及其系统 | |
CN117454495B (zh) | 一种基于建筑草图轮廓序列的cad矢量模型生成方法及装置 | |
CN117975475A (zh) | 视觉语言模型指令微调方法及装置 | |
WO2022127603A1 (zh) | 一种模型处理方法及相关装置 | |
CN116090425A (zh) | 一种基于词替换的文本生成方法、系统及存储介质 | |
CN114548273A (zh) | 模型训练方法、装置、设备与存储介质 | |
CN113673476A (zh) | 人脸识别模型训练方法、装置、存储介质与电子设备 | |
CN117808083B (zh) | 一种分布式训练通信方法、装置、系统、设备及存储介质 | |
CN112685558B (zh) | 一种情感分类模型的训练方法及装置 | |
CN113971806B (zh) | 一种模型训练、字符识别方法、装置、设备及存储介质 | |
US20240153259A1 (en) | Single image concept encoder for personalization using a pretrained diffusion model | |
CN116542250B (zh) | 一种信息抽取模型获取方法和系统 | |
CN116991985B (zh) | 基于生成式预训练模型的实时信息响应方法及其系统 | |
CN110458243B (zh) | 图像识别模型的训练方法及装置、图像识别方法及装置 | |
CN117521802A (zh) | 融合预训练语言模型的知识抽取方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |