多模态大型语言模型(MLLM)综述 原创 精华

发布于 2024-7-1 13:16
浏览
0收藏

摘要—最近,以GPT-4V为代表的多模态大型语言模型(MLLM)已成为新兴的研究热点,它使用强大的大型语言模型(LLMs)作为“大脑”来执行多模态任务。MLLM出人意料的涌现能力,如基于图像编写故事和无需OCR的数学推理,是传统多模态方法中罕见的,这表明了一条通往人工通用智能的潜在路径。为此,学术界和工业界都致力于开发能够与GPT-4V竞争甚至超越的MLLM,以惊人的速度推动研究的极限。在本文中,我们旨在追踪并总结MLLM的最新进展。首先,我们介绍了MLLM的基本公式,并概述了与其相关的概念,包括架构、训练策略和数据,以及评估。然后,我们介绍了关于如何扩展MLLM以支持更细粒度、模态、语言和场景的研究主题。我们继续讨论多模态幻觉和扩展技术,包括多模态ICL(M-ICL)、多模态CoT(M-CoT)和LLM辅助视觉推理(LAVR)。为了结束本文,我们讨论了现有的挑战并指出了有希望的研究方向。鉴于MLLM时代才刚刚开始,我们将不断更新这份综述,并希望它能激发更多的研究。相关的GitHub链接收集了最新的论文,可在​​https://github.com/BradyFU/Awesome-Multimodal-Large-Language-Models​​​找到。

(注释:"无需OCR的数学推理"指的是系统能够直接理解和处理数学内容,而无需首先通过光学字符识别(Optical Character Recognition,OCR)技术将手写或印刷的数学符号转换为机器可读的格式。OCR是一种将图像中的文本转换为机器编码文本的技术,它广泛应用于将纸质文档数字化。然而,OCR在处理复杂的数学符号和公式时可能会遇到困难,因为这些符号的结构和形状可能与普通字母数字字符不同,OCR算法可能难以准确识别。模型能够跳过将数学内容转换为文本的步骤,直接在视觉层面上处理数学信息,这可以提高处理速度和准确性,并且减少因OCR错误而导致的问题。

多模态上下文学习(Multimodal In-Context Learning,M-ICL)结合了自然语言处理(NLP)和计算机视觉(CV)等领域的知识,使模型能够理解和处理包含多种类型信息(如文本、图像、音频等)的数据。上下文学习是指模型利用给定上下文中的信息来指导其学习和推理过程。在M-ICL中,这通常意味着模型会考虑输入的多模态信息,以及它们之间的关系和上下文,来生成输出或做出决策。)

1 引言

近年来,大型语言模型(LLMs)取得了显著的进展[1]、[2]、[3]、[4]、[5]。通过扩大数据规模和模型规模,这些LLMs展现出了非凡的涌现能力,通常包括指令跟随[5]、[6]、上下文学习(ICL)[7]和思维链(CoT)[8]。尽管LLMs在大多数自然语言处理(NLP)任务上展示了惊人的零样本/少样本推理性能,但它们本质上对视觉是“盲目”的,因为它们只能理解离散的文本。同时,大型视觉模型(LVMs)可以清晰地“看”[9]、[10]、[11]、[12],但通常在推理上落后。

鉴于这种互补性,LLM和LVM相互靠近,引领了多模态大型语言模型(MLLM)的新领域。正式来说,它指的是基于LLM的模型,具有接收、推理和输出多模态信息的能力。在MLLM之前,已经有很多工作致力于多模态性,可以分为判别性[13]、[14]、[15]和生成性[16]、[17]、[18]范式。CLIP[13]作为前者的代表,将视觉和文本信息投影到统一的表示空间,为下游多模态任务搭建了桥梁。相比之下,OFA[16]是后者的代表,它以序列到序列的方式统一多模态任务。根据序列操作,MLLM可以被归类为后者,但与传统对应物相比,它表现出两个代表性特征:(1)MLLM基于具有十亿级参数规模的LLM,这在以前的模型中是不可用的。

(2)MLLM使用新的训练范式来释放其全部潜力,例如使用多模态指令调整[19]、[20]来鼓励模型遵循新的指令。

凭借这两个特征,MLLM展现出新的能力,例如基于图像编写网站代码[21],理解梗的深层含义[22],以及无需OCR的数学推理[23]。

自从GPT-4[3]发布以来,由于它展示的惊人多模态示例,MLLMs的研究热潮不断。快速发展是由学术界和工业界的努力推动的。MLLMs的初步研究集中在基于文本提示和图像[20]、视频[25]、音频[27]的文本内容生成上。随后的工作已经扩展了能力或使用场景,包括:(1)更好的粒度支持。开发了更精细的对用户提示的控制,以支持通过框[28]或单击[29]特定对象的特定区域。(2)增强的输入和输出模态支持[30]、[31],如图像、视频、音频和点云。除了输入,像NExT-GPT[32]这样的项目进一步支持不同模态的输出。(3)改进的语言支持。已经做出了努力,将MLLMs的成功扩展到其他语言(例如中文)上,这些语言的训练语料相对有限[33]、[34]。(4)扩展到更多领域和使用场景。一些研究将MLLMs的强大能力转移到其他领域,如医学图像理解[35]、[36]、[37]和文档解析[38]、[39]、[40]。此外,开发了多模态代理以协助现实世界交互,例如具身代理[41]、[42]和GUI代理[43]、[44]、[45]。图1展示了MLLM的时间线。

多模态大型语言模型(MLLM)综述 -AI.x社区


图1:代表性多模态大型语言模型(MLLMs)的时间线。我们正在见证这一领域的迅速发展。更多的工作可以在我们发布的GitHub页面上找到,该页面每天都在更新。

鉴于该领域的快速发展和有希望的结果,我们编写了这份综述,为研究人员提供了对MLLMs的基本思想、主要方法和当前进展的把握。请注意,我们主要关注视觉和语言模态,但也包括涉及视频和音频等其他模态的工作。具体来说,我们涵盖了MLLMs最重要的方面,并提供相应的总结,并开放了一个将实时更新的GitHub页面。据我们所知,这是关于MLLM的第一份综述。

综述的后续部分结构如下:综述首先全面回顾了MLLMs的基本方面,包括(1)主流架构(§2);(2)完整的训练策略和数据配方(§3);(3)常见的性能评估实践(§4)。然后,我们深入讨论了一些关于MLLMs的重要话题,每个话题都集中在一个主要问题上:(1)哪些方面可以进一步改进或扩展(§5)?(2)如何缓解多模态幻觉问题(§6)?综述继续介绍了三种关键技术(§7),每种技术都专门用于特定场景:MICL(§7.1)是一种有效的技术,通常在推理阶段使用,以提高少样本性能。另一个重要的技术是M-CoT(§7.2),通常用于复杂的推理任务。然后,我们概述了一个一般性的想法,开发基于LLM的系统来解决复合推理任务或解决常见用户查询(§7.3)。最后,我们以总结和潜在研究方向结束我们的综述。

2 架构

一个典型的多模态大型语言模型(MLLM)可以抽象为三个模块,即预训练的模态编码器、预训练的大型语言模型(LLM),以及连接它们的模态接口。类比于人类,模态编码器如图像/音频,编码器是接收和预处理光学/声学信号的人类眼睛/耳朵,而LLM就像理解并推理处理信号的人类大脑。在两者之间,模态接口用于对齐不同的模态。一些MLLM还包括一个生成器来输出除文本之外的其他模态。架构的图表在图2中绘制。在这一部分,我们依次介绍每个模块。


多模态大型语言模型(MLLM)综述 -AI.x社区

