本文是Multimodal Large Language Models: A Survey
的译文之算法实用指南
部分。
- 上:摘要、概念与技术要点实用指南
- 中:算法实用指南(本文)
- 下: 任务的实用指南(应用)、挑战等
原始信息
- 标题: Multimodal Large Language Models: A Survey
- 译文: 多模态大语言模型综述
- 地址: arxiv.org/pdf/2311.13…
- 作者: Jiayang Wu , Wensheng Gan, Zefeng Chen , Shicheng Wan , Philip S. Yu
如果您也对AI大模型感兴趣想学习却苦于没有方向👀
小编给自己收藏整理好的学习资料分享出来给大家💖
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码关注免费领取【保证100%免费
】🆓
IV. 算法实用指南
多模态的算法可分为两类: 基础模型和大规模多模态预训练模型。基础模态是多模态的基本框架, 许多新的大规模多模态预训练模型都是基于它进行改进的。
下图是论文涉及的算法清单,含模型名字、年份、技术要点、功能及参考编号,以及代码开源情况。
基础模型
Transformer
Transformer[39]于2017年提出,颠覆了传统的深度学习模型,在机器翻译任务中取得了良好的性能。它因能够在大规模语料库上进行自我监督的预训练,并随后对下游任务进行微调而受到关注。许多预先训练的大规模模型都遵循了这种范式。
Transformer的权重共享特性与输入序列长度无关,因此适用于多模态应用。
模型中的某些模块可以共享权重参数。Transformer中的权重共享概念源于自注意模块和前馈神经网络不受输入序列长度的影响。这种权重共享概念也可以应用于多模态模型。例如,在涉及图像和文本的多模态设置中,从图像训练中学习到的权重参数可以用于文本训练,并且结果仍然有效,有时即使不需要微调。
VIT(vision transformer)
Transformer模型及其自注意机制在自然语言处理(NLP) 领域的卓越性能引起了计算机视觉领域的广泛关注。许多研究已经开始将Transformer机制纳入计算机视觉任务中。
然而,Transformer在输入数据大小方面有局限性,需要仔细考虑输入策略。Google从之前的工作中汲取灵感,提出了视觉转换器(ViT)模型,该模型由强大的计算资源提供支持。ViT模型通过将图像分割成块(例如,将图像分割为16个块)来解决输入大小限制[40]。然后对这些补丁进行处理,并将其转换为Transformer可以通过线性映射处理的输入。这一突破弥补了计算机视觉和NLP之间的差距。与以前的方法相比,ViT不仅使Transformer能够处理图像,而且还引入了更有效的图像特征提取策略。
BEiT
如果ViT可以被视为计算机视觉中Transformer模型的自适应,那么BEiT可以被认为是计算机视觉中BERT的自适应[24]。生成式预训练(Generative pre-training)是自我监督(self-supervised)学习中的一种重要方法和训练目标,在这种学习中,模型学习如何在不依赖标签或手动标注的情况下生成数据。生成预训练在自然语言处理方面取得了重大成功。
BEiT解决了计算机视觉生成式预训练中的两个关键挑战。第一个挑战是如何将图像信息转换为类似于NLP的离散令牌。BEiT使用离散视觉嵌入聚合方法对图像进行离散化。第二个挑战是如何将图像信息有效地纳入预训练过程。BEiT利用完善的ViT结构来处理图像信息。通过解决这两点,BEiT成功地将掩蔽语言建模(MLM)和掩蔽图像建模(MIM)方法应用于计算机视觉领域,将生成预训练引入计算机视觉领域并实现了大规模的自监督预训练。
大规模多模态预训练模型
Visual ChatGPT
Visual ChatGPT[38]结合了不同的视觉基础模型(VFM)来处理各种视觉任务,例如图像理解和生成。不仅允许用户发送和接收语言,还允许用户接收图像,从而实现复杂的视觉问题和指令。该系统还引入了Prompt Manager,它有助于利用VFM并以迭代的方式接收他们的反馈。这个迭代过程一直持续到系统满足用户的要求或达到结束条件。通过提示将视觉模型信息注入ChatGPT,系统将视觉特征与文本空间对齐,增强了ChatGPT的视觉理解和生成能力。
Visual ChatGPT具有处理语言和图像之外的模态的能力。虽然该系统最初专注于语言和图像,但它为融入视频或语音等其他模态开辟了可能性。这种灵活性消除了每次引入新的模态或功能时训练全新的多模态模型的需要。
MM-REACT
MM-REACT[41]将ChatGPT与各种视觉模型相结合,以实现多模态任务,主要通过VQA格式进行演示。在回答问题时,ChatGPT将视觉模型作为工具,并根据具体问题决定是否使用它们。
该系统与之前使用VQA的字幕模型和语言图像模型的作品有相似之处。在这些方法中,字幕模型将图像转换为文本,然后由更大的模型用作证据来生成答案。然而,MM-REACT在自主决定是否调用视觉模型的能力方面有所不同。
Frozen
Frozen[42]介绍了在多模态上下文学习中使用LLM的新概念。具体方法包括使用视觉编码器(visual encoder)将图像转换为嵌入(embedding)。然后将这些嵌入与文本连接,创建一个集成了两种模态的组合数据格式。随后,该模型使用自回归方法来预测下一个令牌。在整个训练过程中,LLM保持冻结状态,而视觉编码器是可训练的。这允许最终模型保留其语言建模能力,同时获得在多模态环境中执行上下文学习的能力。
BLIP-2
BLIP-2[43]在编码图像时采用了与Flamingo类似的方法,利用Qformer模型提取图像特征。Qformer扮演的角色类似于火烈鸟的感知重采样器。然后,该模型通过交叉注意力促进图像-文本交互。训练期间,BLIP-2冻结视觉编码器和LLM,并且仅微调Qformer。然而,当对特定的下游任务数据集进行微调时,BLIP-2解锁视觉编码器,并将其与Qformer一起进行微调。
BLIP-2的训练过程包括两个阶段
- 只有Qformer和视觉编码器(visual encoder)参加训练。它们使用经典的多模态预训练任务进行训练,如图像文本匹配、对比学习和基于图像的文本生成。这个阶段使Qformer能够学习如何从视觉编码器中快速提取与文本相关的特征。
- 将Qformer编码的矢量插入LLM中用于字幕生成。BLIP-2在VQA的零样本和微调方案中都表现出了良好的性能。对于同一任务,它在不同数据集之间具有良好的可转移性。
LLaMA-Adapter
LLaMA-Adapter[44] 通过插入适配器在LLaMA中引入了高效的微调,可以扩展到多模态场景。适配器是自适应提示向量,作为可调参数连接到Transformer的最后一层。当应用于多模态设置时,首先使用冻结视觉编码器将图像编码为多尺度特征向量。然后,在将这些向量按元素添加到自适应提示向量之前,通过级联和投影操作来聚合这些向量。
MiniGPT-4
MiniGPT-4 [45] 是基于BLIP-2和Vicuna的组合的GPT-4的某些功能的复制。它直接从BLIP-2传输Qformer和视觉编码器,并将它们与LLM一起冻结,只在视觉侧留下一个线性层进行微调。这种可调参数的压缩导致模型大小为15M。
此外,还采用了两阶段微调策略: i).字幕(Caption)生成被用作训练任务。该模型生成多个字幕,然后使用ChatGPT重写这些字幕,以创建详细而生动的描述。ii).构造一组高质量的图像-文本对以用于进一步的微调。这组图像-文本对用于细化模型。
LLaVA [46]
LLaVA[46]和MiniGPT-4是相似的,因为它们都旨在实现多模态指令的微调。
然而,它们在数据生成和训练策略方面有所不同,导致了LLaVA模型的发展。在数据生成中,LLaVA利用GPT-4创建各种指令微调数据,包括多回合QA、图像描述和复杂推理任务。这确保了模型能够处理广泛的查询。由于GPT-4的当前接口只接受文本输入,因此需要将图像信息转换为文本格式。本研究使用为COCO数据集中的每个图像提供的五个标题和边界框坐标作为输入到GPT-4的文本描述。
关于训练策略,LLaVA采用两阶段方法。i) 根据特定规则,使用从cc3m数据集过滤的600000个图像-文本对对对模型进行了微调。微调过程冻结了视觉和语言模型,只专注于微调线性层。ii)使用上述数据生成策略,生成160000个指令微调数据样本。然后使用语言模型丢失对模型进行进一步的微调。在这个阶段,视觉模型被冻结,线性层和语言模型都被微调。
PICa
PICa[47]是第一次尝试使用LLM来解决VQA任务。其目的是使LLM能够理解和处理图像信息。为了实现这一点,先前的研究采用了字幕模型将图像转换为相应的文本描述。然后,将标题和问题一起输入GPT-3,形成三元组(问题、标题、答案),并利用上下文学习来训练GPT-3回答新问题。在为数不多的情境学习场景中,PICa取得了比 Frozen 更好的成绩,但仍落后于Flamingo。这可归因于在将图像转换为字幕期间视觉信息的丢失。
视觉信息在回答问题中起着至关重要的作用,将图像转换为文本的过程不可避免地会导致视觉细节和语义的损失,从而限制模型的性能。
PNP-VQA
PNP-VQA[48]利用字幕模型和预训练语言模型(PLM)来处理VQA任务。然而,在PLM的选择方面,它与PICa不同,因为它采用了一个名为UnifiedQAv2的问答模型。PNP-VQA专注于实现零样本VQA能力。为了解决字幕中图像信息丢失的问题,PNPVQA在生成字幕之前引入了图像问题匹配模块。该模块识别图像中与给定问题最相关的补丁。然后专门为这些选定的补丁生成字幕。这些标题补丁对,以及原始问题,被用作上下文,并被输入到UnifiedQAv2模型中。这种方法通过结合相关的图像补丁作为上下文,确保生成的字幕与问题密切相关。通过结合图像问题匹配模块并利用UnifiedQAv2作为PLM,PNP-VQA旨在提高生成的VQA字幕的相关性和准确性。这种策略允许模型有效地利用图像和问题信息,以便生成更具上下文相关性的答案。
Img2LLM
Img2LLM[49]旨在解决将LLM用于VQA任务时的两个主要问题: 1) 模态断开,LLM无法有效处理视觉信息;2) 任务断开,通过文本生成预先训练的LLM在没有微调的情况下难以使用VQA的字幕。为了克服这两问题,作者建议通过(问答)对传递视觉信息。具体地,该方法涉及使用字幕模型或类似于PNP-VQA的方法来生成图像的字幕。从这些字幕(captions)中,可以提取出可能作为某些问题答案的相关单词,如名词和形容词。随后,使用问题生成模型来生成相应的问题,从而创建问题
,回答
对。这些配对在上下文学习中起到示范作用,帮助LLM回答有关给定图像的问题。通过问答
对传输视觉信息,Img2LLM解决了模态断开和任务断开问题,使LLM能够更好地利用视觉信息执行VQA任务。
术语
- VQA:自由形式和开放式视觉问答
- PNP-VQA:Plug-and-Play VQA, 零样本训练的VQA