文章目录
- 前言
- 一、多模态模型基础知识
- 二、多模态指令调优(M-IT)
- 1.MLLM基础
- 2.模态对齐
- 3.数据获取
- 4.模态桥接
- 三、多模态上下文学习(M-ICL)
- 三、多模态思维链 (M-CoT)
- 四、LLM辅助视觉推理
- 1.训练范式
- 2. LLM功能
- 五、一些思考
- 总结
前言
paper:A Survey on Multimodal Large Language Models
近年来,以GPT-4V为代表的多模态大语言模型(Multimodal Large Language Model, MLLM)成为一个新兴的研究热点。它使用强大的大型语言模型(llm)作为大脑来执行多模态任务。其表现出令人惊讶的突发能力,如基于图像和无ocr的数学推理编写故事,在传统的多模态方法中很少见。
文章跟踪并总结MLMM的最新进展。论文讨论关键技术和应用,包括多模态指令调优(M-IT)、多模态上下文学习(M-ICL)、多模态思维链(M-CoT)和LLM辅助视觉推理(LAVR) 。最后,论文讨论了现有的挑战并指出了有前途的研究方向。
一、多模态模型基础知识
本文将最近具有代表性的 MLLM 分为四种主要类型:
1) 多模态指令调优 (M-IT)
2) 多模态上下文学习 (M-ICL)
3) 多模态思维链 (M-CoT)
4) LLM 辅助视觉推理 (LAVR) )
前三者构成了MLLM的基础,而最后一个则是以LLM为核心的多模态体系。
二、多模态指令调优(M-IT)
指令调优简单来说就是在指令格式数据集上微调预训练的LLM。通过这种方式进行调整,LLM 可以通过遵循新指令泛化到未见过的任务,从而提高零样本性能。
1.MLLM基础
多模态指令样本通常包括指令和输入输出对。该指令通常是描述任务的自然语言句子,例如“详细描述图像”。输入可以是图像-文本对,如视觉问答(VQA)任务,或仅图像,如图像字幕任务。输出是对以输入为条件的指令的答案。指令模板是灵活的,并且可以进行手动设计,如下表所示。形式上,多模态指令样本可以用三元组形式表示,即(I,M,R),其中I,M,R分别表示指令,多模态输入和真实响应。
模型在推理和训练时的策略保持和LLM一致,推理时输出的每个字基于之前输出的字符进行推理。训练目标通常是用于训练 LLM 的原始自回归目标。
2.模态对齐
通常对成对数据进行大规模(与Instruction tuning相比)的预训练,以鼓励不同模态之间的对齐。对齐数据集通常是图像-文本对或自动语音识别(ASR)数据集,它们都包含文本。更具体地说,图像-文本对以自然语言句子的形式描述图像,而ASR数据集包含语音的转录。对齐预训练的一种常见方法是保持预训练模块(例如视觉编码器和LLM)冻结,并训练一个可学习的接口。
3.数据获取
多模态指令跟踪数据的收集是M-IT技术的关键。这些收集方法可以大致分为Benchmark Adaptation、Self-Instruction和Hybrid Composition。
- Benchmark Adaptation: 基准数据集是高质量数据的丰富来源。因此,大量的研究工作利用现有的基准数据集来构建指令格式的数据集。以VQA数据集的转换为例,原始样本是一个输入输出对,其中输入包括一个图像和一个自然语言问题,输出是以图像为条件的问题的文本答案。这些数据集的输入-输出对可以很自然地包含指令样本的多模态输入和响应。这些指令,即对任务的描述,既可以来自手动设计,也可以来自GPT辅助下的半自动生成。具体来说,一些工作是用手工制作一个候选指令池,并在培训期间取样其中一个。
我们提供了一个VQA数据集的指令模板示例,如表所示。其他的工作是手动设计一些种子指令,并使用这些指令提示GPT生成更多。
由于现有的VQA和标题数据集的答案通常是简洁的,因此直接使用这些数据集进行指令微调可能会限制MLLM的输出长度。有两个常见的策略来解决这个问题。第一个方法是修改指令。例如,ChatBridge 明确地为短答数据声明简短的内容,以及为标题数据声明一个句子和单个句子。第二个方法是扩展现有答案的长度。例如, 通过使用原始问题、答案和上下文提示ChatGPT来重新表述原始问题、答案和上下文提示。
- Self-Instruction:为了满足人类在现实世界场景中的需求,一些工作通过自指令收集样本,该工作引导LLM,使用一些手工注释的样本生成文本指令跟踪数据。**具体来说,一些指令后面的样本是手工制作的种子示例,然后提示ChatGPT/GPT-4以种子样本为指导,生成更多的指令样本。LLaVA 通过将图像转换到标题和边界框的文本中,并促使GPT-4在种子示例的上下文中生成新的数据。**通过这种方式,构建一个M-IT数据集,称为LLaVA-Deult-150k。根据这个想法,随后的工作如MiniGPT-4、ChatBridge、GPT4Tools和DetGPT 根据不同的需求开发了不同的M-IT数据集。
- Hybrid Composition:LaVIN直接通过从纯语言和M-IT数据中随机抽样构成了mini-batch。多指令通过单模态和多模态数据的融合来探索不同的训练策略。
4.模态桥接
由于LLMs只能感知文本,因此有必要弥合自然语言和其他模态之间的差距。然而,以端到端的方式训练大型多模态模型成本高昂。此外,这样做会面临灾难性遗忘的风险。因此,更实用的方法是在预训练的视觉编码器和LLM之间引入可学习的接口。另一种方法是借助专家模型将图像翻译成语言,然后将语言发送给LLM。
1)可学习接口:可学习接口负责在冻结预训练模型的参数时连接不同的模态。一种常见且可行的解决方案是利用一组可学习的查询标记以基于查询的方式提取信息,该解决方案首先在 Flamingo 和 BLIP-2 中实现。
一些方法使用基于投影的接口来缩小模态差距(简单来说就是对图像特征做进一步变换)。例如,LLavA 采用简单的线性层来嵌入图像特征,MedVInTTE 使用两层多层感知器作为桥梁。还有一些作品探索了参数高效的调整方式。 LLaMA-Adapter 在训练过程中在 Transformer 中引入了一个轻量级适配器模块。 LaVIN设计了一种混合模态适配器来动态决定多模态嵌入的权重。
2)专家模型:除了可学习的接口之外,使用专家模型也是弥合模态差距的可行方法。不同的是,专家模型背后的想法是将多模态输入转换为语言而无需训练。通过这种方式,LLMs可以通过转换后的语言间接理解多模态。例如,VideoChat-Text 使用预先训练的视觉模型来提取动作等视觉信息,并使用语音识别模型丰富描述。尽管使用专家模型很简单,但它可能不如采用可学习界面那么灵活。将外来形式转换为文本通常会导致信息丢失。正如 VideoChat-Text 指出的那样,将视频转换为文本描述会扭曲时空关系。
三、多模态上下文学习(M-ICL)
ICL是LLM的重要突发性能力之一。具体来说,在ICL设置中,LLM从几个示例和可选指令中学习,并推断新问题,从而以少量的方式解决复杂和看不见的任务。ICL通常以无训练的方式来实现,因此可以在推理阶段灵活地集成到不同的框架中。
在推理时,M-ICL可以通过向原始样本中添加一个演示集,即一组上下文内的样本来实现。在这种情况下,模板可以如表所示进行扩展。请注意,我们列出了两个上下文中的示例来进行说明,但是示例的数量和顺序可以灵活地调整。事实上,模型通常对演示的安排很敏感。
在多模态中的应用方面,M-ICL主要用于两种场景:
(1)解决各种视觉推理任务, 通常包括从一些特定于任务的例子中学习,并推广到一个新的但相似的问题。从指令和演示中提供的信息中,LLM可以了解到任务正在做什么和输出模板是什么,并最终生成预期的答案。
(2)教学LLM使用外部工具。相比之下,工具使用的示例通常是文本的,而且更精确。它们通常包括一系列步骤,可以按顺序执行来完成任务。
三、多模态思维链 (M-CoT)
CoT是“一系列中间推理步骤”,已被证明在复杂推理任务中是有效的。 CoT的主要思想是促使LLM不仅输出最终答案,而且输出导致答案的推理过程,类似于人类的认知过程。
获取M-CoT能力有以下几个方面需要注意:
1)获取 M-CoT 能力的方法大致有三种,即通过微调和免训练的少样本/零样本学习。三种方式的样本量要求按降序排列。
2)链配置是推理的一个重要方面,可以分为自适应和预定义的形式。前一种配置要求 LLM 自行决定何时停止推理链,而后一种设置则以预定义的长度停止推理链。
3)在生成模式方面,论文将当前的工作总结为**(1)基于填充的模式和(2)基于预测的模式**。具体来说,基于填充的模式需要在周围上下文(之前和之后的步骤)之间推导步骤来填补逻辑间隙。相反,基于预测的模式需要在给定条件(例如指令和先前的推理历史)的情况下扩展推理链。两种类型的模式都要求生成的步骤一致且正确。
四、LLM辅助视觉推理
受工具增强LLMs成功的启发,一些研究探索了调用外部工具或视觉基础模型进行视觉推理任务的可能性。将LLM作为具有不同角色的助手,这些工作构建特定于任务的或通用的视觉推理系统。
所谓辅助视觉推理,本质就是借助LLM的相关信息作为补充来强化视觉任务
与传统的视觉推理模型相比,这些工作表现出几个良好的特征:
(1)较强的泛化能力。这些系统配备了从大规模预训练中获得的丰富的开放世界知识,可以很容易地推广到具有显著表现的零\小样本中看不见物体或概念。
(2)应急能力。借助于强大的推理能力和丰富的LLM知识,这些系统能够执行复杂的任务。
(3)更好的交互性和控制性。传统的模型通常允许一组有限的控制机制,并且通常需要昂贵的管理数据集。相比之下,基于LLM的系统能够在用户友好的界面中进行精细的控制。
1.训练范式
根据训练范式,LLM辅助的视觉推理系统可分为无训练和微调两种类型。
1)Training-free
在预先训练的LLM中存储了丰富的先验知识,一种直观而简单的方法是冻结预先训练的模型,并直接提示LLM满足各种需求。根据设置,推理系统可以进一步分为小样本模型和零样本模型。少样本模型需要一些手工制作的上下文示例,以指导LLM生成一个程序或一系列执行步骤。零样本模型通过直接利用LLM的语言/语义知识或推理能力更进一步。
2)Finetuning
收集了一个新的与任务相关的指令数据集,并用于微调模型。
2. LLM功能
为了进一步研究LLM在LLM辅助视觉推理系统中所扮演的角色,我们将现有的相关工作分为三种类型:
1)LLM as a Controller
2)LLM as a Decision Maker
3)LLM as a Semantics Refiner
前两个角色,即控制器和决策者,都与CoT有关。它经常被使用,因为复杂的任务需要被分解为中间的、更简单的步骤。当LLM作为控制器时,系统通常在单轮任务中完成任务,而多轮任务在决策者中更为常见。我们将在下面的部分中描述llm如何扮演这些角色。
1、LLM as a Controller
在这种情况下,LLM充当一个中央控制器将一个复杂的任务分解为更简单的子任务/步骤,以及将这些任务分配给适当的工具/模块。例如,程序提示GPT-3输出一个可视化程序,其中每个程序行调用一个模块来执行子任务。为了处理这些复杂的需求,一些手工制作的上下文中的例子示例被用作引用。这与推理链的优化密切相关,或者更具体地说,是从最少到最多的提示的技术。通过这种方式,复杂的问题被分解成子问题,然后依次得到解决。
2、LLM as a Decision Maker
在这种情况下,复杂的任务以多轮的方式解决,通常以迭代的方式。决策者经常履行以下职责: (1)总结当前的上下文和历史信息,并决定在当前步骤中可用的信息是否足以回答问题或完成任务;(2)组织和总结答案,以一种用户友好的方式呈现它。
3、LLM as a Semantics Refiner
当LLM被用作语义精炼器时,研究人员主要利用他们丰富的语言学和语义知识。具体来说,LLM经常被要求将信息整合到一致和流畅的自然语言句子中,或者根据不同的特定需求生成文本。
五、一些思考
个人觉得其实多模态整体两个方向,如下:
首先是偏向nlp的多模态问答任务,其中主要的问题在于模态对齐和多模态数据集构建,这些问题如果能够解决,一个基本的多模态问答模型即可成型,这就基本的M-IT。而对于相对更加复杂精细的推理任务,则需要更复杂的trick和策略,比如M-ICL,M-CoT,但大都也不需要很高的训练成本。
其次是偏向cv的LLM辅助推理任务,LLM因其丰富的语义能够有效协助cv的各种任务,但这种辅助通常需要研究者进行精细的策略思考,该如何应用LLM,是直接用,还是说按照某种格式去用。
总结
文章对MLLM文献进行了调查,并提供了其主要方向的广泛观点,包括三种常见技术(M-IT、M-ICL和MCoT)和构建任务解决系统的通用框架(LAVR)。此外,文章强调了目前有待填补的研究空白,并指出了一些有前景的研究方向(博文中未写该部分,感兴趣可以看看原文)。