图2:典型多模态大型语言模型(MLLM)架构的示意图。它包括一个编码器、一个连接器和一个大型语言模型(LLM)。可选的生成器可以附加到LLM上,以生成除文本之外的更多模态。编码器接收图像、音频或视频并输出特征,这些特征由连接器处理,以便LLM能更好地理解。大致有三种类型的连接器:基于投影的、基于查询的和基于融合的连接器。前两种类型采用令牌级融合,将特征处理成令牌,与文本令牌一起发送,而最后一种类型在LLM内部实现了特征级融合。

(注释:一个典型的多模态大型语言模型(MLLM)架构的组成部分和它们之间的工作流程。

图片上半部分:

1. 编码器(Encoder):编码器是处理输入数据的组件,它可以接收多种模态的输入,如图像、音频或视频。编码器的任务是将这些原始的多模态数据转换成模型可以理解的特征表示。

2. 连接器(Connector):连接器是连接编码器输出和大型语言模型(LLM)的桥梁。它的主要作用是将编码器输出的特征进一步处理,使其能够与LLM的输入格式兼容,从而让LLM能够更好地理解这些特征。

3. 大型语言模型(LLM):LLM是MLLM的核心,通常是一个预训练的语言模型,负责处理和生成文本。它能够根据输入的文本和其他模态的特征,进行语言理解、生成或推理等任务。

4. 生成器(Generator)(可选):生成器是一个可选组件,它可以附加到LLM上,用于生成除文本之外的其他模态输出,如图像、音频或视频。

图片下半部分,连接器主要分为三种类型:

- 基于投影的连接器(Projection-based):这种连接器将编码器输出的特征投影到与LLM的词嵌入相同的维度空间,使得特征可以直接与文本令牌一起被LLM处理。

- 基于查询的连接器(Query-based):这种连接器使用一组可学习的查询令牌来动态地从编码器输出的特征中提取信息。

- 基于融合的连接器(Fusion-based):这种连接器在LLM内部实现特征级别的融合,允许文本特征和视觉特征在模型内部进行更深入的交互和整合。

整个架构的目的是实现对多模态输入的有效处理和理解,以及在此基础上进行的语言生成或推理任务。)

2.1 模态编码器

编码器将原始信息(如图像或音频)压缩成更紧凑的表示形式。与其从头开始训练,更常见的方法是使用已经与其他模态对齐的预训练编码器。例如,CLIP [13]结合了一个通过在图像-文本对上大规模预训练而与文本语义对齐的视觉编码器。因此,使用这种最初已经预对齐的编码器与LLM通过对齐预训练(见§3.1)对齐更容易。

表1:常用图像编码器的总结。


多模态大型语言模型(MLLM)综述 -AI.x社区

常用的图像编码器系列在表1中总结。除了普通的CLIP图像编码器[13],一些工作还探索使用其他变体。例如,MiniGPT-4 [21]采用了EVA-CLIP [47]、[48](ViT-G/14)编码器,该编码器通过改进的训练技术进行训练。相比之下,Osprey [29]引入了基于卷积的ConvNext-L编码器[46]以利用更高分辨率和多级特征。一些工作还探索了无编码器架构。例如,Fuyu-8b [49]的图像块在发送到LLM之前直接被投影。因此,模型自然支持灵活的图像分辨率输入。在选择编码器时,人们通常会考虑分辨率、参数大小和预训练语料库等因素。

值得注意的是,许多工作已经通过实证验证,使用更高分辨率可以实现显著的性能提升[34]、[50]、[51]、[52]。扩大输入分辨率的方法可以分为直接缩放和块分割方法。直接缩放的方式将更高分辨率的图像输入到编码器,通常涉及进一步调整编码器[34]或用更高分辨率的预训练编码器替换[50]。类似地,CogAgent [44]使用双编码器机制,其中两个编码器分别处理高分辨率和低分辨率图像。通过交叉注意力将高分辨率特征注入到低分辨率分支中。块分割方法将高分辨率图像切成块,并重用低分辨率编码器。例如,Monkey [51]和SPHINX [53]将大图像分成较小的块,并将子图像与下采样的高分辨率图像一起发送到图像编码器,其中子图像和低分辨率图像分别捕获局部和全局特征。相比之下,参数大小和训练数据组成与输入分辨率相比不那么重要,这是通过实证研究发现的[52]。

其他模态也有类似的编码器。例如,Pengi [27]使用CLAP [54]模型作为音频编码器。ImageBind-LLM [30]使用ImageBind [55]编码器,支持编码图像、文本、音频、深度、热成像和惯性测量单元(IMU)数据。配备强大的编码器,ImageBind-LLM可以响应多种模态的输入。

2.2 预训练LLM

与其从头开始训练一个LLM,更有效和实用的方法是从一个预训练的模型开始。通过在网络语料库上进行巨大的预训练,LLM已经嵌入了丰富的世界知识,并展示了强大的泛化和推理能力。

我们在表2中总结了常用的和公开可用的LLM。值得注意的是,大多数LLM属于因果解码器类别,遵循GPT-3 [7]。其中,FlanT5 [56]系列是在BLIP-2 [59]和InstructBLIP [60]等工作中使用的相对早期的LLM。LLaMA系列[5]、[57]和Vicuna家族[4]是吸引了大量学术关注的代表性开源LLM。由于这两个LLM主要在英文语料库上预训练,它们在多语言支持上受到限制,例如中文。相比之下,Qwen [58]是一个支持中文和英文的双语LLM。

表2:常用开源大型语言模型的总结。en、zh、fr和de分别代表英语、中文、法语和德语。


多模态大型语言模型(MLLM)综述 -AI.x社区

值得注意的是,扩大LLM的参数大小也会带来额外的收益,类似于增加输入分辨率的情况。具体来说,Liu等人[50]、[61]发现,将LLM从7B简单扩大到13B在各种基准测试上带来了全面的改进。此外,当使用34B LLM时,模型显示出在训练期间仅使用英文多模态数据时的零样本中文能力。Lu等人[62]通过将LLM从13B扩大到35B和65B/70B,发现更大的模型大小在专门为MLLM设计的基准测试上带来了一致的收益。

也有一些工作使用较小的LLM以便于在移动设备上部署。例如,MobileVLM系列[63]、[64]使用缩小的LLaMA [5](称为MobileLLaMA 1.4B/2.7B),实现在移动处理器上的高效推理。

最近,对LLM的专家混合(MoE)架构的探索引起了越来越多的关注[65]、[66]、[67]。与密集模型相比,稀疏架构通过选择性激活参数,实现了在不增加计算成本的情况下扩大总参数大小的能力。实证上,MM1 [52]和MoE-LLaVA [68]发现MoE实现在几乎所有基准测试上的性能优于密集对应物。

2.3 模态接口

由于LLM只能感知文本,因此有必要弥合自然语言与其他模态之间的差距。然而,以端到端的方式训练一个大型多模态模型将耗费巨大。更实际的方法是在预训练的视觉编码器和LLM之间引入一个可学习的连接器。另一种方法是利用专家模型,如图像字幕模型,将图像翻译成语言,然后将语言发送到LLM。

可学习的连接器。它负责弥合不同模态之间的差距。具体来说,该模块将信息投影到LLM可以高效理解的空间中。根据多模态信息的融合方式,大致有两种实现此类接口的方法,即令牌级和特征级融合。

