多模态大语言模型(MLLM)是近年来兴起的一个新的研究热点,它利用强大的大语言模型作为大脑来执行多模态任务。MLLM令人惊讶的新兴能力,如基于图像写故事和无OCR的数学推理,在传统方法中是罕见的,这表明了一条通往人工通用智能的潜在道路。 在本文中,作者旨在追踪和总结MLLM的最新进展。首先,提出了MLLM的公式,并阐述了其相关概念。然后,讨论了关键技术和应用,包括多模态指令调整(M-IT)、多模态上下文学习(M-ICL)、多模态思想链(M-CoT)和LLM辅助视觉推理(LAVR)。最后,讨论了现有的挑战,并指出了有希望的研究方向。 鉴于MLLM时代才刚刚开始,作者将不断更新这项调查,并希望它能启发更多的研究。 收集最新论文的相关GitHub:https://github.com/BradyFU/AwesomeMultimodal-Large-Language-Models
近年来,大型语言模型取得了显著进展。通过扩大数据大小和模型大小,这些LLM提高了惊人的涌现能力,通常包括上下文学习(ICL)、指令跟随和思想链(CoT)。尽管LLM在大多数自然语言处理(NLP)任务中表现出了令人惊讶的Zero/Few-Shot推理性能,但它们天生对视觉“视而不见”,因为它们只能理解离散文本。
与此同时,大型视觉基础模型在感知方面进展迅速,传统的与文本的结合更注重模态对齐和任务统一,在推理方面发展缓慢。
鉴于这种互补性,单模态LLM和视觉模型同时朝着彼此运行,最终带来了MLLM的新领域。形式上,它指的是基于LLM的模型,该模型能够接收多模态信息并对其进行推理。从发展人工通用智能的角度来看,MLLM可能比LLM向前迈出一步,原因如下:
GPT-4因其展示的惊人例子而引发了对MLLM的研究热潮。然而,GPT-4没有打开多模态接口,到目前为止,还没有关于该模型的信息公开。尽管如此,研究界还是做出了许多努力来开发有能力的开源MLLM,并展示了一些令人惊讶的实用能力,例如基于图像编写网站代码,理解模因的深层含义,以及无OCR的数学推理。
作者写这篇综述是为了让研究人员掌握MLLMs的基本思想、主要方法和当前进展。请注意,作者主要关注视觉和语言模态,但也包括涉及其他模态的作品。具体来说,作者将现有的MLLM分为4种类型,并进行相应的总结,同时打开一个实时更新的GitHub页面。据作者所知,这是关于MLLM的第一次调查。
本文将最近具有代表性的MLLM分为4种主要类型:
前三个构成了MLLM的基本原理,而最后一个是以LLM为核心的多模态系统。请注意,这三种技术是相对独立的,并且可以组合使用。因此,作者对一个概念的说明也可能涉及其他。
作者根据4个主要类别组织调查,并依次介绍。作者首先详细介绍了M-IT(§3.1),以揭示LLM如何在架构和数据两个方面适应多模态。然后,作者介绍了M-ICL(§3.2),这是一种常用于推理阶段的有效技术,用于提高Few-Shot性能。另一个重要的技术是M-CoT(§3.3),它通常用于复杂的推理任务。之后,作者进一步总结了LLM在LAVR中主要扮演的几个角色(§3.4),其中经常涉及这三种技术。最后,作者以总结和潜在的研究方向结束了作者的调查。
指令是指对任务的描述。指令调优是一种涉及在指令格式数据集集合上微调预训练LLM的技术。通过这种方式进行调整,LLM可以通过遵循新的指令来泛化到看不到的任务,从而提高Zero-Shot性能。这个简单而有效的想法引发了NLP领域后续工作的成功,如ChatGPT、InstructGPT、FLAN和OPT-IML。
指令调优与相关的典型学习范式之间的比较如图1所示。监督微调方法通常需要许多特定任务的数据来训练特定任务的模型。prompt方法减少了对大规模数据的依赖,并且可以通过prompt工程来完成专门的任务。在这种情况下,虽然 few-shot性能得到了改进,但Zero-Shot性能仍然相当平均。不同的是,指令调优学习如何泛化到看不见的任务,而不是像两个对应的任务那样适应特定的任务。此外,指令调整与多任务prompt高度相关。
相反,传统的多模态模型仍然局限于前两种调谐范式,缺乏Zero-Shot能力。因此,最近的许多工作探索了将LLM中的指令调整的成功扩展到多模态。为了从单模态扩展到多模态,数据和模型都需要进行相应的调整。
对于数据,研究人员通常通过调整现有的基准数据集或self-instruction来获取M-IT数据集。关于该模型,一种常见的方法是将外来模态的信息注入LLM,并将其视为强有力的推理机。
相关工作要么直接将外来嵌入与LLM对齐,要么求助于专家模型将外来模态翻译成LLM可以吸收的自然语言。通过这种方式,这些工作通过多模态指令调整将LLM转换为多模态聊天机器人和多模态通用任务求解器。
在本节的以下部分中,作者首先提供了基础知识(§3.1.2)。在过渡到M-IT的描述之前,作者还介绍了M-IT之前的一个常见过程,即对齐预训练(§3.1.3)。然后,作者构建了剩余的内容,如图2所示:作者首先介绍了如何收集M-IT数据(§3.1.4),随后详细讨论了MLLMs的模型适应性,即弥合不同模态之间差距的各种方法(§3.1.5)。最后,作者介绍了评估指导调整MLLMs(§3.1.6)的评估方法。
本节简要说明了多模态教学样本的一般结构和M-IT的常见过程。多模态指令样本通常包括指令和输入输出对。指令通常是描述任务的自然语言句子,例如“详细描述图像”。输入可以是像视觉问答(VQA)任务那样的图像-文本对,也可以是像图像字幕任务那样的仅图像。输出是以输入为条件的指令的答案。
如表1所示,指导模板是灵活的,并遵循手动设计。注意,指令样本也可以推广到多轮指令,其中多模态输入是共享的。
形式上,多模态指令样本可以表示为三元组形式,即
,其中
,
、
分别表示指令、多模态输入和 GT响应。MLLM在给定指令和多模态输入的情况下预测答案:
这里,
表示预测答案,
是模型的参数。训练目标通常是用于训练LLM的原始自回归目标,在此基础上,MLLM被迫预测响应的下一个 Token。目标可以表示为:
其中,
是GT响应的长度。
通常对成对数据进行大规模(与指令调优相比)的预训练,以鼓励不同模态之间的对齐,这是在M-IT之前。对齐数据集通常是图像-文本对或自动语音识别(ASR)数据集,它们都包含文本。
更具体地说,图像-文本对以自然语言句子的形式描述图像,而ASR数据集包含语音的转录。对齐预训练的一种常见方法是保持预训练模块(例如视觉编码器和LLM)冻结,并训练一个可学习的接口,如下一节所示。
多模态指令跟踪数据的收集是M-IT技术的关键。这些收集方法可以大致分为Benchmark Adaptation、Self-Instruction和Hybrid Composition。
基准数据集是高质量数据的丰富来源。因此,大量的工作利用现有的基准数据集来构建指令格式的数据集。以VQA数据集的转换为例,原始样本是输入-输出对,其中输入包括图像和自然语言问题,输出是以图像为条件的问题的文本答案。
这些数据集的输入输出对可以自然地包括指令样本的多模态输入和响应(见§3.1.2)。指令,即任务描述,可以来自手动设计,也可以来自GPT辅助的半自动生成。
具体而言,一些作品手工制作了一个候选指令库,并在训练期间对其中一个进行采样。作者提供了VQA数据集的指令模板示例,如表2所示。其他工作手动设计一些种子指令,并使用这些指令prompt-GPT生成更多。
请注意,由于现有VQA和标题数据集的答案通常很简洁,因此直接使用这些数据集进行指令调整可能会限制MLLM的输出长度。解决这个问题有两种常见的策略。
尽管现有的基准数据集可以提供丰富的数据源,但它们通常不能很好地满足现实世界场景中的人类需求,例如多轮对话。为了解决这个问题,一些作品通过Self-Instruction收集样本,Self-Instruction引导LLM使用一些手工注释的样本生成文本指令。
具体来说,一些指令跟随样本是手工制作的种子示例,之后会prompt ChatGPT/GPT-4以种子样本为指导生成更多指令样本。LLaVA通过将图像转换为字幕和边界框的文本,并prompt GPT-4在种子示例的上下文中生成新数据,将该方法扩展到多模态领域。
通过这种方式,构建了一个M-IT数据集,称为LLaVA-Instruct-150k。根据这一想法,Mini GPT-4、Chat-Bridge、GPT4-Tools和DetGPT等后续工作开发了不同的M-IT数据集,以满足不同的需求。
除了M-IT数据外,纯语言用户助理会话数据还可用于提高会话熟练度和指令跟随能力。LaVIN通过从纯语言数据和M-IT数据中随机采样,直接构建了一个小批量。
Multi-Instruction探讨了融合单模态和多模态数据的不同训练策略,包括 Hybrid 指令调整(结合两种类型的数据和随机混洗)、顺序指令调整(文本数据后接多模态数据)和基于适配器的顺序指令调整。实证结果表明, Hybrid 指令调整至少不比单独调整多模态数据差。
由于LLM只能感知文本,因此有必要弥合自然语言和其他模态之间的差距。然而,以端到端的方式训练大型多模态模型将是昂贵的。
此外,这样做会带来灾难性遗忘的风险。因此,一种更实用的方法是在预训练的视觉编码器和LLM之间引入可学习的接口。另一种方法是在专家模型的帮助下将图像翻译成语言,然后将语言发送给LLM。
当冻结预训练的模型的参数时,可学习接口负责连接不同的模态。挑战在于如何有效地将视觉内容翻译成LLM能够理解的文本。一个常见且可行的解决方案是利用一组可学习的查询 Token以基于查询的方式提取信息,这首先在Flamingo和BLIP-2中实现,随后被各种工作继承。
此外,一些方法使用基于投影的界面来缩小模态间隙。例如,LLavA采用简单的线性层来嵌入图像特征,MedVInTTE使用两层多层感知器作为桥接器。
还有一些工作探索了一种参数有效的调整方式。LLaMA适配器在训练期间在Transformer中引入了一个轻量级适配器模块。LaVIN设计了一种 Hybrid 模态适配器来动态决定多模态嵌入的权重。
除了可学习的界面外,使用专家模型,如图像字幕模型,也是弥合模态差距的可行方法。不同的是,专家模型背后的想法是在没有训练的情况下将多模态输入转换为语言。这样,LLM就可以通过转换后的语言间接地理解多模态。
例如,VideoChat Text使用预训练的视觉模型来提取动作等视觉信息,并使用语音识别模型丰富描述。尽管使用专家模型很简单,但它可能不如采用可学习的界面那么灵活。将外来模态转换为文本通常会造成信息丢失。正如VideoChat文本所指出的,将视频转换为文本描述会扭曲时空关系。
Closed-set问题是指一类问题,其中可能的答案选项是预先定义的,并限于有限集。评估通常在适应基准的数据集上进行。在这种情况下,可以通过基准度量自然地判断响应。例如,Instruction BLIP报告了ScienceQA的准确性,以及NoCaps和Flickr30K的CIDEr评分。
评估设置通常为Zero-Shot或微调。第一种设置通常选择涵盖不同一般任务的广泛数据集,并将其拆分为保留和保留数据集。在对前者进行调优后,使用未查看的数据集甚至未查看的任务对后者进行Zero-Shot性能评估。相反,在评估特定领域的下游任务时,经常会观察到第二种设置。例如,LLaVA和LLaMA适配器报告了ScienceQA上的微调性能。LLaVA Med报道了生物医学VQA的结果。
上述评估方法通常局限于小范围的选定任务或数据集,缺乏全面的定量比较。为此,一些人努力开发专门为MLLM设计的新基准。例如,傅等人构建了一个综合评估基准MME,该基准包括总共14项感知和认知任务。MME中的所有指令-答案对都是手动设计的,以避免数据泄露。
通过详细的排行榜和分析,对10个先进的MLLM进行了评估。LAMM Benchmark被提出用于在各种2D/3D视觉任务上定量评估MLLMs。Video-ChatGPT提出了一个基于视频的会话模型定量评估框架,其中包括两种评估,即基于视频的生成性能评估和Zero-Shot问题回答。
与Closed-set问题相比,对Open-set问题的回答可以更灵活,MLLM通常扮演聊天机器人的角色。因为聊天的内容可以是任意的,所以判断起来比封闭式输出更难。该标准可分为人工评分、GPT评分和案例研究。
人工评分要求人类评估产生的反应。这种方法通常涉及手工制作的问题,旨在评估特定的维度。例如,mPLUGOwl收集了一个视觉相关的评估集,以判断自然图像理解、图表和流程图理解等能力。类似地,GPT4Tools分别为微调和Zero-Shot性能构建了两组,并从思想、行动、论点和整体方面评估了响应。
由于人工评估是劳动密集型的,一些研究人员探索了GPT评分,即GPT评分。这种方法通常用于评估多模态对话的表现。LLaVA建议通过GPT-4从不同方面对反应进行评分,如帮助性和准确性。具体而言,从COCO验证集中采样30幅图像,每幅图像通过GPT-4上的Self-Instruction与一个简短问题、一个详细问题和一个复杂推理问题相关联。MLLM和GPT-4生成的答案被发送到GPT-4进行比较。随后的工作遵循了这一想法,并促使ChatGPT或GPT-4对结果进行评分或判断哪一个更好。
基于GPT-4的评分的一个主要问题是,目前,其多模态接口尚未公开。因此,GPT-4只能基于图像相关的文本内容(如标题或边界框坐标)生成响应,而无需访问图像。因此,在这种情况下,将GPT-4设置为性能上限可能是有问题的。
另一种方法是通过案例研究比较MLLM的不同能力。例如,mPLUG Owl使用一个与视觉相关的笑话理解案例来与GPT-4和MM-REAT进行比较。类似地,视频LLaMA提供了一些案例来展示几种能力,如视听协同感知和公共知识概念识别。
其他一些方法侧重于MLLM的一个特定方面。例如,Multi-Instruction提出了一种称为灵敏度的指标,用于评估模型对不同指令的鲁棒性。李等人深入研究了对象幻觉问题,并提出了一种查询方法POPE来评估这方面的性能。赵等人考虑了安全问题,并建议评估MLLM对对手攻击的鲁棒性。
ICL是LLM的重要涌现能力之一。ICL有两个很好的特点:
在MLLM的背景下,ICL已扩展到更多模态,从而产生了多模态ICL(M-ICL)。基于(§3.1.2)中的设置,在推理时,可以通过向原始样本添加一个演示集,即一组上下文中的样本来实现M-ICL。
在这种情况下,可以对模板进行扩展,如表3所示。请注意,作者列出了两个上下文中的示例进行说明,但示例的数量和顺序可以灵活调整。事实上,模型通常对演示的安排很敏感。
就多模态的应用而言,M-ICL主要用于两种场景:
前者通常包括从几个特定任务的例子中学习,并概括为一个新的但相似的问题。根据说明和演示中提供的信息,LLM可以了解任务在做什么以及输出模板是什么,并最终生成预期的答案。相比之下,工具使用的示例通常是纯文本的,而且更细粒度。它们通常包括一系列步骤,这些步骤可以按顺序执行以完成任务。因此,第二种情况与CoT密切相关(见§3.3)。
正如先驱工作所指出的,CoT是“一系列中间推理步骤”,已被证明在复杂推理任务中是有效的。CoT的主要思想是促使LLM不仅输出最终答案,而且输出导致答案的推理过程,类似于人类的认知过程。
受NLP成功的启发,已经提出了多项工作来将单模态CoT扩展到多模态CoT(M-CoT)。作者对这些工作进行了总结,如图3所示。首先,与M-IT的情况类似(见§3.1),需要填补模态缺口(§3.3.1)。然后,作者介绍了获得M-CoT能力的不同范式(§3.3.2)。最后,作者描述了M-CoT的更具体方面,包括配置(§3.3.3)和链的配置(§3.3.4)。
为了将成功从NLP转移到多模态,模态桥接是第一个需要解决的问题。大致有两种方法可以实现这一点:通过融合特征或通过将视觉输入转换为文本描述。与3.1.5中的情况类似,作者将它们分别分类为可学习的界面和专家模型,并按顺序进行讨论。
这种方法包括采用可学习的界面将视觉嵌入映射到单词嵌入空间。然后可以将映射的嵌入作为prompt,将其发送给具有其他语言的LLM,以引发M-CoT推理。例如,CoT PT链接多个Meta-Net用于prompt调整,以模拟推理链,其中每个Meta-Net将视觉特征嵌入到prompt的特定步骤偏差中。多模态CoT采用了一个具有共享基于Transformer的结构的两阶段框架,其中视觉和文本特征通过交叉注意力进行交互。
引入专家模型将视觉输入转换为文本描述是一种替代的模态桥接方式。例如,ScienceQA采用图像字幕模型,并将图像字幕和原始语言输入的级联提供给LLM。尽管这种方法简单明了,但在字幕处理过程中可能会出现信息丢失。
学习范式也是一个值得研究的方面。获得M-CoT能力的方法大致有三种,即通过微调和无训练的Few/Zero-Shot学习。三种方式的样本量要求按降序排列。
直观地说,微调方法通常涉及为M-CoT学习管理特定的数据集。例如,ScienceQA构建了一个包含讲座和解释的科学问答数据集,该数据集可以作为学习CoT推理的来源,并对该提出的数据集进行微调。多模态CoT也使用ScienceQA基准,但以两步方式生成输出,即基本原理(推理步骤链)和基于基本原理的最终答案。CoT PT通过快速调整和特定步骤视觉偏见的组合来学习隐含的推理链。
与微调相比,Few/Zero-Shot学习的计算效率更高。它们之间的主要区别在于,Few-Shot学习通常需要手工制作一些上下文中的例子,这样模型就可以更容易地一步一步地学习推理。
相比之下,Zero-Shot学习不需要任何具体的CoT学习示例。在这种情况下,通过prompt“让作者逐帧思考”或“这两个关键帧之间发生了什么”等设计指令,模型学会在没有明确指导的情况下利用嵌入的知识和推理能力。类似地,一些工作prompt模型,描述任务和工具使用情况,将复杂任务分解为子任务。
链结构是推理的一个重要方面,可以分为适应性的结构和预定义的结构。前一种配置要求LLM自己决定何时停止推理链,而后一种设置则停止具有预定义长度的链。
如何构建链条是一个值得研究的问题。作者将当前的工作总结为:
具体而言,基于填充的模态需要在周围上下文(前一步和后一步)之间推导步骤,以填补逻辑空白。相反,基于预测的模态需要在给定条件(如指令和先前的推理历史)的情况下扩展推理链。这两种类型的模态有一个共同的要求,即生成的步骤应该是一致和正确的。
受工具增强LLM成功的启发,一些研究探索了调用外部工具或视觉基础模型进行视觉推理任务的可能性。这些工作将LLM作为具有不同角色的助手,构建特定任务或通用的视觉推理系统。
与传统的视觉推理模型相比,这些工作表现出几个良好的特点:
本节的以下部分如图4所示:作者首先介绍了LLM辅助视觉推理系统构建中使用的不同训练范式(§3.4.2)。随后,作者深入研究了LLM在这些系统中发挥的主要作用(§3.4.3)。最后,作者以各种类型的绩效评估结束了作者的讨论。
根据训练范式,LLM辅助的视觉推理系统可分为无训练和微调两种类型。
在预训练的LLM中存储了丰富的先验知识,一种直观而简单的方法是冻结预训练的模型,并直接prompt-LLM满足各种需求。根据设置,推理系统可以进一步分为Few-Shot模型和Zero-Shot模型。Few-Shot模型需要一些手工制作的上下文样本(见§3.2),以指导LLM生成程序或执行步骤序列。这些程序或执行步骤用作相应基础模型或外部工具/模块的指令。通过直接利用LLM的语言学/语义知识或推理能力,Zero-Shot模型又向前迈进了一步。
例如,PointCLIP V2 prompt GPT-3生成具有3D相关语义的描述,以便更好地与相应的图像对齐。在CAT中,LLM被指示根据用户查询来细化字幕。
为了激活工具使用方面的规划能力,并提高系统的指令遵循能力,GPT-4工具引入了教学调优方法(见3.1)。收集了一个新的与工具相关的指令数据集,并用于微调模型。
为了进一步研究LLM在LLM辅助视觉推理系统中所扮演的角色,作者将现有的相关工作分为三种类型:
前两个角色,即控制者和决策者,与CoT有关(见§3.3)。它经常被使用,因为复杂的任务需要分解为更简单的中间步骤。当LLM充当控制器时,系统通常在单轮中完成任务,而在决策者的情况下,多轮更常见。作者将在以下部分描述LLM如何发挥这些作用。
在这种情况下,LLM充当中央控制器:
第一步通常是通过利用LLM的CoT能力来完成的。具体而言,LLM被明确prompt输出任务规划,或者更直接地,输出要调用的模块。例如,VISPROG prompt GPT-3输出可视化程序,其中每个程序行调用一个模块来执行子任务。
此外,LLM需要为模块输入输出参数名称。为了处理这些复杂的要求,使用了一些上下文中手工制作的示例(见§3.1)作为参考。这与推理链的优化密切相关(见§3.3),或者更具体地说,与最少到最多prompt技术密切相关。通过这种方式,复杂的问题被分解为按顺序解决的子问题。
在这种情况下,复杂的任务以多轮方式解决,通常以迭代的方式。决策者通常履行以下职责:
LLM作为一种语义精炼器,研究者主要利用其丰富的语言学和语义学知识。具体而言,LLM通常被指示将信息整合到一致流畅的自然语言句子中,或根据不同的具体需求生成文本。
有两种方法可以评估LLM-Aided视觉推理系统的性能,即基准度量和手动评估。
一种直接的评估方法是在现有的基准数据集上测试系统,因为度量可以直接反映模型完成任务的情况。例如,Chameleon是根据复杂的推理基准进行评估的,包括ScienceQA和TabMWP。IdealGPT报告了VCR和SNLI-VE的准确性。
一些作品采用手动评级来评估模型的特定方面。例如,ChatCaptioner要求人类注释者判断不同模型生成的标题的丰富性和正确性。GPT4Tools计算思想、行动、论证的成功率和总体成功率,以衡量模型在分配工具使用方面的能力。VISPROG在语言指导的图像编辑任务中评估模型时手动计算准确性。
MLLMs的发展仍处于初级阶段,因此还有很大的改进空间,作者总结如下:
在本文中,作者对现有的MLLM文献进行了调查,并对其主要方向提供了广泛的看法,包括3种常见的技术(M-IT、M-ICL和MCoT)和构建任务解决系统的通用框架(LAVR)。此外,作者强调了当前需要填补的研究空白,并指出了一些有前景的研究方向。作者希望这项调查能让读者清楚地了解MLLM的当前进展,并启发更多的工作。
[1].A Survey on Multimodal Large Language Models.
[2].https://github.com/BradyFU/Awesome-Multimodal-Large-Language-Models.