本说明书一个或多个实施例涉及人工智能领域,尤其涉及一种多模态多任务医疗大模型训练方法及装置。
背景技术:
1、随着大语言模型(large language models, llms)的参数量不断增加,训练这些大语言模型以及衍生的多模态模型(以下统称为大模型)所需要的计算资源数量也在不断增加。在这种情况下,参数高效微调方法(parameter-efficient fine-tuning, peft)作为一种简便且高效的微调方法被提出。这种方法在保留原始模型的参数不变的同时,在大模型需要微调的网络层(layer)的旁路设置适配器(adapter),通过调整适配器中的参数,以实现对大模型的微调。由于适配器中的参数数量远远少于其对应的大模型网络层,所以peft方法可以减少微调时的计算量。
2、在多任务学习的场景下,如果想让大模型同时适用于多种任务类型的任务,则需要在多个任务类型的数据集上分别或同时对大模型进行微调。然而,在现实场景中,存在着大量的不包含任务类型的样本数据,对这些样本数据进行任务分类需要极高的成本,同时,一部分样本数据本身便难以被归类为某个具体的任务类型。在此基础上,如果输入的样本数据是多模态数据,例如图像数据和文本数据,则会进一步增加训练和推理难度。因此,需要一种更好的方法,在训练样本集中的训练样本不包含任务类型的情况下,在多模态多任务场景下对大模型进行微调,使得微调后的大模型能够在多模态场景下同时适用于多种任务类型的任务。
技术实现思路
1、本说明书一个或多个实施例描述了一种多模态多任务医疗大模型训练方法及装置,在不显式指定训练样本的任务类型的情况下,使用多模态数据作为输入样本,隐式地对大模型进行训练,使其在多模态场景下同时适用于多种任务场景。
2、第一方面,提供了一种多模态多任务医疗大模型训练方法,包括对所述大模型的旁路任务网络进行微调,所述旁路任务网络包括s个适配器、跨模态任务路由网络以及适配器路由网络;所述微调包括:
3、获取第一文本和第一图像对应的组合嵌入向量;
4、利用所述跨模态任务路由网络,确定所述组合嵌入向量归属于各个任务类型的第一权重;
5、利用所述适配器路由网络,确定各个任务类型关于各个适配器的第二权重;
6、根据所述第一权重和第二权重,组合所述s个适配器分别处理所述组合嵌入向量的处理结果,得到所述旁路任务网络的旁路输出,所述旁路输出用于得到预测结果,所述预测结果用于更新所述旁路任务网络。
7、在一种可能的实施方式中,所述跨模态任务路由网络包括第一mlp和第二mlp;所述组合嵌入向量由文本向量和图像向量拼接得到;利用所述跨模态任务路由网络,确定所述组合嵌入向量归属于各个任务类型的第一权重,包括:
8、分别以所述图像向量和文本向量为基础,进行交叉注意力计算,得到第一注意力向量和第二注意力向量;
9、将所述第一注意力向量与所述第二注意力向量分别输入到所述第一mlp和所述第二mlp中,并将得到的结果相加,得到第一权重。
10、在一种可能的实施方式中,当所述旁路任务网络对应于所述大模型的输入层时,所述文本向量和所述图像向量分别是由预先对齐训练好的文本编码器和图像编码器生成的、位于相同潜在空间的向量;
11、当所述旁路任务网络对应于所述大模型的中间层时,所述组合嵌入向量来自上一个网络层的输出,所述文本向量和所述图像向量分别对应于所述组合嵌入向量的前半部分和后半部分。
12、在一种可能的实施方式中,分别以所述图像向量和文本向量为基础,进行交叉注意力计算,得到第一注意力向量和第二注意力向量,包括:
13、将所述图像向量作为查询向量,将所述文本向量作为键向量和值向量,进行第一交叉注意力计算,并将结果与所述图像向量相加,得到第一注意力向量;
14、将所述文本向量作为查询向量,将所述图像向量作为键向量和值向量,进行第二交叉注意力计算,并将结果与所述文本向量相加,得到第二注意力向量。
15、在一种可能的实施方式中,根据所述第一权重和第二权重,组合所述s个适配器分别处理所述组合嵌入向量的处理结果,得到所述旁路任务网络的旁路输出,包括:
16、根据所述第二权重,分别针对各单项任务类型将各个适配器的处理结果进行第一加权求和,得到t个任务类型对应的t个第一中间结果;
17、根据所述第一权重,对所述t个第一中间结果进行第二加权求和,得到旁路输出。
18、在一种可能的实施方式中,所述第二权重为矩阵,其中第i行第j列的第二权重参数指示第i个适配器在第j个任务类型下的权重;所述第一权重为向量,其中第k个位置的第一权重参数指示所述组合嵌入向量归属于第k个任务类型的权重。
19、在一种可能的实施方式中,所述第一加权求和,包括:
20、对于任意的目标任务类型,从所述第二权重中获取所述目标任务类型下各个适配器的第二权重参数;
21、根据所述各个适配器的第二权重参数,确定各个处理结果的权重因子;
22、根据所述权重因子对各个处理结果进行加权求和,得到所述目标任务类型对应的第一中间结果。
23、在一种可能的实施方式中,根据所述各个适配器的第二权重参数,确定各个处理结果的权重因子,包括:
24、将所述各个适配器的第二权重参数分别输入到gumbel sigmoid函数中,将输出结果输入到softmax函数中,得到各个处理结果的权重因子。
25、在一种可能的实施方式中,所述第二加权求和,包括:
26、根据所述第一权重中的t个第一权重参数,对各个任务类型对应的第一中间结果进行加权求和,得到旁路输出。
27、在一种可能的实施方式中,所述适配器至少包含以下之一:lora适配器、adalora适配器、(ia)3适配器。
28、在一种可能的实施方式中,所述第一图像为医疗影像,所述第一文本为与医疗相关的描述文本或问题文本;所述预测结果包括关于疾病的预测数据。
29、在一种可能的实施方式中,所述大模型还包括已训练的目标网络层;所述微调还包括:
30、将所述组合嵌入向量输入到目标网络层,得到目标输出;
31、根据所述目标输出和所述旁路输出,确定所述大模型针对于所述第一文本和第一图像的预测结果;
32、根据所述预测结果对应的损失,更新所述旁路任务网络。
33、在一种可能的实施方式中,所述大模型为基于transformer架构的模型;所述目标网络层包括以下中至少一个:query层、key层、value层、output层、多层感知器mlp层。
34、在一种可能的实施方式中,根据所述预测结果对应的损失,更新所述旁路任务网络,包括:
35、根据所述预测结果对应的损失,调整所述跨模态任务路由网络、适配器路由网络,以及各个适配器中的参数的值。
36、第二方面,提供了一种多模态多任务医疗大模型训练装置,包括对所述大模型的旁路任务网络进行微调的微调模块,所述旁路任务网络包括s个适配器、跨模态任务路由网络以及适配器路由网络;所述微调模块包括:
37、获取单元,配置为,获取第一文本和第一图像对应的组合嵌入向量;
38、第一权重确定单元,配置为,利用所述跨模态任务路由网络,确定所述组合嵌入向量归属于各个任务类型的第一权重;
39、第二权重确定单元,配置为,利用所述适配器路由网络,确定各个任务类型关于各个适配器的第二权重;
40、旁路输出单元,配置为,根据所述第一权重和第二权重,组合所述s个适配器分别处理所述组合嵌入向量的处理结果,得到所述旁路任务网络的旁路输出,所述旁路输出用于得到预测结果,所述预测结果用于更新所述旁路任务网络。
41、在一种可能的实施方式中,所述微调模块还包括:
42、目标输出单元,配置为,将所述组合嵌入向量输入到目标网络层,得到目标输出;
43、预测单元,配置为,根据所述目标输出和所述旁路输出,确定所述大模型针对于所述第一文本和第一图像的预测结果;
44、更新单元,配置为,根据所述预测结果对应的损失,更新所述旁路任务网络。
45、第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
46、第四方面,提供了一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
47、本说明书实施例提出的一种多模态多任务医疗大模型训练方法及装置,在设置多个适配器的情况下,通过设置可学习的跨模态任务路由网络和适配器路由网络,让大模型自主地根据输入的多模态样本,学习各个多模态样本应该归属的任务类型,以及自主地学习各个任务类型应当使用的适配器的组合。在跨模态任务路由网络中,基于交叉注意力机制(cross-attention mechanism),计算文本向量和图像向量之间的注意力,进而根据注意力计算结果,确定各个多模态样本应该归属的任务类型。通过设置前述两种任务网络,本说明书实施例可以在不显式指定多模态训练样本的任务类型的情况下,隐式地对大模型进行训练,使其在多模态场景下,能够同时适用于多种任务场景。