对于令牌级融合,编码器输出的特征被转换为令牌,并与文本令牌连接,然后发送到LLM。一个常见且可行的解决方案是利用一组可学习的查询令牌以基于查询的方式提取信息[69],这首先在BLIP-2 [59]中实现,随后被多种工作[26]、[60]、[70]继承。这种Q-Former风格的方法是将视觉令牌压缩成较少数量的表示向量。相反,一些方法简单地使用基于MLP的接口来弥合模态差距[20]、[37]、[71]、[72]。例如,LLaVA系列采用一个/两个线性MLP[20]、[50]来投影视觉令牌,并将特征维度与词嵌入对齐。

在相关话题上,MM1 [52]对连接器的设计选择进行了消融,并发现对于令牌级融合,模态适配器的类型远不如视觉令牌的数量和输入分辨率重要。尽管如此,Zeng等人[73]比较了令牌级和特征级融合的性能,并实证揭示了令牌级融合变体在VQA基准测试中的性能更好。关于性能差距,作者建议交叉注意力模型可能需要更复杂的超参数搜索过程才能达到可比的性能。

作为另一条线,特征级融合插入额外的模块,使文本特征和视觉特征之间能够进行深度交互和融合。例如,Flamingo [74]在LLM的冻结Transformer层之间插入额外的交叉注意力层,从而用外部视觉线索增强语言特征。类似地,CogVLM [75]在每个Transformer层中插入一个视觉专家模块,以实现视觉和语言特征之间的双重交互和融合。为了更好的性能,引入模块的QKV权重矩阵是从预训练的LLM初始化的。类似地,LLaMA-Adapter [76]在Transformer层中引入可学习的提示。这些提示首先嵌入视觉知识,然后作为前缀与文本特征连接。

在参数大小方面,可学习的接口通常与编码器和LLM相比只占一小部分。以Qwen-VL [34]为例,Q-Former的参数大小约为0.08B,占整个参数的不到1%,而编码器和LLM分别占约19.8%(1.9B)和80.2%(7.7B)。

专家模型。除了可学习的接口外,使用专家模型,如图像字幕模型,也是弥合模态差距的一种可行方式[77]、[78]、[79]、[80]。基本思想是在不训练的情况下将多模态输入转换为语言。通过这种方式,大型语言模型(LLMs)可以通过转换后的语言理解多模态性。例如,VideoChat-Text[25]使用预训练的视觉模型提取动作等视觉信息,并使用语音识别模型丰富描述。尽管使用专家模型的方法很直接,但可能不如采用可学习的接口那样灵活。将外来模态转换为文本会导致信息丢失。例如,将视频转换为文本描述会扭曲空间-时间关系[25]。

3 训练策略和数据

一个成熟的多模态大型语言模型(MLLM)经历三个训练阶段,即预训练、指令调整和对齐调整。每个训练阶段需要不同类型的数据,并实现不同的目标。在本节中,我们讨论训练目标,以及每个训练阶段的数据收集和特点。

3.1 预训练

3.1.1 训练细节

作为第一阶段的训练,预训练主要旨在对齐不同的模态并学习多模态世界知识。预训练阶段通常涉及大规模文本配对数据,例如字幕数据。通常,字幕对以自然语言句子描述图像/音频/视频。

这里,我们考虑一个常见的场景,即MLLMs被训练以对齐视觉与文本。如表3所示,给定一张图像,模型被训练以自回归方式预测图像的字幕,遵循标准的交叉熵损失。预训练的一个常见方法是保持预训练模块(例如视觉编码器和LLMs)固定,并训练一个可学习的接口[20]、[35]、[72]。这个想法是在不丢失预训练知识的情况下对齐不同的模态。一些方法[34]、[81]、[82]也解除了更多模块(例如视觉编码器)的冻结,以使更多的可训练参数用于对齐。需要注意的是,训练方案与数据质量密切相关。


多模态大型语言模型(MLLM)综述 -AI.x社区

表3:一个用于结构化标题数据的简化模板。{<image>} 是视觉标记的占位符,{caption} 是图片的标题。请注意,只有标记为红色的部分用于损失计算。

对于简短和嘈杂的字幕数据,可以采用较低分辨率(例如224)以加快训练过程,而对于更长和更清洁的数据,最好使用更高的分辨率(例如448或更高)以减少幻觉。此外,ShareGPT4V[83]发现,在预训练阶段使用高质量的字幕数据时,解锁视觉编码器促进了更好的对齐。

3.1.2 数据

预训练数据主要有两个目的,即(1)对齐不同的模态和(2)提供世界知识。预训练语料库可以根据粒度分为粗粒度和细粒度数据,我们将依次介绍。我们在表4中总结了常用的预训练数据集。


多模态大型语言模型(MLLM)综述 -AI.x社区

粗粒度字幕数据有一些共同的典型特征:(1)数据量大,因为样本通常来源于互联网。(2)由于网络爬取的特性,字幕通常简短且嘈杂,因为它们来自网络图像的alt文本。这些数据可以通过自动工具进行清洗和过滤,例如,使用CLIP[13]模型过滤掉图像-文本对的相似度低于预定义阈值的样本。接下来,我们介绍一些代表性的粗粒度数据集。

CC. CC-3M[84]是一个包含3.3M图像-字幕对的网络规模字幕数据集,原始描述来源于与图像关联的alt文本。作者设计了一个复杂的数据清洗流程:(1)对于图像,过滤掉不适当的内容或纵横比的图像。(2)对于文本,使用NLP工具获取文本注释,并根据设计好的启发式规则过滤样本。(3)对于图像-文本对,通过分类器给图像分配标签。如果文本注释与图像标签不重叠,相应的样本将被丢弃。CC-12M[85]是CC-3M的后续工作,包含12.4M图像-字幕对。与之前的工作相比,CC-12M放宽并简化了数据收集流程,因此收集了更多的数据。

SBU字幕[86]。它是一个包含1M图像-文本对的带字幕的照片数据集,图像和描述来自Flickr。具体来说,通过使用大量查询词查询Flickr网站获得一组初始图像。附加在图像上的描述因此作为字幕。然后,为确保描述与图像相关,保留的图像满足这些要求:(1)图像的描述长度令人满意,由观察决定。(2)图像的描述至少包含预定义词汇列表中的2个词和通常暗示空间关系的命题词(例如“on”,“under”)。

LAION。这个系列是大型网络规模数据集,图像从互联网上爬取,并将相关的alt文本作为字幕。为了过滤图像-文本对,执行了以下步骤:(1)文本长度过短或图像大小太小或太大的被丢弃。(2)基于URL的图像去重。(3)提取CLIP[13]嵌入图像和文本,并使用嵌入丢弃可能的非法内容以及嵌入之间余弦相似度低的图像-文本对。在这里,我们简要总结一些典型的变体:

• LAION-5B[87]:这是一个研究用数据集,包含5.85B图像-文本对。数据集是多语言的,有一个2B的英语子集。

• LAION-COCO[88]:它包含从LAION-5B的英语子集提取的600M图像。字幕是合成的,使用BLIP[89]生成各种图像字幕,并使用CLIP[13]选择最适合图像的字幕。

COYO-700M[90]。它包含747M图像-文本对,这些是从CommonCrawl中提取的。为了数据过滤,作者设计了以下策略:(1)对于图像,过滤掉不适当的大小、内容、格式或纵横比的图像。此外,基于pHash值过滤图像,以去除与公共数据集(如ImageNet和MS-COCO)重叠的图像。(2)对于文本,只保存长度令人满意、名词形式和适当词汇的英文文本。将删除句子前后的空白,并将连续的空白字符替换为单个空白。此外,出现超过10次的文本(例如“image for”)将被丢弃。(3)对于图像-文本对,基于(图像pHash,文本)元组去除重复样本。

