多模态大语言模型全面综述:架构,训练,数据,评估,扩展,应用,挑战,机遇
近期以GPT-4V为代表的多模态大语言模型(MLLM)成为新的研究热点,它使用功能强大的大型语言模型(LLMs)作为“大脑”来执行多模态任务。MLLM出人意料的新兴能力,如基于图像编写故事和无OCR的数学推理,在传统多模态方法中很少见,这表明了一条通往人工通用智能的潜在路径。为此,学术界和工业界都致力于开发能够与GPT-4V竞争甚至更优越的MLLM,以惊人的速度推动研究的极限。本文旨在追踪并总结多模态大语言模型(MLLM)的最新进展。本文首先展示了MLLM的基本公式,并描绘了其相关概念,包括架构、训练策略和数据,以及评估。然后,介绍了关于如何扩展MLLM以支持更细粒度、模态、语言和场景的研究课题。然后继续探讨了多模态幻觉和扩展技术,包括多模态上下文学习(M-ICL)、多模态链式推理(M-CoT)和基于LLM的可视化推理(LAVR)。在文章的最后,文章讨论了现有的挑战并指出了有前景的研究方向。
我们翻译解读最新论文:多模态大语言模型全面综述,文末有论文链接。
作者:张长旺,图源:旺知识
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][24]/视频[25][26]/音频[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展示了MLLMs的时间线。
鉴于该领域的快速发展和有希望的结果,我们编写了这篇综述,为研究人员提供对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绘制了架构的图示。在这一部分中,我们将依次介绍每个模块。
2.1 模态编码器
编码器压缩原始信息,如图像或音频,将其转换为更紧凑的表示形式。与从头开始训练相比,一种常见的方法是使用已经与其他模态对齐的预训练编码器。例如,CLIP[13]通过在图像-文本对上进行大规模预训练,将视觉编码器与文本在语义上对齐。因此,使用这种最初已经预对齐的编码器更容易通过对齐预训练(见§3.1)与LLM对齐。表1总结了常用的图像编码器系列。除了普通的CLIP图像编码器[13],一些工作还探索了使用其他变体。例如,MiniGPT-4[21]采用了EVA-CLIP[47][48](ViT-G/14)编码器,该编码器通过改进的训练技术进行训练。相比之下,Osprey[29]引入了基于卷积的ConvNext-L编码器[46],以利用更高分辨率和多级特征。一些工作还探索了无编码器架构。例如,Fuyu-8b[49]的图像补丁直接被投影后再发送到LLM。因此,该模型自然支持灵活的图像分辨率输入。
2.2 预训练LLM
与其从头开始训练一个LLM,更有效和实际的方法是从一个预训练的模型开始。通过在网络语料库上进行大量的预训练,LLM已经嵌入了丰富的世界知识,并展示了强大的泛化和推理能力。我们在表2中总结了常用的和公开可用的LLM。值得注意的是,大多数LLM属于因果解码器类别,遵循GPT-3[7]。其中,FlanT5系列[56]是较早在BLIP-2[59]和InstructBLIP[60]等工作中使用的LLM。LLaMA系列[5]和Vicuna家族[4]是吸引了大量学术关注的代表性开源LLM。由于这两个LLM主要是在英语语料库上预训练的,它们在多语言支持方面受到限制,例如中文。相比之下,Qwen[58]是一个支持中文和英文的双语LLM。值得注意的是,像增加输入分辨率一样,增加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。一个常见且可行的解决方案是利用一组可学习的查询令牌以基于查询的方式提取信息,这首先在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]。基本思想是在不训练的情况下将多模态输入转换为语言。这样,LLM可以通过转换后的语言理解多模态性。例如,VideoChat-Text[25]使用预训练的视觉模型提取视觉信息,如动作,并使用语音识别模型丰富描述。尽管使用专家模型很简单,但可能不如采用可学习的接口那样灵活。将外来模态转换为文本会导致信息丢失。例如,将视频转换为文本描述会扭曲空间时间关系[25]。
3 训练策略和数据
一个完整的多模态大型语言模型(MLLM)经历三个阶段的训练,即预训练、指令调整和对齐调整。每个训练阶段需要不同类型的数据,并实现不同的目标。在本节中,我们将讨论训练目标,以及数据收集和特征。
3.1 预训练
预训练是训练过程的第一阶段,主要目标是将不同的模态对齐并学习多模态世界知识。预训练阶段通常包括大规模的文本配对数据,例如字幕数据。这里,我们考虑一个常见的场景,MLLM被训练来对齐视觉和文本。如表3所示,给定一个图像,模型被训练以自回归的方式预测图像的字幕,遵循标准的交叉熵损失。预训练的常见方法是保持预训练模块(例如视觉编码器和LLM)冻结,并训练一个可学习的接口[20][35][72]。这样的想法是在不对齐不同模态的同时,不失去预训练的知识。一些方法[34][81][82]也解冻了更多的模块(例如视觉编码器),以便为对齐提供更多的可训练参数。值得注意的是,训练方案与数据质量密切相关。对于简短且嘈杂的字幕数据,可以采用较低分辨率(例如224)来加速训练过程,而对于更长和更清洁的数据,则最好利用更高的分辨率(例如448或更高)以减少幻觉。此外,ShareGPT4V[83]发现,在预训练阶段使用高质量的字幕数据,解锁视觉编码器有助于更好地对齐。
3.1.1 训练细节
作为第一阶段的训练,预训练主要旨在对齐不同的模态并学习多模态世界知识。预训练阶段一般涉及大规模文本配对数据,如字幕数据。通常,这些字幕对以自然语言句子描述图像/音频/视频。这里,我们考虑一个常见的场景,MLLMs被训练以对齐视觉与文本。如图3所示,给定一个图像,模型被训练来自回归地预测图像的字幕,遵循标准的交叉熵损失。一个常见的预训练方法是保持预训练模块(例如视觉编码器和LLMs)冻结,并训练一个可学习的接口[20][35][72]。这个想法是在不对齐不同模态的同时,不失去预训练的知识。一些方法[34][81][82]也解冻了更多的模块(例如视觉编码器),以便为对齐提供更多的可训练参数。值得注意的是,训练方案与数据质量密切相关。对于短而嘈杂的字幕数据,可以采用较低分辨率(例如224)来加速训练过程,而对于更长和更清洁的数据,则最好利用更高的分辨率(例如448或更高)以减少幻觉。此外,ShareGPT4V[83]发现,在预训练阶段使用高质量的字幕数据,解锁视觉编码器有助于更好地对齐。
3.1.2 数据
预训练数据主要有两个目的,即(1) 对齐不同的模态和(2) 提供世界知识。预训练语料库可以根据粒度分为粗粒度和细粒度数据,我们将依次介绍。我们在表4中总结了常用的预训练数据集。粗粒度字幕数据有一些共同的特点:(1) 数据量很大,因为样本通常来源于互联网。(2) 由于网络爬取的特性,字幕通常很短且嘈杂,因为它们来自网络图像的alt文本。这些数据可以通过自动工具进行清洗和过滤,例如,使用CLIP[13]模型过滤掉图像-文本对的相似度低于预定义阈值的图像-文本对。接下来,我们介绍一些代表性的粗粒度数据集。CC。CC-3M[84]是一个包含3.3M图像-字幕对的网络规模字幕数据集,原始描述来源于与图像关联的alt-text。作者设计了一个复杂的数据清洗流程:(1) 对于图像,过滤掉包含不当内容或纵横比不当的图像。(2) 对于文本,使用NLP工具获取文本注释,并根据设计好的启发式规则过滤样本。(3) 对于图像-文本对,通过分类器给图像分配标签。如果文本注释不与图像标签重叠,则删除相应的样本。CC-12M[85]是CC-3M的后续工作,包含12.4M图像-字幕对。与之前的工作相比,CC-12M放宽并简化了数据收集流程,因此收集了更多的数据。SBU字幕[86]。这是一个包含1M图像-文本对的带字幕的照片数据集,图像和描述来源于Flickr。具体来说,通过使用大量查询词查询Flickr网站获得初始图像集。然后,为了确保描述与图像相关,保留的图像满足以下要求:(1) 图像的描述长度令人满意,由观察决定。(2) 图像的描述至少包含预定义词汇表中的2个词和通常暗示空间关系的命题词(例如“on”,“under”)。
3.2 指令调整
3.2.1 介绍
指令指的是任务的描述。直观地说,指令调整的目的是教会模型更好地理解用户的指令并完成所要求的任务。通过这种方式调整后,LLM能够通过遵循新的指令来泛化到未见过的任务,从而提升零样本性能。这个简单而有效的想法激发了后续NLP作品的成功,如ChatGPT[2]、InstructGPT[95]、FLAN[19]、[56]和OPT-IML[96]。图3展示了指令调整与典型学习范式的比较。监督微调方法通常需要大量的特定任务数据来训练特定任务的模型。提示方法减少了对大规模数据的依赖,并且可以通过提示工程完成专业任务。在这种情况下,尽管少样本性能有所提高,但零样本性能仍然相当平均[7]。不同地,指令调整学习如何泛化到未见过的任务,而不是像另外两个对应物那样拟合特定任务。此外,指令调整与多任务提示[97]高度相关。在本节中,我们描述指令样本的格式、训练目标、收集指令数据的典型方法以及相应的常用数据集。
3.2.2 训练细节
多模态指令样本通常包括一个可选的指令和一组输入-输出对。指令通常是一个自然语言句子,描述任务,例如,“详细描述图像。”输入可以是像VQA任务[99]那样的图像-文本对,或者仅仅是一个图像,像图像字幕任务[100]那样。输出是指令条件的输入的答案。指令模板是灵活的,可以根据手动设计而变化[20]、[25]、[98],如表5所示。注意,指令模板也可以推广到多轮对话的情况[20]、[37]、[71]、[98]。正式地,一个多模态指令样本可以用三元组形式表示,即(I, M, R),其中I、M、R分别代表指令、多模态输入和真实的响应。MLLM预测给定指令和多模态输入的答案:
这里,A表示预测的答案,而θ是模型的参数。训练目标通常是用于训练LLM的原始自回归目标[20]、[37]、[71]、[101],基于此,MLLM被鼓励预测响应的下一个标记。目标可以表示为:
其中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和字幕数据集的答案通常很简洁,直接使用这些数据集进行指令调整可能会限制MLLM的输出长度。解决这个问题有两个常见策略。第一种是明确地在指令中指定。例如,ChatBridge[104]明确声明对于简短答案数据是简短和简洁的,对于传统的粗粒度字幕数据是句子和单句。第二种是扩展现有答案的长度[105]。例如,M3IT[105]提出通过提示ChatGPT原始问题、答案和图像的上下文信息(例如字幕和OCR)来重述原始答案。
3.2.4 数据质量
最近的研究揭示了指令调整样本的数据质量与数量同样重要。Lynx[73]发现,在大规模但嘈杂的图像-文本对上预训练的模型,并不比在较小但更清洁的数据集上预训练的模型表现得更好。同样,Wei等人[108]发现,质量更高的较少指令调整数据可以实现更好的性能。对于数据过滤,该工作提出了一些评估数据质量的指标,并相应地提出了一种自动过滤较差视觉-语言数据的方法。在这里,我们讨论了数据质量的两个重要方面。提示多样性。指令的多样性对模型性能至关重要。Lynx[73]通过实证研究验证了多样化的提示有助于提高模型性能和泛化能力。任务覆盖范围。在训练数据中涉及的任务方面,Du等人[109]进行了实证研究,发现视觉推理任务比字幕和QA任务更能提高模型性能。此外,该研究建议,提高指令的复杂性可能比增加任务多样性和纳入细粒度空间注释更有益。
3.3 对齐调整
3.3.1 介绍
对齐调整更常用于需要将模型与特定人为偏好对齐的场景中,例如减少幻觉(见§6)的响应。目前,人力反馈的强化学习(RLHF)和直接偏好优化(DPO)是两种主要的技术,用于对齐调整。在本节中,我们依次介绍这两种技术的主要内容,并提供一些它们如何用于解决实际问题的例子,最后给出相关数据集的编译。
3.3.2 训练细节
RLHF[110]、[111]。这种技术旨在利用强化学习算法将LLM与人类偏好对齐,训练循环中使用人类注释作为监督。如InstructGPT[95]所示,RLHF包含三个关键步骤:
1)监督微调。这一步旨在微调预训练模型以呈现预期的输出行为。在RLHF设置中的微调模型称为策略模型。注意,如果指令调整模型(见§3.2)已经初始化,此步骤可能被跳过。
2)奖励建模。在此步骤中,使用偏好对训练奖励模型。给定多模态提示(例如图像和文本)x和响应对(yw, yl),奖励模型rθ学会给予首选响应yw更高的奖励,反之亦然给yl,根据
中D = {(x, yw, yl)}是由人类注释者标记的比较数据集。在实践中,奖励模型rθ与策略模型具有相似的结构。
3)强化学习。在此步骤中,采用近端策略优化(PPO)算法来优化RL策略模型πRLϕ。通常在训练目标中添加每个标记的KL惩罚,以避免偏离原始策略太远[95],得到目标:
其中β是KL惩罚项的系数。通常,RL策略πRLϕ和参考模型πREF都是从监督模型πSFT初始化的。通过这个调整过程,获得的RL策略模型预期将与人类偏好对齐。研究人员探索了使用RLHF技术进行更好的多模态对齐。例如,LLaVARLHF[112]收集了人类偏好数据,并对基于LLaVA[20]的模型进行了调整,以减少幻觉。DPO[113]。它使用人类偏好标签,采用简单的二元分类损失进行学习。与基于PPO的RLHF算法相比,DPO不需要学习显式的奖励模型,从而简化了整个流程为两个步骤,即人类偏好数据收集和偏好学习。学习目标如下:
RLHF-V[114]通过分段级别的幻觉纠正收集了细粒度的(段级别)偏好数据对,并使用获得的数据执行密集的DPO。Silkie[115]相反,通过提示GPT-4V收集偏好数据,并通过DPO将偏好监督蒸馏到通过指令调整的模型中。
3.3.3 数据
对齐调整的数据收集要点是收集模型响应的反馈,即决定哪种响应更好。通常,收集此类数据的成本更高,此阶段使用的的数据量通常甚至少于前几个阶段。在这部分,我们介绍一些数据集并总结在表8中。
LLaVA-RLHF[112]。它包含10K个由人类反馈收集的偏好对,主要针对诚实和有帮助程度。该数据集主要用于减少模型响应中的幻觉。
RLHF-V[114]。它有5.7K个细粒度的人类反馈数据,通过分段级别的幻觉纠正收集。VLFeedback[115]。它利用AI为模型响应提供反馈。数据集包含超过380K个比较对,由GPT-4V根据帮助性、忠实度和道德考虑进行评分。
4 评估
评估是开发MLLM的重要部分,因为它为模型优化提供反馈,并帮助比较不同模型的性能。与传统多模态模型的评估方法相比,MLLM的评估显示出几种新的特征:(1) 由于MLLM通常功能全面,因此对MLLM进行全面评估很重要。(2) MLLM表现出许多新兴能力,需要特别注意(例如无需OCR的数学推理),因此需要新的评估方案。MLLM的评估可以大致分为两种类型,根据问题类型分为封闭集和开放集。
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]上报告了结果。上述评估方法通常限于少数选定的任务或数据集,缺乏全面的定量比较。为此,一些努力已经开发了专门为MLLM设计的新的基准[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 开放集
与封闭集问题相比,开放集问题的回答可以更灵活,其中MLLM通常扮演聊天机器人的角色。由于聊天内容可以是任意的,因此比封闭结束的输出更难判断。标准可以分为手动评分、GPT评分和案例研究。手动评分需要人工评估生成的响应。这种方法通常涉及手工制作的问题,旨在评估特定维度。例如,mPLUG-Owl[81]收集了与视觉相关的评估集,以判断自然图像理解、图表和流程图理解等能力。类似地,GPT4Tools[107]构建了两套分别用于微调和零样本性能的评估集,并根据思想、行动、论点和整体评估响应。由于手动评估劳动密集型,一些研究人员已经探索了使用GPT进行评分,即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模型来评估MLLM的性能。例如,Woodpecker[77]采用GPT-4V根据图像判断模型答案的质量。评估预计比使用文本GPT-4更准确,因为GPT-4V可以直接访问图像。另一种补充方法是通过案例研究比较MLLM的不同能力。例如,一些研究评估了两个典型的商业使用模型,GPT-4V和Gemini。Yang等人[135]通过制作一系列跨越各个领域和任务的样本,从基本技能(如字幕和计数对象)到需要世界知识和推理的复杂任务(如笑话理解和作为具身智能体的室内导航),对GPT-4V进行了深入的定性分析。Wen等人[136]通过设计针对自动驾驶场景的样本,对GPT-4V进行了更专注的评估。Fu等人[137]对Gemini-Pro进行了全面评估,将其与GPT-4V进行了比较。结果表明,尽管GPT-4V和Gemini具有不同的响应风格,但在视觉推理能力方面表现出了可比性。
5 扩展
近期的研究在扩展MLLMs的能力方面取得了显著进展,涵盖了从更强大的基础能力到更广泛的场景覆盖。我们追踪了这方面的主要发展。粒度支持。为了促进智能体和用户之间更好的交互,研究人员已经开发了支持更细粒度输入和输出的MLLMs。在输入方面,支持用户提示中更细粒度控制的模型逐渐发展,从图像发展到区域[28][138][139],甚至像素[29][140][141]。具体来说,Shikra[28]支持区域级输入和理解。用户可以通过指向特定区域,这些区域以自然语言形式的边界框表示,更灵活地与助手交互。Ferret[141]更进一步,支持更灵活的指代,设计了一种混合表示方案。该模型支持不同形式的提示,包括点、框和草图。同样,Osprey[29]支持通过使用分割模型[9]的点输入。借助预训练分割模型的卓越能力,Osprey能够通过单击指定单个实体或其部分。在输出方面,随着输入支持的发展,接地能力也得到了提高。Shikra[28]支持响应以图像中的框注释为依据,从而实现更高的精度和更细粒度的指代体验。LISA[142]进一步支持掩码级理解和推理,这使得像素级接地成为可能。
模态支持。增加对模态的支持是MLLM研究的一个趋势。一方面,研究人员已经探索了使MLLM适应支持更多多模态内容的输入,例如3D点云[41][143][144][145]。另一方面,MLLM也被扩展为生成更多模态的响应,例如图像[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%。
场景/任务扩展。除了开发常见的通用助手外,一些研究专注于更具体的场景,其中应考虑实际条件,而其他研究将MLLM扩展到具有特定专业知识的下游任务。一个典型趋势是将MLLM适应到更具体的现实生活场景中。MobileVLM[63]探索为资源受限场景开发MLLM的小尺寸变体。一些设计和技术被用于在移动设备上部署,例如更小尺寸的LLM和量化技术以加速计算。其他工作开发了与现实世界[41][154][155]交互的智能体,例如为图形用户界面(GUI)特别设计的友好用户助手,如CogAgent[44]、AppAgent[43]和Mobile-Agent[45]。这些助手擅长规划和指导每一步以完成用户指定的任务,作为人机交互的有用智能体。另一条线是通过注入医学领域的知识,将MLLM扩展到医学领域。例如,LLaVA-Med[158]将医学知识注入普通的LLaVA[20]中,开发了一个专门用于医学图像理解和问答的助手。
6 多模态幻觉
多模态幻觉指的是MLLM生成的响应与图像内容不一致的现象[77]。作为一个基本且重要的问题,这个问题已经引起了越来越多的关注。在这一部分中,我们将简要介绍一些相关概念和研究发展。
6.1 初步知识
当前关于多模态幻觉的研究可以进一步分为三种类型[159]:
存在幻觉是最基本的形式,意味着模型错误地声称图像中存在某些对象。
属性幻觉意味着以错误的方式描述某些对象的属性,例如无法正确识别狗的颜色。它通常与存在幻觉相关联,因为属性的描述应该基于图像中存在的对象。
关系幻觉是一种更复杂的类型,也基于对象的存在。它指的是错误地描述对象之间的关系,如相对位置和交互。
接下来,我们首先介绍一些特定的评估方法(§6.2),这些方法对于衡量减轻幻觉的方法(§6.3)的性能很有用。然后,我们将详细讨论当前减少幻觉的方法,根据每种方法所属的主要类别进行分类。
6.2 评估方法
CHAIR[160]是一个早期的指标,用于评估开放式字幕中的幻觉水平。该指标衡量的是句子中出现幻觉对象或所有提到对象中幻觉对象的比例。相比之下,POPE[132]是一种评估封闭集选择的方法。具体来说,制定了多个带有二元选择的提示,每个提示查询图像中是否存在特定对象。该方法还涵盖了更具挑战性的设置,以评估MLLM的鲁棒性,考虑了数据统计。最终评估使用简单的关键词机制,即通过检测关键词“是/否”,将开放式响应转换为封闭集二元选择。采用类似的评估方法,MME[123]提供了更全面的评估,涵盖了存在、计数、位置和颜色等方面,如[77]中所示。与之前使用匹配机制来检测和决定幻觉的方法不同,HaELM[161]提出使用文本LLM作为裁判,自动决定MLLM的字幕是否与参考字幕正确。鉴于文本LLM只能访问有限的图像上下文并且需要参考注释,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中强大的语言先验。作者注意到,当向图像注入噪声时,MLLM倾向于依赖语言先验而不是图像内容来生成响应,导致幻觉。相应地,这项工作设计了一个放大然后对比的解码方案,以抵消错误的偏差。HACL[166]研究了视觉和语言的嵌入空间。基于观察,设计了一种对比学习方案,将成对的跨模态表示拉近,同时推开非幻觉和幻觉的文本表示。
事后校正。与之前的范式不同,事后校正在事后补救方式中减轻幻觉,并在输出生成后纠正幻觉。Woodpecker[77]是一个无需训练的通用幻觉校正框架。具体来说,该方法结合了专家模型以补充图像的上下文信息,并构建了一个逐步纠正幻觉的流程。该方法是可解释的,因为每个步骤的中间结果可以被检查,对象在图像中被接地。另一种方法LURE[167]训练了一个专门的校正器来掩盖描述中不确定性很高的对象,并重新生成响应。
7 扩展技术
7.1 多模态上下文学习 (M-ICL)
上下文学习(ICL)是LLMs的重要新兴能力之一。ICL有两个优点:(1)与传统的监督学习范式不同,ICL的关键在于通过类比学习。具体来说,在ICL设置中,LLMs通过一些示例以及可选的指令学习,并外推到新问题,从而以少样本方式解决复杂和未见过的任务[22][169][170]。(2)ICL通常以无需训练的方式实现[168],因此可以灵活地集成到不同的框架中,在推理阶段使用。与ICL密切相关的技术是指令调整(见§3.2),实证表明这可以增强ICL能力[19]。在MLLM的背景下,ICL已经扩展到更多模态,导致了多模态上下文学习(M-ICL)。在(§3.2)设置的基础上,在推理时,M-ICL可以通过添加一组上下文示例来实现,即一组上下文样本。在这种情况下,模板可以扩展如表9所示。注意,我们列出了两个上下文示例进行说明,但示例的数量和顺序可以灵活调整。事实上,模型通常对示例的排列很敏感[168][171]。
7.1.1 提高ICL能力
最近,越来越多的工作集中在提高各种场景下的ICL性能。在这一部分中,我们追踪了这个领域的发展,并总结了一些相关工作。MIMIC-IT[172]通过构建具有多模态上下文的指令数据集,将上下文学习与指令调整结合起来。在引入的数据集上进行指令调整的模型在字幕任务上显示出改进的少样本性能。Emu[173]通过引入额外的模态到模型生成和相应的训练语料库中,扩展了Flamingo[74]的思想。借助引入的视觉解码器,即Stable Diffusion,模型从额外的视觉监督中学习,并支持更灵活的输出格式和上下文推理。具体来说,除了以纯文本回答外,模型还可以以图像形式给出响应。Sheng等人[174]采用了类似的想法,并尝试将输出模态扩展到文本和图像。这项工作没有采用专门的图像编码器,而是采用了统一的量化方案和共享的嵌入层。其他一些工作探索了在特定设置下提高少样本学习性能。Link-context学习[175]专注于加强图像-标签对之间的因果关系,并通过制定正面和负面的图像-描述对来构建对比训练方案。MMIICL[176]旨在增强使用多个相关图像进行推理的能力。为了加强图像和文本之间的联系,这项工作提出了一种上下文方案,将交错的图像-文本数据转换为统一格式。Jeong[177]发现,当插入一小部分不连贯的图像/文本作为噪声时,MLLM可能会被误导,给出与上下文不一致的响应。基于这一观察,这项工作相应地提出了一种预过滤方法,以去除不相关的上下文,促进更连贯的响应。
7.1.2 应用
在多模态应用方面,M-ICL主要用于两个场景:(1) 解决各种视觉推理任务[22][74][178][179][180],以及(2) 教LLM使用外部工具[169][170][181]。前者通常涉及从一些特定任务的示例中学习,并推广到一个新的但相似的问题。从指令和示例中提供的信息,LLM理解任务在做什么以及输出模板是什么,最终生成预期的答案。相比之下,工具使用的例子更细粒度。它们通常包括可以顺序执行以完成任务的一系列步骤。因此,第二种场景与思维链(见§7.2)密切相关。
7.2 多模态思维链 (M-CoT)
作为开创性工作[8]所指出的,思维链是“一系列中间推理步骤”,已被证明在复杂推理任务中是有效的[8][182][183]。思维链的主要思想是提示LLM不仅输出最终答案,还输出导致答案的推理过程,类似于人类的认知过程。受到NLP中成功的启发,多项工作[184][185][186][187]提出将单模态思维链扩展到多模态思维链(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,包含讲座和解释,可以作为学习思维链推理的来源,然后在该提议的数据集上微调模型。Multimodal-CoT[185]也使用ScienceQA基准,但以两步方式生成输出,即基于推理步骤的解释(思维链)和最终答案。CoT-PT[187]通过结合提示调整和步骤特定的视觉偏见来学习隐式思维链。与微调相比,少/零样本学习在计算上更有效率。主要区别在于,少样本学习通常需要手工制作一些上下文示例,以便模型可以更容易地学习逐步推理。相比之下,零样本学习不需要任何特定的示例来进行思维链学习。在这种情况下,模型学习使用嵌入式知识和推理能力,而不需要通过像“让我们逐步思考”或“这两个关键帧之间发生了什么”这样的设计指令来明确指导[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强大的推理能力,这些系统可以执行复杂任务。例如,给定一个图像,MMREACT[22]可以解释背后的含义,如解释为什么一个梗很有趣。(3)更好的交互性和控制。传统模型通常只允许有限的控制机制,并且通常需要昂贵的策划数据集[203][204]。相比之下,基于LLM的系统具有在用户友好界面(例如点击和自然语言查询)[79]中进行精细控制的能力。对于这部分,我们首先介绍在构建LLM辅助视觉推理系统中使用的不同类型的训练范式(§7.3.2)。然后,我们深入探讨LLM在这些系统中扮演的主要角色(§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 作为语义细化器
前两个角色与思维链(见§7.2)相关。由于复杂任务需要被分解为中间的更简单步骤,因此经常使用。当LLMs作为控制器时,系统通常在一轮中完成任务,而多轮则更常见于决策者的情况。
LLM 作为控制器。在这种情况下,LLMs充当中央控制器,(1)将复杂任务分解为更简单的子任务/步骤,(2)将这些任务分配给适当的工具/模块。第一步通常通过利用LLMs的思维链能力来完成。具体来说,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 挑战与未来方向
MLLM的发展仍处于初级阶段,因此有很大的改进空间,我们总结如下:
当前的MLLM在处理长上下文的多模态信息方面存在限制。这限制了具有更多多模态标记的高级模型的发展,例如长视频理解以及与图像和文本交错的长文档。
MLLM应该升级以遵循更复杂的指令。例如,生成高质量的问答对数据的主流方法仍然是提示封闭源的GPT-4V,因为其先进的指令跟随能力,而其他模型通常无法实现。
在M-ICL和M-CoT等技术方面仍有改进空间。目前对这两项技术的研究还处于初级阶段,MLLM的相关能力较弱。因此,探索其背后的机制和潜在改进是有希望的。
基于MLLM的具身智能体的开发是一个热门话题。开发能够与现实世界互动的此类智能体将是有意义的。此类努力需要模型具备关键能力,包括感知、推理、规划和执行。
安全问题。与LLM类似,MLLM可能容易受到精心制作的攻击[177][207][208]的侵害。换句话说,MLLM可能会被误导输出有偏见或不期望的响应。因此,提高模型的安全性将是一个重要的课题。
作者:张长旺,图源:旺知识
9 结论
在本文中,我们对现有的MLLM文献进行了综述,并提供了其主要方向的广泛视角,包括基本方案和相关扩展。此外,我们强调了需要填补的当前研究空白,并指出了一些有希望的研究方向。我们希望这篇综述能为读者提供MLLM当前进展的清晰画面,并激发更多的工作。
参考资料
标题:A Survey on Multimodal Large Language Models
作者:Shukang Yin, Chaoyou Fu, Sirui Zhao, Ke Li, Xing Sun, Tong Xu, Enhong Chen
单位:Department of Data Science, University of Science and Technology of China; Tencent YouTu Lab
标签:#多模态大型语言模型 #人工智能 #机器学习 #自然语言处理
链接:https://arxiv.org/abs/2306.13549v2