最近,更多工作[83]、[91]、[92]探索了通过提示强大的MLLMs(例如GPT-4V)生成高质量的细粒度数据。与粗粒度数据相比,这些数据通常包含更长、更准确的图像描述,从而实现更细粒度的图像和文本模态之间的对齐。然而,由于这种方法通常需要调用商业用途的MLLMs,成本更高,数据量相对较小。值得注意的是,ShareGPT4V[83]通过首先使用GPT-4V生成的100K数据训练字幕生成器,然后使用预训练的字幕生成器将数据量扩大到1.2M,实现了平衡。

3.2 指令微调

3.2.1 介绍

指令指的是对任务的描述。直观地说,指令微调旨在教模型更好地理解用户的指令并完成所需的任务。通过这种方式微调,LLM(大型语言模型)可以通过遵循新指令来泛化到未见过的任务,从而提升零样本性能。这个简单而有效的想法引发了后续NLP工作的成功,例如ChatGPT [2]、InstructGPT [95]、FLAN [19]、[56] 和 OPT-IML [96]。指令微调与相关典型学习范式的比较如图3所示。监督微调方法通常需要大量特定任务的数据来训练特定任务的模型。提示工程方法减少了对大规模数据的依赖,可以通过提示工程完成专门任务。在这种情况下,尽管少样本性能有所提高,但零样本性能仍然相当普通[7]。与此不同,指令微调学习如何泛化到未见过的任务,而不是像其他两种方法那样拟合特定任务。此外,指令微调与多任务提示高度相关[97]。


多模态大型语言模型(MLLM)综述 -AI.x社区

图3:三种典型学习范式的比较。图像来自[19]。

在本节中,我们描述了指令样本的格式、训练目标、收集指令数据的典型方式以及常用的数据集。

3.2.2 训练细节

一个多模态指令样本通常包括一个可选的指令和一个输入输出对。指令通常是描述任务的自然语言句子,例如,“详细描述这张图片。”输入可以是图文对,例如VQA任务[99],也可以仅是图片,例如图像标题任务[100]。输出是根据输入条件生成的指令答案。指令模板是灵活的,可以根据人工设计进行调整[20]、[25]、[98],如表5所示。需要注意的是,指令模板也可以推广到多轮对话的情况[20]、[37]、[71]、[98]。


多模态大型语言模型(MLLM)综述 -AI.x社区

表5:结构化多模态指令数据的简化模板。<instruction>是任务的文本描述。{<image>, <text>}和<output>是数据样本的输入和输出。请注意,对于某些数据集,输入中的<text>可能会缺失,例如图像标题数据集仅有<image>。该示例改编自[98]。

正式地说,一个多模态指令样本可以表示为三元组形式,即 (I, M, R),其中 I、M、R 分别表示指令、多模态输入和真实响应。MLLM 在给定指令和多模态输入的情况下预测一个答案:

A = f(I, M;θ)

这里,A 表示预测的答案,θ 是模型的参数。训练目标通常是用于训练LLM的原始自回归目标[20]、[37]、[71]、[101],基于此,MLLM 被鼓励预测响应的下一个标记。目标可以表示为:


多模态大型语言模型(MLLM)综述 -AI.x社区

其中 N 是真实响应的长度。

3.2.3 数据收集

由于指令数据在格式上更加灵活,任务形式多样,通常收集数据样本更为棘手且成本更高。在本节中,我们总结了三种典型的大规模收集指令数据的方法,即数据适配、自指令和数据混合。

数据适配。任务特定的数据集是高质量数据的丰富来源。因此,许多工作[60]、[70]、[76]、[82]、[101]、[102]、[103]、[104] 利用现有的高质量数据集来构建指令格式化的数据集。以VQA数据集的转换为例,原始样本是一个输入输出对,其中输入包括一张图片和一个自然语言问题,输出是根据图片的文本答案。这些数据集的输入输出对自然地构成了指令样本的多模态输入和响应(见§3.2.2)。指令,即任务的描述,可以来自人工设计或在GPT的帮助下半自动生成。具体来说,一些工作[21]、[35]、[60]、[70]、[102]、[105] 手工制作了候选指令池,并在训练期间从中抽取一个。我们提供了VQA数据集指令模板的示例,如表6所示。其他工作则手动设计了一些种子指令,并使用这些指令来提示GPT生成更多指令[25]、[82]、[98]。需要注意的是,由于现有的VQA和标题数据集的答案通常简短,直接使用这些数据集进行指令微调可能会限制MLLMs的输出长度。有两种常见策略来解决这个问题。第一种是明确在指令中指定。例如,ChatBridge [104] 明确声明对于简短答案数据使用短小简洁,以及对于传统粗粒度标题数据使用一个句子和单个句子。第二种是延长现有答案的长度。例如,M3IT [105] 提议通过提示ChatGPT使用原始问题、答案和图像的上下文信息(例如标题和OCR)来重新措辞原始答案。


多模态大型语言模型(MLLM)综述 -AI.x社区

表6:VQA数据集的指令模板,引用自[60]。<Image> 和 {Question} 分别是原始VQA数据集中的图像和问题。

自指令。尽管现有的多任务数据集可以提供丰富的数据来源,但它们通常不能很好地满足现实世界场景中的人类需求,例如多轮对话。为了解决这个问题,一些工作通过自指令[106] 收集样本,利用LLMs通过少量手动注释的样本生成文本指令跟随数据。具体来说,一些指令跟随样本被手工制作作为演示,然后通过提示ChatGPT/GPT-4生成更多指令样本,并以这些演示作为指导。LLaVA [20] 将这种方法扩展到多模态领域,通过将图像翻译成标题和边界框的文本,并提示仅文本的GPT-4根据要求和演示生成新数据。这样构建了一个多模态指令数据集,称为LLaVA-Instruct-150k。按照这个思路,后续工作如MiniGPT-4 [21]、ChatBridge [104]、GPT4Tools [107] 和DetGPT [72] 开发了满足不同需求的不同数据集。最近,随着更强大的多模态模型GPT-4V的发布,许多工作采用GPT-4V生成更高质量的数据,如LVIS-Instruct4V [91] 和ALLaVA [92]。我们总结了通过自指令生成的流行数据集,如表7所示。


多模态大型语言模型(MLLM)综述 -AI.x社区

表7:自指令生成的流行数据集概述。对于输入/输出模态,I:图像,T:文本,V:视频,A:音频。对于数据组成,M-T和S-T分别表示多轮和单轮。

数据混合。除了多模态指令数据外,仅语言的用户助手对话数据也可以用于提高对话能力和指令跟随能力[81]、[98]、[101]、[103]。LaVIN [101] 通过随机抽取语言和多模态数据直接构建小批量数据。MultiInstruct [102] 探索了使用单模态和多模态数据融合训练的不同策略,包括混合指令微调(结合两种类型的数据并随机打乱)和顺序指令微调(文本数据后接多模态数据)。

3.2.4 数据质量

最近的研究表明,指令微调样本的数据质量与数量同样重要。Lynx [73] 发现,预训练在大规模但噪声较大的图文对上的模型,其性能不如使用较小但更干净的数据集预训练的模型。同样,Wei 等人[108] 发现较少但质量更高的指令微调数据可以实现更好的性能。为了数据过滤,该工作提出了一些评估数据质量的指标,并相应地提出了一种方法来自动过滤出较差的视觉语言数据。在此,我们讨论两个关于数据质量的重要方面。

提示多样性。提示的多样性被发现对模型性能至关重要。Lynx [73] 通过实验证实,多样的提示有助于提高模型的性能和泛化能力。

任务覆盖。关于训练数据中涉及的任务,Du 等人[109] 进行了一项实证研究,发现视觉推理任务在提高模型性能方面优于标题和问答任务。此外,研究表明,增强指令的复杂性可能比增加任务多样性和包含细粒度空间注释更有益。

3.3 对齐微调

3.3.1 介绍

对齐微调通常用于模型需要与特定人类偏好对齐的场景,例如减少幻觉的响应(见第6节)。目前,使用人类反馈的强化学习(RLHF)和直接偏好优化(DPO)是对齐微调的两种主要技术。在本节中,我们依次介绍这两种技术的主要思想,并提供一些它们在解决实际问题中的应用示例,最后汇总相关数据集。

3.3.2 训练细节

RLHF [110],[111]。该技术旨在利用强化学习算法使LLM与人类偏好对齐,训练环节中以人类注释作为监督。以InstructGPT [95] 为例,RLHF 包括三个关键步骤:

1)监督微调。此步骤旨在对预训练模型进行微调,以呈现初步的预期输出行为。RLHF 设置中的微调模型称为策略模型。注意,这一步骤可能会被跳过,因为监督策略模型πSFT可以从指令微调模型初始化(见 §3.2)。

2)奖励建模。在此步骤中,使用偏好对训练奖励模型。给定多模态提示(例如图像和文本)x 和响应对(yw, yl),奖励模型 rθ 学习为偏好的响应 yw给出更高的奖励,反之亦然,如下目标所示:


多模态大型语言模型(MLLM)综述 -AI.x社区

其中 D = (x, yw, yl)是由人类注释者标记的比较数据集。实际上,奖励模型 rθ具有与策略模型相似的结构。

3)强化学习。在此步骤中,采用近端策略优化(PPO)算法来优化RL策略模型 πRLφ。通常在训练目标中加入每个标记的KL惩罚,以避免偏离原始策略太远[95],结果目标为:


多模态大型语言模型(MLLM)综述 -AI.x社区


其中 β是KL惩罚项的系数。通常,RL策略πRFT和参考模型πRLφ都从监督模型 πSFT初始化。

通过这个微调过程,期望获得的RL策略模型与人类偏好对齐。

研究人员已经探索了使用RLHF技术来更好地实现多模态对齐。例如,LLaVA-RLHF [112] 收集人类偏好数据,并基于LLaVA [20] 调整一个减少幻觉的模型。

DPO [113]。它利用一个简单的二元分类损失从人类偏好标签中学习。与基于PPO的RLHF算法相比,DPO免除了学习显式奖励模型的需求,从而简化了整个流程为两个步骤,即人类偏好数据收集和偏好学习。学习目标如下:


多模态大型语言模型(MLLM)综述 -AI.x社区

RLHF-V [114] 通过纠正模型响应中的幻觉,收集了细粒度(片段级别)偏好数据对,并使用获得的数据执行密集的DPO。Silkie [115] 则通过提示GPT-4V收集偏好数据,并通过DPO将偏好监督提炼到一个指令微调模型中。

3.3.3 数据

对齐微调的数据收集要点是收集模型响应的反馈,即决定哪个响应更好。收集此类数据通常更昂贵,并且用于此阶段的数据量通常比前几个阶段使用的数据还少。在本部分,我们介绍了一些数据集并在表8中进行了总结。

表8:用于对齐调优的数据集概述。对于输入/输出模态,I:图像,T:文本。


多模态大型语言模型(MLLM)综述 -AI.x社区

LLaVA-RLHF [112]。它包含10K个根据诚实和有用性收集的人类反馈偏好对。该数据集主要用于减少模型响应中的幻觉。

RLHF-V [114]。它收集了5.7K通过片段级别幻觉纠正的细粒度人类反馈数据。

VLFeedback [115]。它利用AI对模型响应提供反馈。数据集中包含超过380K个由GPT-4V根据有用性、真实性和伦理问题评分的比较对。

4 评估

评估是开发MLLMs(多模态大型语言模型)的重要部分,因为它为模型优化提供反馈并有助于比较不同模型的性能。与传统多模态模型的评估方法相比,MLLMs的评估展示了几个新特征:(1)由于MLLMs通常是多才多艺的,因此全面评估MLLMs非常重要。(2)MLLMs表现出许多需要特别关注的新兴能力(例如无OCR的数学推理),因此需要新的评估方案。MLLMs的评估可以根据问题类型大致分为两类:封闭集和开放集。

4.1 封闭集

封闭集问题指的是一种可能答案选项是预定义且有限的问题类型。评估通常在任务特定的数据集上进行。在这种情况下,可以自然地通过基准指标[20]、[60]、[70]、[76]、[101]、[102]、[103]、[104]来判断响应。例如,InstructBLIP [60] 报告了ScienceQA [116] 的准确性,以及NoCaps [118] 和Flickr30K [119] 的CIDEr得分[117]。评估设置通常是零样本[60]、[102]、[104]、[105]或微调[20]、[35]、[60]、[70]、[76]、[101]、[103]、[105]。前一种设置通常选择覆盖不同一般任务的广泛数据集,并将它们分为保留集和测试集。在前者上进行调优后,在未见过的数据集或任务上评估零样本性能。相比之下,第二种设置通常出现在特定领域任务的评估中。例如,LLaVA [20] 和 LLaMA-Adapter [76] 报告了ScienceQA [116] 上的微调性能。LLaVA-Med [35] 报告了生物医学VQA [120]、[121]、[122]的结果。

上述评估方法通常限于选定任务或数据集的较小范围,缺乏全面的定量比较。为此,一些努力开发了专门为MLLMs设计的新基准[123]、[124]、[125]、[126]、[127]、[128]、[129]。例如,Fu等人[123] 构建了一个综合评估基准MME,包含14个感知和认知任务。MME中的所有指令-回答对均为手动设计,以避免数据泄漏。MMBench [124] 是一个专门设计用于评估模型能力多个维度的基准,使用ChatGPT将开放响应与预定义选项匹配。Video-ChatGPT [130] 和 Video-Bench [131] 关注视频领域,并提出了专门的基准和评估工具进行评估。还有一些评估策略设计用于评估模型的特定方面[102],例如POPE [132] 用于评估幻觉程度。

4.2 开放集

与封闭集问题相比,开放集问题的回答更灵活,MLLMs通常扮演聊天机器人的角色。由于聊天内容可以是任意的,因此判断比封闭式输出更棘手。标准可以分为手动评分、GPT评分和案例研究。手动评分需要人类评估生成的响应。这种方法通常涉及手工制作的问题,旨在评估特定维度。例如,mPLUG-Owl [81] 收集了一个视觉相关的评估集,以判断自然图像理解、图表和流程图理解等能力。类似地,GPT4Tools [107] 分别构建了微调和零样本性能的两个数据集,并从思维、行动、论点和整体上评估响应。

由于手动评估劳动强度大,一些研究人员探索了使用GPT评分的方法。这种方法通常用于评估多模态对话性能。LLaVA [20] 提议通过仅文本的GPT-4从不同方面(如有用性和准确性)对响应进行评分。具体来说,从COCO [133] 验证集中抽取30张图像,每张图像都通过GPT-4自指令关联了一个简短问题、一个详细问题和一个复杂推理问题。模型和GPT-4生成的答案都被发送给GPT-4进行比较。后续工作遵循这一思路,提示ChatGPT [81] 或GPT-4 [35]、[70]、[101]、[104]、[105] 进行评分[35]、[70]、[81]、[101]、[104] 或判断哪个更好[103]。

应用仅文本的GPT-4作为评估者的主要问题是评估仅基于图像相关的文本内容,例如标题或边界框坐标,而没有访问图像[35]。因此,在这种情况下,将GPT-4设为性能上限可能是有问题的。随着GPT视觉接口的发布,一些工作[77]、[134] 利用更先进的GPT-4V模型评估MLLMs的性能。例如,Woodpecker [77] 采用GPT-4V根据图像判断模型答案的响应质量。由于GPT-4V可以直接访问图像,因此这种评估被认为比使用仅文本的GPT-4更准确。

一种补充方法是通过案例研究比较MLLMs的不同能力。例如,一些研究评估了两个典型的高级商用模型GPT-4V和Gemini。Yang等人[135] 通过在各种领域和任务中制作一系列样本,对GPT-4V进行了深入的定性分析,涵盖从基本技能(如标题和对象计数)到需要世界知识和推理的复杂任务(如笑话理解和作为具身代理的室内导航)。Wen等人[136] 通过设计针对自动驾驶场景的样本,更集中地评估了GPT-4V。Fu等人[137] 通过将模型与GPT-4V进行比较,对Gemini-Pro进行了全面评估。结果表明,尽管响应风格不同,GPT-4V和Gemini在视觉推理能力上表现出相当的水平。

5 扩展

最近的研究在扩展MLLMs(多模态大型语言模型)的能力方面取得了显著进展,从更强大的基础能力到更广泛的场景覆盖。我们回顾了MLLMs在这方面的主要发展。

粒度支持。为了促进代理与用户之间的更好互动,研究人员开发了在模型输入和输出方面具有更细粒度支持的MLLMs。在输入方面,支持用户提示更细致控制的模型逐渐发展,从图像到区域[28]、[138]、[139],甚至像素[29]、[140]、[141]。具体来说,Shikra [28] 支持区域级输入和理解。用户可以通过指向自然语言形式的边界框,更灵活地与助手互动。Ferret [141] 更进一步,通过设计一种混合表示方案,支持更灵活的指向。该模型支持不同形式的提示,包括点、框和草图。类似地,Osprey [29] 通过利用分割模型[9] 支持点输入。借助预训练分割模型的出色能力,Osprey 使得只需一次点击即可指定单个实体或其一部分。在输出方面,随着输入支持的发展,定位能力得到了改进。Shikra [28] 支持带有框注释的图像响应,从而提供更高的精度和更细致的指向体验。LISA [142] 进一步支持掩码级理解和推理,使得像素级定位成为可能。

模态支持。对模态支持的增加是MLLM研究的一个趋势。一方面,研究人员探索了使MLLMs支持更多多模态内容输入,例如3D点云[41]、[143]、[144]、[145]。另一方面,MLLMs也扩展了生成更多模态响应的能力,如图像[32]、[146]、[147]、[148],音频[32]、[147]、[149]、[150] 和视频[32]、[151]。例如,NExT-GPT [32] 提出一个框架,支持混合模态的输入和输出,具体来说,是文本、图像、音频和视频的组合,借助于附加在MLLM上的扩散模型[152]、[153]。该框架采用编码器-解码器架构,并将LLM作为理解和推理的枢纽。

语言支持。当前的模型主要是单语的,可能是因为高质量的非英语训练语料稀缺。一些工作致力于开发多语种模型,以覆盖更广泛的用户。VisCPM [33] 通过设计一个多阶段训练方案,将模型能力转移到多语种环境。具体来说,该方案将英语作为关键语言,拥有丰富的训练语料。利用预训练的双语LLM,在指令微调过程中通过添加一些翻译样本将多模态能力转移到中文。采用类似的方法,Qwen-VL [34] 由双语LLM Qwen [58] 开发,支持中文和英文。在预训练过程中,中文数据被混合到训练语料中,以保留模型的双语能力,占整个数据量的22.7%。

场景/任务扩展。除了开发通用助手外,一些研究专注于需要考虑实际条件的特定场景,另一些则将MLLMs扩展到具有特定专业知识的下游任务。

一个典型的趋势是将MLLMs适应更多特定的现实生活场景。MobileVLM [63] 探索开发小尺寸变体的MLLMs以用于资源受限的场景。一些设计和技术用于在移动设备上部署,例如更小尺寸的LLMs和量化技术以加速计算。其他工作开发了与现实世界互动的代理[41]、[154]、[155],例如专为图形用户界面(GUI)设计的用户友好助手,如CogAgent [44]、AppAgent [43] 和 Mobile-Agent [45]。这些助手擅长规划并指导完成用户指定的任务,作为人机交互的有用代理。另一条线是通过注入特定技能来增强MLLMs,以解决不同领域的任务,例如文档理解[38]、[39]、[156]、[157] 和医学领域[35]、[36]、[37]。对于文档理解,mPLUG-DocOwl [38] 利用各种形式的文档级数据进行微调,从而增强了无OCR文档理解模型。TextMonkey [39] 将与文档理解相关的多个任务结合起来,以提高模型性能。除了传统的文档图像和场景文本数据集,还添加了与位置相关的任务,以减少幻觉并帮助模型学习将响应定位在视觉信息中。MLLMs还可以通过灌输医学领域的知识扩展到医学领域。例如,LLaVA-Med [158] 将医学知识注入基础LLaVA [20],开发了一个专注于医学图像理解和问答的助手。

6 多模态幻觉

多模态幻觉是指MLLMs生成的响应与图像内容不一致的现象[77]。作为一个基本而重要的问题,这个问题越来越受到关注。在本节中,我们简要介绍一些相关概念和研究进展。

6.1 初步介绍

当前关于多模态幻觉的研究可以进一步分为三类[159]:

1. 存在幻觉 是最基本的形式,意味着模型错误地声称图像中存在某些物体。

2. 属性幻觉 指的是错误描述某些物体的属性,例如未能正确识别狗的颜色。它通常与存在幻觉相关,因为属性的描述应该基于图像中存在的物体。

3. 关系幻觉 是一种更复杂的类型,也基于物体的存在。它指的是对物体之间关系的错误描述,例如相对位置和交互。

接下来,我们首先介绍一些特定的评估方法(§6.2),这些方法对于评估减少幻觉的方法的性能很有用(§6.3)。然后,我们将根据每种方法的主要类别详细讨论当前减少幻觉的方法。

6.2 评估方法

CHAIR [160] 是一个早期的度量,用于评估开放式标题中的幻觉水平。该度量衡量带有幻觉对象或所有提到对象的句子比例。相比之下,POPE [132] 是一种评估封闭式选择的方法。具体来说,多个带有二元选择的提示被制定,每个提示询问图像中是否存在特定对象。该方法还涵盖了更具挑战性的设置,以评估MLLMs的鲁棒性,同时考虑数据统计。最终评估使用一种简单的关键词机制,即通过检测关键词“是/否”,将开放式响应转换为封闭式二元选择。采用类似的评估方法,MME [123] 提供了更全面的评估,涵盖存在、计数、位置和颜色方面,如[77] 所示。

与以前使用匹配机制检测和决定幻觉的方法不同,HaELM [161] 提出使用仅文本的LLMs作为评判者,自动决定MLLMs的标题是否正确。鉴于仅文本的LLMs只能访问有限的图像上下文并需要参考注释,Woodpecker [77] 使用GPT-4V直接评估基于图像的模型响应。FaithScore [162] 是一个更细粒度的度量,基于一个例程,将描述性子句分解并分别评估每个子句。基于以前的研究,AMBER [163] 是一个不依赖LLM的基准,涵盖辨别任务和生成任务,并涉及三种可能的幻觉类型(见§6.1)。

6.3 缓解方法

根据高层次的想法,目前的方法可以大致分为三类:预修正、过程修正和后修正。

预修正。幻觉的一种直观而直接的解决方案是收集专门的数据(例如负面数据),并使用这些数据进行微调,从而减少幻觉响应的模型。

LRV-Instruction [164] 引入了一个视觉指令微调数据集。除了常见的正面指令外,该数据集还结合了在不同语义层次上精心设计的负面指令,以鼓励响应忠实于图像内容。LLaVA-RLHF [112] 收集人类偏好对并使用强化学习技术进行微调,导致模型更符合减少幻觉的答案。

过程修正。另一条途径是在架构设计或特征表示方面进行改进。这些工作试图探讨幻觉的原因,并在生成过程中设计相应的补救措施来减少幻觉。

HallE-Switch [159] 对对象存在幻觉的可能因素进行了经验分析,并假设存在幻觉源于未被视觉编码器定位的对象,它们实际上是基于嵌入在LLM中的知识推断出来的。基于这一假设,引入了一个连续控制因素和相应的训练方案,以在推理过程中控制模型输出中的想象程度。

VCD [165] 认为对象幻觉源于两个主要原因,即训练语料中的统计偏差和嵌入在LLM中的强语言先验。作者注意到,当向图像注入噪声时,MLLMs倾向于依赖语言先验而不是图像内容进行响应生成,从而导致幻觉。相应地,该工作设计了一种放大-对比解码方案,以抵消错误的偏差。

HACL [166] 调查了视觉和语言的嵌入空间。基于观察,设计了一种对比学习方案,将配对的跨模态表示拉近,同时推开非幻觉和幻觉文本表示。

后修正。不同于以前的范式,后修正以事后补救的方式减少幻觉,并在输出生成后纠正幻觉。Woodpecker [77] 是一个不需要训练的通用幻觉修正框架。具体来说,该方法结合专家模型补充图像的上下文信息,并设计了一个管道逐步纠正幻觉。该方法是可解释的,因为每一步的中间结果都可以检查,对象定位在图像中。另一种方法LURE [167] 训练一个专门的修订器来屏蔽描述中不确定性高的对象,并再次重新生成响应。

7 扩展技术

7.1 多模态上下文学习

ICL(上下文学习)是LLMs的一项重要新兴能力。ICL有两个好的特点:(1)不同于传统的监督学习范式从大量数据中学习隐式模式,ICL的关键在于从类比中学习[168]。具体来说,在ICL设置中,LLMs从一些示例以及可选的指令中学习,并推测新问题,从而以少样本的方式解决复杂和未见过的任务[22]、[169]、[170]。(2)ICL通常以无训练的方式实现[168],因此可以灵活地集成到推理阶段的不同框架中。一项与ICL密切相关的技术是指令微调(见§3.2),实验证明其可以增强ICL能力[19]。

在MLLM的背景下,ICL已扩展到更多模态,形成了多模态ICL(M-ICL)。基于(§3.2)中的设置,在推理时,M-ICL可以通过向原始样本添加一个示例集(即上下文中的示例集)来实现。在这种情况下,模板可以如表9所示扩展。需要注意的是,我们列出了两个上下文示例用于说明,但示例的数量和顺序可以灵活调整。事实上,模型通常对示例的安排敏感[168]、[171]。


多模态大型语言模型(MLLM)综述 -AI.x社区

表9:结构化M-ICL查询模板的简化示例,改编自[98]。为了说明,我们列出了两个上下文示例和一个由虚线分隔的查询。{instruction}和{response}是数据样本中的文本。<image>是表示多模态输入的占位符(在本例中为图像)。<BOS>和<EOS>分别是表示输入到LLM的开始和结束的标记。

7.1.1 ICL能力的改进

最近,越来越多的工作专注于在各种场景下提高ICL性能。在本节中,我们追踪了该领域的发展,并总结了一些相关工作。

MIMIC-IT [172] 通过构建带有多模态上下文的指令数据集,将上下文学习与指令微调结合起来。在引入的数据集上进行指令微调的模型在标题任务中的少样本性能有所提高。Emu [173] 通过在模型生成和相应的训练语料中引入额外的模态,扩展了Flamingo [74] 的想法。在引入的视觉解码器(即Stable Diffusion)的帮助下,模型从额外的视觉监督中学习,并在输出格式和上下文推理中提供更多的灵活性。具体来说,除了以纯文本回答外,模型还可以以图像的形式给出响应。Sheng等人[174] 采用了类似的想法,尝试将输出模态扩展到文本和图像。该工作没有采用专门的图像编码器,而是采用了统一量化方案和共享嵌入层。

一些其他工作探索了在特定设置下提高少样本学习性能的方法。Link-context learning [175] 专注于加强图像-标签对之间的因果联系,通过制定正负图像-描述对来进行对比训练方案。MMICL [176] 旨在增强多张相关图像推理的能力。为了加强图像和文本之间的联系,该工作提出了一种上下文方案,将交织的图像-文本数据转换为统一格式。Jeong [177] 发现,当插入一小部分不相关的图像/文本作为噪声时,MLLMs可能会被误导,给出与上下文不一致的响应。基于这一观察,该工作相应提出了一种预过滤方法,以去除不相关的上下文并促进更连贯的响应。

7.1.2 应用

在多模态应用方面,M-ICL主要用于两种场景:(1)解决各种视觉推理任务[22]、[74]、[178]、[179]、[180],(2)教LLMs使用外部工具[169]、[170]、[181]。前者通常涉及从一些特定任务示例中学习并泛化到一个新的但类似的问题。从指令和示例中提供的信息中,LLMs可以了解任务的执行方式和输出模板,最终生成预期的答案。相比之下,工具使用的示例更为细粒度。它们通常包含一系列可以顺序执行以完成任务的步骤。因此,第二种场景与链式思维(CoT,见§7.2)密切相关。

7.2 多模态链式思维

正如开创性工作[8]指出的那样,CoT(链式思维)是一系列中间推理步骤,已被证明在复杂推理任务中有效[8],[182],[183]。CoT的主要思想是提示LLMs不仅输出最终答案,还输出导致答案的推理过程,类似于人类的认知过程。

受NLP成功的启发,多项工作[184],[185],[186],[187]已经提出将单模态CoT扩展到多模态CoT(M-CoT)。我们首先介绍获取M-CoT能力的不同范式(§7.2.1)。然后,我们描述M-CoT的更多具体方面,包括链式配置(§7.2.2)和模式(§7.2.3)。

7.2.1 学习范式

学习范式也是一个值得研究的方面。大致有三种方式来获取M-CoT能力,即通过微调和无训练的少/零样本学习。这三种方式对样本数量的要求依次递减。

直观地说,微调方法通常涉及为M-CoT学习策划特定数据集。例如,Lu等人[116]构建了一个包含讲座和解释的科学问答数据集ScienceQA,可以作为学习CoT推理的来源,并在所提出的数据集上微调模型。Multimodal-CoT[185]也使用ScienceQA基准,但以两步方式生成输出,即推理过程(链式推理步骤)和基于推理过程的最终答案。CoT-PT[187]通过提示微调和特定步骤的视觉偏差相结合来学习隐式链式推理。

与微调相比,少/零样本学习在计算上更高效。它们之间的主要区别在于,少样本学习通常需要手工制作一些上下文示例,以便模型更容易逐步学习推理。相比之下,零样本学习不需要任何特定的CoT学习示例。在这种情况下,模型通过提示设计的指令(如“让我们逐帧思考”或“这两个关键帧之间发生了什么”)学习使用嵌入的知识和推理能力,而无需明确指导[184],[186]。类似地,一些工作[22],[188]通过描述任务和工具使用来提示模型,将复杂任务分解为子任务。

7.2.2 链式配置

结构和长度是推理链的两个关键方面。在结构方面,当前方法可以分为单链和树形方法。单链推理是各种方法中广泛使用的范式[116],[185]。具体来说,逐步推理过程形成了一个问题-推理-答案的单链。最近,一些方法探索了使用更复杂的方案,即树形链进行推理。具体来说,DDCoT[189]将一个问题分解为多个子问题,每个子问题由LLM本身或视觉专家解决生成推理。然后,LLM汇总并利用这些推理生成最终答案。对于链式长度,可以分为自适应和预定义两种形式。前者要求LLM自行决定何时停止推理链[22],[116],[169],[170],[185],[188],而后者则在预定义长度时停止链式推理[79],[184],[186],[187]。

7.2.3 生成模式

如何构建链式推理是一个值得研究的问题。我们将当前的工作总结为(1)基于填充的模式和(2)基于预测的模式。具体来说,基于填充的模式要求在上下文(前后步骤)之间推导步骤,以填补逻辑空白[184],[186]。相比之下,基于预测的模式要求在给定条件(如指令和先前推理历史)的情况下扩展推理链[22],[116],[169],[170],[185],[188]。这两种模式的共同要求是生成的步骤应一致且正确。

7.3 LLM辅助的视觉推理

7.3.1 介绍

受到工具增强LLMs成功的启发[190],[191],[192],[193],一些研究探索了调用外部工具[22],[107],[169],[170]或视觉基础模型[22],[79],[80],[188],[194],[195],[196]进行视觉推理任务的可能性。这些工作将LLMs作为不同角色的助手,构建了任务特定[79],[197],[198]或通用[22],[169],[170],[181],[188]的视觉推理系统。

与传统视觉推理模型[199],[200],[201]相比,这些工作表现出几个优点:(1)强大的泛化能力。配备了从大规模预训练中学到的丰富开放世界知识,这些系统可以轻松泛化到未见过的对象或概念,表现出显著的零样本/少样本性能[169],[170],[195],[197],[198],[202]。(2)新兴能力。借助LLMs强大的推理能力,这些系统可以执行复杂任务。例如,给定一张图片,MM-REACT[22]可以解释表面下的意义,例如解释为什么一个模因很有趣。(3)更好的交互性和控制力。传统模型通常允许有限的控制机制,并且通常需要昂贵的策划数据集[203],[204]。相比之下,基于LLM的系统能够在用户友好界面中进行细致控制(例如点击和自然语言查询)[79]。

在这一部分,我们首先介绍构建LLM辅助视觉推理系统中使用的不同训练范式(§7.3.2)。然后,我们深入探讨LLMs在这些系统中扮演的主要角色(§7.3.3)。

7.3.2 训练范式

根据训练范式,LLM辅助视觉推理系统可以分为两种类型,即无训练和微调。

无训练。借助预训练LLMs中存储的丰富先验知识,一种直观而简单的方法是冻结预训练模型,并直接提示LLMs满足各种需求。根据设置,推理系统可以进一步分类为少样本模型[22],[169],[170],[181]和零样本模型[79],[197]。少样本模型需要一些手工制作的上下文示例(见§7.1)来指导LLMs生成程序或执行步骤序列。这些程序或执行步骤作为相应基础模型或外部工具/模块的指令。零样本模型则更进一步,直接利用LLMs的语言/语义知识或推理能力。例如,PointCLIP V2[197]提示GPT-3生成具有3D相关语义的描述,以更好地与相应图像对齐。在CAT[79]中,LLMs被指示根据用户查询改进标题。

微调。一些工作采用进一步微调,以改进工具使用方面的计划能力[107]或系统的定位能力[142],[205]。例如,GPT4Tools[107]引入了指令微调方法(见§3.2)。相应地,收集了一个新的工具相关指令数据集并用于微调模型。

7.3.3 功能

为了进一步检查LLMs在LLM辅助视觉推理系统中到底扮演了什么角色,现有相关工作分为三种类型:

- LLM作为控制器

- LLM作为决策者

- LLM作为语义精炼器

前两种角色与CoT(见§7.2)相关。由于复杂任务需要分解为中间的简单步骤,因此这些角色经常使用。当LLMs作为控制器时,系统通常在单轮中完成任务,而在决策者的情况下,多轮更为常见。我们在以下部分描述LLMs如何在这些角色中发挥作用。

LLM作为控制器。在这种情况下,LLMs充当中央控制器,(1)将复杂任务分解为更简单的子任务/步骤,(2)将这些任务分配给适当的工具/模块。第一步通常利用LLMs的CoT能力完成。具体来说,LLMs被明确提示输出任务计划[181]或更直接地调用模块[107],[169],[170]。例如,VisProg[170]提示GPT-3输出一个视觉程序,其中每行程序调用一个模块执行子任务。此外,要求LLMs输出模块输入的参数名。为了处理这些复杂要求,一些手工制作的上下文示例被用作参考[169],[170],[181]。这与推理链的优化密切相关(见§7.2),或更具体地说,是最小到最多提示技术[206]。通过这种方式,复杂问题被分解为按顺序解决的子问题。

LLM作为决策者。在这种情况下,复杂任务以多轮方式解决,通常是迭代方式[195]。决策者通常履行以下职责:(1)总结当前上下文和历史信息,决定当前步骤的信息是否足以回答问题或完成任务;(2)组织和总结答案,以用户友好的方式呈现。

LLM作为语义精炼器。当LLM作为语义精炼器时,研究人员主要利用其丰富的语言和语义知识。具体来说,LLMs通常被指示将信息整合成一致且流畅的自然语言句子[202],或根据不同的具体需求生成文本[79],[197],[198]。

8 挑战与未来方向

MLLMs的发展仍处于初级阶段,因此有很大的改进空间,我们总结如下:

- 当前的MLLMs在处理长上下文的多模态信息方面有限。这限制了拥有更多多模态标记的高级模型的发展,例如长视频理解和交错图像与文本的长文档。

- MLLMs应升级以遵循更复杂的指令。例如,生成高质量问答对数据的主流方法仍然是提示闭源的GPT-4V,因为它具有先进的指令遵循能力,而其他模型通常无法实现这一点。

- 技术如M-ICL和M-CoT仍有很大的改进空间。当前对这两种技术的研究仍然处于初级阶段,MLLMs的相关能力较弱。因此,探索其潜在机制和改进方向是很有前景的。

- 开发基于MLLMs的具身代理是一个热门话题。开发能够与现实世界互动的代理是有意义的。这类工作需要模型具备关键能力,包括感知、推理、规划和执行。

- 安全问题。与LLMs类似,MLLMs可能易受精心设计的攻击[177],[207],[208]。换句话说,MLLMs可能会被误导输出偏见或不理想的响应。因此,提高模型的安全性将是一个重要课题。

9 结论

在本文中,我们对现有的MLLM文献进行了综述,并提供了其主要方向的广泛视角,包括基本配方和相关扩展。此外,我们强调了当前需要填补的研究空白,并指出了一些有前景的研究方向。希望这篇综述能为读者提供清晰的MLLM发展现状,并激发更多的研究工作。

Yin S, Fu C, Zhao S, et al. A survey on multimodal large language models[J]. arXiv preprint arXiv:2306.13549, 2023.

Shanghai Jiao Tong University ,Amazon Web Services.


本文转载自公众号AIRoobt ,作者:AIRoobt

原文链接:​​​​https://mp.weixin.qq.com/s/a1slqH2ScZnrFmDFpo0R7A​​​


©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
已于2024-7-1 14:10:38修改
收藏
回复
举报
回复
相关推荐