【论文解读系列】MLLM研究综述

news2024/9/24 23:31:57

A Survey on Multimodal Large Language Models

1 中国科大科技学院、认知智能国家重点实验室

2 腾讯优图实验室

MLLM目录

  • 0. 摘要
  • 1. 引言
  • 2. 总览
  • 3. 方法
    • 3.1 多模态指令调谐
      • 3.1.1 引言
      • 3.1.2 前言(Preliminaries)
      • 3.1.3 模态对齐
      • 3.1.4 数据
      • 3.1.5 模态桥接
      • 3.1.6 评估
    • 3.2 多模态情境学习
    • 3.3 多模态思想链 (Chain of Thought)
      • 3.3.1 模态桥接
      • 3.3.2 学习范式
      • 3.3.3 链配置
      • 3.3.4 生成模式
    • 3.4 LLM辅助视觉推理
      • 3.4.1 简介
      • 3.4.2 训练范式
      • 3.4.3 功能
      • 3.4.4 评估
  • 4. 挑战和未来方向
  • 5. 总结

0. 摘要

多模态大语言模型(Multimodal Large Language Model, MLLM)是近年来兴起的一个新的研究热点,它利用强大的大语言模型作为大脑来执行多模态任务。MLLM令人惊讶的突发能力,如基于图像编写故事无ocr数学推理,在传统方法中是罕见的,这表明了人工通用智能的潜在途径。在本文中,我们旨在追踪和总结最近的进展mllm。首先,我们提出了传销营销的概念,并对其相关概念进行了描述。

然后,我们讨论了关键技术和应用,包括多模态指令调谐(M-IT)、多模态上下文学习(M-ICL)、多模态思维链(M-CoT)和llm辅助视觉推理(LAVR)。最后,讨论了存在的挑战,并指出了未来的研究方向。鉴于传销的时代才刚刚开始,我们会不断更新这个调查,希望它能启发更多的研究。收集最新论文的相关GitHub链接可在 AMLLM 上获得。

1. 引言

近年来,大型语言模型取得了显著进展[1-4]。通过扩大数据规模模型规模,这些LLM培养了惊人的应急能力,典型的包括情境学习(ICL)[5]指令跟随(instruction following)[4,6]和思维链(Chain of Thought)[7]。尽管llm在大多数自然语言处理(NLP)任务上表现出令人惊讶的零/小样本推理性能,但它们天生对视觉“盲目”,因为它们只能理解离散文本

同时,大型视觉基础模型在感知方面进展迅速[8-10],传统的与文本结合更注重模态对齐[11]和任务统一[12],在推理方面发展缓慢。

正是由于这种互补性,单模态llm和视觉模型同时走向彼此,最终导致了MLLM这个新的领域。形式上,它指的是基于llm的模型,具有接收和推理多模态信息的能力。从发展人工通用智能(Artificial General Intelligence, AGI)的角度来看,MLLM可能会在LLM的基础上更进一步,原因如下:(1)MLLM更符合人类感知世界的方式。我们人类自然地接受多感官输入,这些输入往往是互补和合作的。因此,多模式信息有望使mlm更加智能化。(2) MLLM提供了更加人性化的界面。由于支持多模式输入,用户可以更灵活地与智能助手进行交互和交流。(3) MLLM是一个更全面的任务求解器。虽然llm通常可以执行NLP任务,但mllm通常可以支持更大范围的任务

GPT-4[2]引发了对MLLM的研究狂潮,因为它展示了惊人的例子。然而,GPT-4并没有打开多模式界面,直到现在还没有关于该模型的信息公开。尽管如此,研究界已经做出了许多努力来开发功能强大且开源的MLLM,并且已经展示了一些令人惊讶的实用能力,例如基于图像编写网站代码[13],理解模因的深层含义[14],以及无ocr的数学推理[15]。我们写这个调查是为了让研究者掌握MLLMs的基本思想、主要方法和目前的进展。请注意,我们主要关注视觉和语言模式,但也包括涉及其他模式的作品。具体来说,我们将现有的MLLM分为四种类型,并进行相应的总结,同时打开一个GitHub页面,实时更新。据我们所知,这是第一次关于MLLM的调查。

1688225347602

图1 所示 三种典型学习范式的比较。图片来自[16]。

2. 总览

本文将最近具有代表性的MLLMs分为四个主要类型:多模态指令调谐(MIT)、多模态上下文学习(M-ICL)、多模态思维链(M-CoT)和llm辅助视觉推理(LAVR)。前三者构成了MLLMs的基础,后三者是一个以LLM为核心的多模态体系。请注意,这三种技术是相对独立的,可以组合使用。因此,我们对一个概念的说明也可能涉及到其他技术。

我们按照四个主要类别来组织调查,并依次介绍。我们首先详细介绍了M-IT(§3.1),以揭示LLMs如何在两个方面适应多模态:架构和数据。然后我们介绍M-ICL(§3.2),这是一种有效的技术,通常用于推理阶段,以提高小样本学习性能。另一个重要的技术是M-CoT(§3.3),它通常用于复杂的推理任务。随后,我们进一步总结了llm在LAVR中主要扮演的几个角色(§3.4),其中经常涉及这三种技术。最后,对调查结果进行了总结,并提出了未来的研究方向。

3. 方法

3.1 多模态指令调谐

3.1.1 引言

指令是指对任务的描述。指令调优是一种在指令格式数据集集合上对预训练的llm进行调优的技术[16]。通过这种方式进行调优,llm可以通过遵循新指令来推广到未见过的任务,从而提高零样本学习性能。这个简单而有效的想法引发了NLP领域后续工作的成功,如ChatGPT[1]、InstructGPT[17]、FLAN[16,18]和OPT-IML[19]。

指令调整相关典型学习范式的比较如图1所示。监督调优方法通常需要许多特定于任务的数据来训练特定于任务的模型。提示方法减少了对大规模数据的依赖,可以通过提示工程来完成特定的任务。在这种情况下,虽然小样本性能有所提高,但零样本性能仍然很一般[5]。不同的是,指令调优学习如何推广到看不见的任务,而不是像两个对应的任务那样适应特定的任务。此外,指令调优与多任务提示高度相关[20]。

1688226042235

表1 构造多模态指令数据的简化模板。是任务的文本描述。 {, } and 分别是数据样本的输入和输出。请注意,对于某些数据集,输入中 的可能会被遗漏,例如图像标题数据集只有 。和 是令牌,分别表示LLM输入的开始和结束。本例来自于[31]。

1688226232372

图2 多模态指令调优(M-IT)的分类,包括数据构建、模态桥接和评估。

3.1.2 前言(Preliminaries)

本节简要说明了多模态指令样本的一般结构和M-IT的通用过程。

一个多模态指令样本通常包括一个指令和一个输入输出对。指令通常是描述任务的自然语言句子,例如“详细描述图像”。

输入可以是图像-文本对,如视觉问答(VQA)任务[46],也可以是图像,如图像字幕任务[47]。输出是以输入为条件的指令的答案。指令模板具有灵活性,可以手工设计[21,31,33],如表1所示。请注意,指令样本也可以推广到多轮指令,其中多模态输入是共享的[21,30,31,43]。

形式上,多模态指令样本可以用三元组形式表示,即(I,M, R),其中I,M, R分别表示指令、多模态输入和真值响应。MLLM在给定指令和多模态输入的情况下预测答案:
A = f ( I , M ; θ ) \mathcal{A}=f(\mathcal{I}, \mathcal{M} ; \theta) A=f(I,M;θ)
其中,A为预测结果,θ为模型参数。训练目标通常是用于训练llm的原始自回归目标[21,30,32,43],在此基础上,MLLM被迫预测响应的下一个标记。目标可以表示为:
L ( θ ) = − ∑ i = 1 N log ⁡ p ( R i ∣ I , R < i ; θ ) \mathcal{L}(\theta)=-\sum_{i=1}^{N} \log p\left(\mathcal{R}_{i} \mid \mathcal{I}, \mathcal{R}_{<i} ; \theta\right) L(θ)=i=1Nlogp(RiI,R<i;θ)
其中N是基真响应的长度。

3.1.3 模态对齐

通常在配对数据上执行大规模(与指令调整相比)预训练,以鼓励不同模式之间的对齐[25,29,35,38],这比M-IT更早。校准数据集通常是图像-文本对[48-56]或自动语音识别(ASR)[57-59]数据集,它们都包含文本。更具体地说,图像-文本对以自然语言句子的形式描述图像,而ASR数据集包括语音转录。校准预训练的一种常见方法是保持预训练模块(例如视觉编码器和llm)冻结并训练一个可学习的接口[21,37,38],这将在下一节中进行说明。

3.1.4 数据

多模态指令遵循数据的收集是M-IT的关键。收集方法大致可分为基准适应自我指导[60]和混合组合。我们依次说明这三种方法。

基准适应:基准适配基准数据集是高质量数据的丰富来源。因此,大量的研究[23 - 26,28,29,32,35]利用现有的基准数据集来构建指令格式的数据集。以VQA数据集的转换为例,原始样本是一个输入输出对,其中输入包括图像和自然语言问题,输出是基于图像的问题的文本答案。这些数据集的输入-输出对可以自然地包含指令样本的多模态输入和响应(见§3.1.2)。指令,即任务的描述,可以来自手动设计,也可以来自GPT辅助下的半自动生成。具体来说,一些作品[13,23,25,26,36,37]手工制作了一个候选指令池,并在训练期间对其中一个进行采样。我们为VQA数据集提供了一个指令模板示例,如表2所示。另一些作品则手工设计一些种子指令,并使用这些指令提示GPT生成更多的种子指令[24,31,33]。

image-20230702101101717

表2 VQA数据集的指令模板,引自[23]。 和 {Question} 分别是原始VQA数据集中的图像和问题

自我指导:尽管现有的基准数据集可以提供丰富的数据源,但它们通常不能很好地满足现实场景中的人类需求,例如多轮对话。为了解决这个问题,一些作品通过自我指导来收集样本[60],这引导llm使用一些手工注释的样本来生成遵循文本指令的数据。具体来说,一些遵循指令的样本是手工制作的种子样本,然后提示ChatGPT/GPT-4以种子样本为指导生成更多的指令样本。LLaVA[21]通过将图像翻译成带有标题和边界框的文本,并提示GPT-4在种子示例的上下文中生成新数据,将该方法扩展到多模态领域。通过这种方式,构建了一个M-IT数据集,称为llava - instruction -150k。根据这一思路,随后的作品如MiniGPT-4[13]、ChatBridge[29]、GPT4Tools[34]和DetGPT[38]开发了不同的M-IT数据集,以满足不同的需求。

混合组合:除了M-IT数据外,纯语言用户助理会话数据也可用于提高会话熟练程度指令遵循能力[22,31,32,35]。LaVIN通过从纯语言和M-IT数据中随机抽样,直接构建一个小批量。multidirective[26]通过融合单模态和多模态数据,探索了不同的训练策略,包括混合指令调优(混合两种数据并随机洗牌)、顺序指令调优(文本数据后是多模态数据)和基于适配器的顺序指令调优。实验结果表明,混合指令调优至少不比在多模态数据上单独调优差。

3.1.5 模态桥接

由于LLM只能感知文本,弥合自然语言和其他模式之间的差距是必要的。然而,以端到端方式训练大型多模式模型将是昂贵的。此外,这样做会有灾难性遗忘的风险[61]。因此,更实用的方法是在预训练的视觉编码器和LLM之间引入一个可学习的接口。另一种方法是在专家模型的帮助下将图像翻译成语言,然后将语言发送给LLM。

可学习的推理:可学习接口可学习接口负责在冻结预训练模型的参数时连接不同的模式。挑战在于如何有效地将视觉内容翻译成LLM可以理解的文本。一种常见且可行的解决方案是利用一组可学习的查询标记以基于查询的方式提取信息[62],该解决方案首先在 Flamingo [63] 和 BLIP-2 [64] 中实现,随后由各种工作[23,25,42]。此外,一些方法使用基于投影的接口来缩小模态差距[21,30,38,43]。例如,LLavA [21]采用简单的线性层来嵌入图像特征,MedVInTTE [30]使用两层多层感知器作为桥梁。还有一些作品探索了参数高效的调整方式。 LLaMA-Adapter [28, 35] 在训练过程中在 Transformer 中引入了一个轻量级适配器模块。 LaVIN [32] 设计了一种混合模态适配器来动态决定多模态嵌入的权重。

专家模型:除了可学习的接口之外,使用专家模型(例如图像字幕模型)也是弥合模态差距的可行方法[35]。不同的是,专家模型背后的想法是将多模态输入转换为语言而无需训练。通过这种方式,LLM可以通过转换后的语言间接理解多模态。例如,VideoChat-Text [33] 使用预先训练的视觉模型来提取动作等视觉信息,并使用语音识别模型丰富描述。尽管使用专家模型很简单,但它可能不如采用可学习界面那么灵活。将外来形式转换为文本通常会导致信息丢失。正如 VideoChat-Text [33] 指出的那样,将视频转换为文本描述会扭曲时空关系。

3.1.6 评估

M-IT 后评估模型性能的指标有多种,根据问题类型大致可分为两类,包括封闭集开放集

封闭集:封闭集问题是指一种问题类型,其中可能的答案选项是预先定义的并限制在有限的集合内。评估通常在适应基准的数据集上进行。在这种情况下,可以自然地通过基准指标来判断响应[21,23,25,26,28,29,32,35]。例如,Instruct-BLIP [23] 报告了 ScienceQA [65] 的准确性,以及 NoCaps [67] 和 Flickr30K [68] 上的 CIDEr 分数 [66]。评估设置通常是零样本[23,26,29,36]或微调[21,23,25,28,32,35–37]。第一个设置通常选择涵盖不同一般任务的广泛数据集,并将它们分为保留数据集和保留数据集。在对前者进行调整后,使用未见过的数据集甚至未见过的任务对后者进行零样本性能评估。相反,第二种设置经常出现在特定领域下游任务的评估中。例如,LLaVA [21] 和 LLaMA-Adapter [28] 报告了 ScienceQA [65] 上的微调性能。 LLaVA-Med [37] 报告了生物医学 VQA 的结果 [69–71]。

上述评估方法通常仅限于选定的小范围任务或数据集,缺乏全面的定量比较。为此,一些人努力开发专门为 MLLM 设计的新基准 [39,40,72]。例如,Fu等人[73]构建了一个综合评估基准MME,共包括14个感知和认知任务。 MME中的所有指令-答案对都是手动设计的,以避免数据泄漏。通过详细的排行榜和分析来评估 10 个高级 MLLM。 LAMM-Benchmark [39] 被提议在各种 2D/3D 视觉任务上定量评估 MLLM。 Video-ChatGPT [40]提出了一种基于视频的会话模型的定量评估框架,其中包含两种类型的评估,即基于视频的生成性能评估和零样本问答

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

由于人工评估是劳动密集型的,一些研究人员探索了用GPT进行评级,即GPT评分。这种方法通常用于评估多模式对话的表现。 LLaVA [21] 建议通过 GPT-4 在不同方面对响应进行评分,例如有用性和准确性。具体来说,从 COCO [48] 验证集中采样了 30 个图像,每个图像通过 GPT-4 上的自我指导与一个简短问题、一个详细问题和一个复杂推理问题相关联。 MLLM 和 GPT-4 生成的答案都会发送到 GPT4 进行比较。后续工作遵循这一想法,并提示 ChatGPT [22] 或 GPT-4 [25,29,32,36,37] 对结果进行评分 [22,25,29,32,37] 或判断哪个更好 [35]。

基于 GPT-4 的评分的一个主要问题是,目前其多模式界面尚未公开。因此,GPT-4 只能根据图像相关的文本内容(例如标题或边界框坐标)生成响应,而无需访问图像 [37]。因此,在这种情况下将 GPT-4 设置为性能上限可能是有问题的。另一种方法是通过案例研究来比较 MLLM 的不同能力。例如,mPLUG-Owl 使用视觉相关的笑话理解案例与 GPT-4 [2] 和 MM-REACT [14] 进行比较。同样,Video-LLaMA [42]提供了一些案例来展示多种能力,例如视听共同感知常识概念识别

其他:一些其他方法侧重于 MLLM 的特定方面。例如,MultiInstruct [26] 提出了一种称为灵敏度的指标,用于评估模型对各种指令的鲁棒性。 Li等人[44]深入研究了物体幻觉问题,并提出了一种查询方法POPE来评估这方面的性能。赵等人[45]考虑了安全问题,并提出评估 MLLM 对对抗性攻击的鲁棒性。

3.2 多模态情境学习

ICL(In-Context Learning 情景学习) 是LLM重要的新兴能力之一。ICL 有两个优点:(1)与从大量数据中学习隐式模式的传统监督学习范式不同,ICL 的关键是从类比中学习[74]。具体来说,在 ICL 设置中,LLM从一些示例以及可选指令中学习,并推断出新问题,从而以几次方式解决复杂和看不见的任务 [14,75,76]。 (2)ICL通常以免训练的方式实现[74],因此可以在推理阶段灵活地集成到不同的框架中。与 ICL 密切相关的技术是指令调整(参见第 3.1 节),经验表明它可以增强 ICL 能力 [16]。

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

image-20230702162540905

表 3. 构造 M-ICL 查询的模板的简化示例,改编自 [31]。为了便于说明,我们列出了两个上下文示例和一个用虚线分隔的查询。 {instruction} 和 {response} 是来自数据样本的文本。 是表示多模式输入(本例中为图像)的占位符。 和 是分别表示 LLM 输入的开始和结束的标记。

在多模态应用方面,M-ICL主要用于两种场景:(1)解决各种视觉推理任务[14,27,63,78,79]和(2)教授LLM使用外部工具[75,76] ,80]。前者通常涉及从一些特定于任务的示例中学习并归纳到一个新的但类似的问题。从说明和演示中提供的信息中,LLM可以了解任务正在做什么以及输出模板是什么,并最终生成预期的答案。相比之下,工具使用的示例通常是纯文本且更细粒度。它们通常包含一系列可以顺序执行以完成任务的步骤。因此,第二种情况与 CoT 密切相关(参见§3.3)。

3.3 多模态思想链 (Chain of Thought)

正如开创性工作[7]所指出的,CoT是“一系列中间推理步骤”,已被证明在复杂推理任务中是有效的[7,87,88]。 CoT的主要思想是促使LLM不仅输出最终答案,而且输出导致答案的推理过程,类似于人类的认知过程

受 NLP 成功的启发,多项工作 [81,82,85,86] 被提出将单模态 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 节)。

3.3.1 模态桥接

为了将 NLP 的成功转移到多模态,模态桥接是首先要解决的问题。大致有两种方法可以实现这一目标:通过特征融合或通过将视觉输入转换为文本描述。与§3.1.5的情况类似,我们将它们分别归类为可学习接口专家模型,并依次讨论。

可学习的接口:这种方法涉及采用可学习的接口将视觉嵌入映射到单词嵌入空间。然后,映射的嵌入可以作为提示,发送给其他语言的LLM以引发 M-CoT 推理。例如,CoT-PT [81]链接多个元网络进行提示调整以模拟推理链,其中每个元网络将视觉特征嵌入到提示的特定步骤偏差中。 Multimodal-CoT [82] 采用具有共享 Transformer 结构的两阶段框架 [89],其中视觉和文本特征通过交叉注意力进行交互

专家模型:引入专家模型将视觉输入转换为文本描述是另一种模态桥接方式。例如,ScienceQA [65] 采用图像字幕模型,并将图像字幕和原始语言输入的串联提供给LLM。虽然简单明了,但这种方法可能会在字幕过程中丢失信息 [33, 82]。

3.3.2 学习范式

学习范式也是一个值得研究的方面。获取 M-CoT 能力的方法大致有三种,即通过微调免训练的少样本/零样本学习。三种方式的样本量要求按降序排列。

直观上,微调方法通常涉及为 M-CoT 学习策划特定的数据集。例如,ScienceQA [65] 构建了一个包含讲座和解释的科学问答数据集,它可以作为学习 CoT 推理的来源,并在此数据集上进行微调。 Multimodal-CoT [82] 也使用 ScienceQA 基准,但以两步方式生成输出,即基本原理(推理步骤链)和基于基本原理的最终答案。 CoT-PT [81] 通过结合提示调整特定步骤的视觉偏差来学习隐式推理链

与微调相比,少样本/零样本学习的计算效率更高。它们之间的主要区别在于,小样本学习通常需要手工制作一些上下文中的示例,以便模型可以更轻松地学习逐步推理。相比之下,零样本学习不需要任何特定的 CoT 学习示例

image-20230702171143203

图 3. 多式联运思想链 (M-CoT) 分类。 M-CoT 的关键方面包括模态桥接学习范式链配置生成模式

在这种情况下,通过提示“让我们逐帧思考”或“这两个关键帧之间发生了什么”等设计指令[85, 86],模型可以在没有明确指导的情况下学习利用嵌入的知识和推理能力。类似地,一些作品 [14, 83] 通过任务描述和工具使用来提示模型,以将复杂任务分解为子任务

3.3.3 链配置

链配置是推理的一个重要方面,可以分为自适应预定义的形式。前一种配置要求 LLM 自行决定何时停止推理链 [14,65,75,76,82,83],而后一种设置则以预定义的长度停止推理链 [81, 84–86] 。

3.3.4 生成模式

链条如何构建是一个值得研究的问题。我们将当前的工作总结为(1)基于填充的模式和(2)基于预测的模式。具体来说,基于填充的模式需要在周围上下文(之前和之后的步骤)之间推导步骤来填补逻辑间隙 [85, 86]。相反,基于预测的模式需要在给定条件(例如指令和先前的推理历史)的情况下**扩展推理链[**14,65,75,76,82,83]。这两种类型的模式都有一个共同的要求,即生成的步骤应该一致且正确

image-20230702173510417

图 4. LLM辅助视觉推理 (LAVR) 的分类。 LAVR的关键方面包括培训范式、LLM的主要功能和绩效评估。

3.4 LLM辅助视觉推理

3.4.1 简介

受到工具增强LLMs[95-98]成功的启发,一些研究探索了调用外部工具[14,34,75,76]或视觉基础模型[14,83,84,91,92,99]的可能性.用于视觉推理任务。这些作品以LLMs为不同角色的帮助者,构建了特定任务[84,90,93]或通用[14,75,76,80,83]视觉推理系统。

与传统的视觉推理模型[100-102]相比,这些作品表现出几个良好的特点:(1)泛化能力强。这些系统配备了从大规模预训练中学到的丰富的开放世界知识,可以轻松泛化到看不见的物体或概念,并具有出色的零/少样本性能[75,76,90,91,93,94]。 (2)涌现能力。借助强大的推理能力和丰富的LLM知识,这些系统能够执行复杂的任务。例如,给定一个图像,MM-REACT [14] 可以解释表面之下的含义,例如解释为什么一个模因很有趣。 (3)更好的交互性和控制性。传统模型通常允许一组有限的控制机制,并且通常需要昂贵的精选数据集[103,104]。相比之下,基于 LLM 的系统能够在用户友好的界面中进行精细控制(例如点击和自然语言查询)[84]。

本节的以下部分的组织如图 4 所示:我们首先介绍用于构建 LLM 辅助视觉推理系统(第 3.4.2 节)的不同训练范例。随后,我们深入研究LLM在这些系统中发挥的主要作用(§3.4.3)。最后,我们以各种类型的绩效评估来结束我们的讨论。

3.4.2 训练范式

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

免训练: 由于预训练的LLM中存储了丰富的先验知识,一种直观且简单的方法是冻结预训练的模型并直接提示LLM满足各种需求。根据设置,推理系统可以进一步分为少样本模型和零样本模型。少样本模型 [14,75,76,80] 需要一些手工制作的上下文样本(参见第 3.2 节)来指导LLM生成程序或一系列执行步骤。这些程序或执行步骤作为相应基础模型或外部工具/模块的指令。零样本模型更进一步,直接利用LLM的语言学/语义知识或推理能力。例如,PointCLIP V2 [93]提示GPT-3生成具有3D相关语义的描述,以便更好地与相应图像对齐。在 CAT [84] 中,LLM被指示根据用户查询来完善标题

微调:为了激活工具使用方面的规划能力并提高系统的指令跟踪能力,GPT4Tools [34]引入了指令调整方法(参见§3.1)。收集新的与工具相关的指令数据集并用于微调模型。

3.4.3 功能

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

  • LLM 作为控制者

  • LLM 作为决策者

  • LLM 作为语义精炼者

前两个角色,即控制者决策者,与 CoT 有关(参见第 3.3 节)。它被频繁使用,因为复杂的任务需要分解为中间更简单的步骤。当LLM充当控制器时,系统通常在单轮中完成任务,而在决策者的情况下,多轮更常见。我们在以下部分中描述了LLM如何发挥这些作用。

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

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

LLM作为语义精炼 当LLM作为语义精炼时,研究人员主要利用他们丰富的语言学和语义知识。具体来说,法学硕士经常被要求将信息整合成一致且流畅的自然语言句子[94]或根据不同的特定需求生成文本[84,90,93]。

3.4.4 评估

评估 LLMAided 视觉推理系统性能的方法有两种,即基准指标[75,76,90,91,93,94]和手动评估[34,76,92]。

基准指标:一种直接的评估方法是在现有基准数据集上测试系统,因为指标可以直接反映模型完成任务的程度。例如,Chameleon [75] 在复杂推理基准上进行评估,包括 ScienceQA [65] 和 TabMWP [106]。 IdealGPT [91] 报告了 VCR [107] 和 SNLI-VE [108] 的准确性。

手动评估:有些作品采用手动评级来评估模型的特定方面。例如,ChatCaptioner [92] 要求人类注释者判断不同模型生成的标题的丰富性和正确性。GPT4Tools [34] 计算思想、行动、论证的成功率和总体成功率,以衡量模型分配工具使用的能力。 VISPROG [76] 在评估语言引导图像编辑任务的模型时手动计算准确性

4. 挑战和未来方向

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

  • 当前的MLLM 的感知能力仍然有限,导致视觉信息获取不完整或错误[13, 73]。这可能是由于信息容量和计算负担之间的折衷。更具体地说,Q-Former [64] 仅使用 32 个可学习标记来表示图像,这可能会导致信息丢失。尽管如此,扩大token大小不可避免地会给法学硕士带来更大的计算负担,因为法学硕士的输入长度通常是有限的。一种潜在的方法是引入像 SAM [8] 这样的大型视觉基础模型,以更有效地压缩视觉信息 [21, 29]。
  • MLLM 的推理链可能很脆弱。例如,Fu等人[73]发现,在数学计算案例中,尽管MLLM计算出正确的结果,但由于推理的破坏,它仍然给出了错误的答案。这表明单峰法学硕士的推理能力可能不等于接收视觉信息后的法学硕士的推理能力。改进多模态推理的话题值得研究。
  • MLLM 的指令跟踪能力需要升级。在 M-IT 之后,尽管有明确的指示“请回答是或否”,一些 MLLM 仍无法生成预期的答案(“是”或“否”)[73]。这表明指令调优可能需要涵盖更多任务以提高泛化能力。
  • 物体幻觉问题很普遍 [13, 44],这在很大程度上影响了 MLLM 的可靠性。这可能归因于对齐预训练不足[13]。因此,一个可能的解决方案是在视觉和文本模态之间执行更细粒度的对齐。细粒度是指图像的局部特征,可以通过SAM[21,29]获得,以及相应的局部文本描述
  • 需要参数有效的培训。现有的两种模态桥接方式,即可学习接口和专家模型,都是减轻计算负担的初步探索更高效的训练方法可以在计算资源有限的情况下释放 MLLM 的更多功能。

5. 总结

在本文中,我们对现有的 MLLM 文献进行了调查,并对其主要方向提供了广泛的看法,包括三种常见技术(M-IT、M-ICL 和 MCoT)以及构建任务解决系统的通用框架(LAVR)。此外,我们强调了当前需要填补的研究空白,并指出了一些有前途的研究方向。我们希望这项调查能让读者清楚地了解 MLLM 当前的进展,并激发更多的工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/710287.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入理解 Golang: 网络编程

Go 中的 Epoll 关于计算机网络分层与 TCP 通信过程过程此处不再赘述。 考虑到 TCP 通信过程中各种复杂操作&#xff0c;包括三次握手&#xff0c;四次挥手等&#xff0c;多数操作系统都提供了 Socket 作为 TCP 网络连接的抽象。Linux -> Internet domain socket -> SOC…

layui中文、以及图标乱码解决方案

最终解决方案…手动对js文件中的中文&#xff0c;用unicode进行编码

修改 ChatGLM2-6B 自我认知的 Lora 微调教程

修改 ChatGLM2-6B 自我认知的 Lora 微调教程 0. 背景1. 部署微调项目2. 数据集说明3. 模型监督微调(Lora)4. 模型效果测试5. 导出微调模型6. 调用导出的模型 0. 背景 现在开始学习微调&#xff0c;主要学习 Lora 微调。 这次尝试了修改 ChatGLM2-6B 自我认知&#xff0c;文章…

2023.7.2-【for语言】:输入一个整数,并输入该整数对应个数的整数,求他们的和与平均值

程序&#xff1a; int a;int b0;int c;int sum0;double ave;printf("请输入待求整数的个数&#xff1a;");scanf("%d",&a);for (b 1; b<a; b){printf("整数%d&#xff1a;", b);scanf("%d", &c);sum c;}printf("以上…

vite中的env环境变量

一、vite中使用env环境变量基本介绍 Vite 是一种现代化的前端构建工具&#xff0c;旨在提供快速的开发和构建体验。在 Vite 中&#xff0c;env 环境变量是一种用于在项目中设置和访问全局变量的机制。通过 env 变量&#xff0c;可以在不同环境下配置不同的参数&#xff0c;实现…

时间序列分解 | Matlab 互补集合经验模态分解(CEEMD)的信号分解

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 时间序列分解 | Matlab 互补集合经验模态分解(CEEMD)的信号分解 部分源码 %---------------------

Java基础---为什么不能用浮点数表示金额

目录 缘由 十进制转二进制 不是所有数都能用二进制表示 IEEE 754 避免精度丢失 缘由 因为不是所有的小数都能用二进制表示&#xff0c;所以&#xff0c;为了解决这个问题&#xff0c;IEEE提出了一种使用近似值表示小数的方式&#xff0c;并且引入了精度的概念这就是我们所…

Docker部署.Net7.0

1、新建项目 勾选启用Docker,会自动生成Dockerfile文件 2、生成镜像 打开PowerShell 进入项目解决方案目录路径 把项目打包成镜像 //镜像名称net7. 注意镜像名称后面的空格和点符号必须有docker build -t net7.0 .打包完成后可以看到项目的镜像 3、创建容器并启动 //…

C++文件操作 - 写操作----简单示例

C文件操作 - 写操作 一、什么是文件 内存中存放的数据在计算机关机后就会消失。要长久保存数据&#xff0c;就要使用硬盘、光盘、U盘等设备。为了便于数据的管理和检索&#xff0c;引入了“文件”的概念。 一篇文章、一段视频、一个可执行程序&#xff0c;都可以被保存为一个文…

BeanShell:多线程环境下Interpreter解释器的优化使用

BeanShell是用 Java 编写的一个小型、免费、可嵌入的 Java 代码的脚本解释器。 BeanShell动态执行标准Java语法&#xff0c;并使用通用语法对其进行扩展 脚本编写便利性&#xff0c;适用于 Java 的轻量级脚本。本文说明在并发环境下对BeanShell更加优化的使用方式。 简单示例 …

geoserver加载arcgis server瓦片地图显示异常问题处理

1.全能地图下载的瓦片conf.xml格式有问题首先要修改格式&#xff0c;conf.cdi文件也需要修改格式&#xff0c;修改为UTF-8或者UTF-8无BOM编码(不同的notepadd显示不同) 2. 下载的conf.xml坐标系默认从最小级别开始&#xff0c;一定要把前几级也补全&#xff0c;从0级开始 <L…

diffusion model

(正课)Diffusion Model 原理剖析 (1_4) (optional)_哔哩哔哩_bilibili(正课)Diffusion Model 原理剖析 (1_4) (optional)是【授权】李宏毅2023春机器学习课程的第42集视频&#xff0c;该合集共计64集&#xff0c;视频收藏或关注UP主&#xff0c;及时了解更多相关视频内容。http…

高中学习3大主流国际课程-申请国外大学本科

目录 作用 3大主流国际课程是什么 A-Level AP课程 IB 3大主流国际课程对比 作用 帮助学生申请国外大学本科。 如果能够选择到适合的国际课程&#xff0c;未来的留学规划就相当于成功了一半 3大主流国际课程是什么 A-Level、AP、IB三大国际课程 A-Level A-Level课程&a…

Kali Linux基础使用

Kali Linux基础使用 一、搭建渗透测试攻击环境1.1、Vmware workstation1.2、下载与安装1.3、安装渗透攻击机1.3.1、配置root用户登录1.3.2、普通用户切换到root用户1.3.3、修改kali语言1.3.4、网络配置1.3.4.1、桥接网络1.3.4.2、NAT1.3.4.3、仅主机 1.4、编辑网络文件 二、Lin…

05 - C++学习笔记: 一维数组和多维数组

数组是一种非常重要的数据结构&#xff0c;它允许用连续的方式存储和访问一组相同类型的数据。无论是存储学生成绩、处理图像数据还是解决复杂的数学问题&#xff0c;数组都发挥着重要的作用。 1️⃣ 一维数组的定义与引用 ✨ 倒序输出 在C中&#xff0c;一维数组是一种存储…

阿斯巴甜再亮红灯,配料表“瘦身”成趋势

【潮汐商业评论/原创】 6月以来&#xff0c;北方大部分地区出现近40度的高温天气&#xff0c;北京更是多年不遇的发布高温红色预警&#xff0c;酷暑难耐的Allen发现自己今年在水饮的消耗比往年高了好几倍&#xff0c;每天最快乐的时候莫过于一罐冰镇可乐&#xff0c;一口下去仿…

C/C++开发,opencv基于FileStorage读写文件介绍及示例

目录 一、FileStorage类 1.1 FileStorage类说明 1.2 FileStorage类写入说明 1.3 FileStorage类读取说明 二、FileStorage类应用示例 2.1 应用代码 2.2 工程组织&#xff08;Makefile&#xff09; 2.3 编译及测试 一、FileStorage类 1.1 FileStorage类说明 FileStorage类在ope…

6.S081——并发与锁部分(自旋锁的实现)——xv6源码完全解析系列(9)

0.briefly speaking 并发(Concurrency)指的是在多处理器系统(multiprocessor)中的并行&#xff0c;线程切换和中断导致的多个指令流交互错杂的情况&#xff0c;再和现代处理器体系结构中的多发射、乱序执行、Cache一致性等话题结合起来&#xff0c;这几乎变成了一个相当相当复…

装饰器设计模式应⽤-JDK源码⾥⾯的Stream IO流

装饰器设计模式在JDK源码⾥⾯应⽤场景 抽象组件&#xff08;Component&#xff09;&#xff1a;InputStream 定义装饰⽅法的规范被装饰者&#xff08;ConcreteComponent) : FileInputStream、ByteArrayInputStream Component的具体实现&#xff0c;也就是我们要装饰的具体对…

09-属性描述符Object.getOwnPropertyDescriptor(),原始数据不可重写

把原始数据作为属性值传入新对象中&#xff0c;发生原始数据修改丢失的问题怎么办&#xff1f; 应该使用Object.defineProperty()设置该属性用Object.defineProperty()设置的属性&#xff0c;默认writable、enumerable、configurable均为false并且自定义提醒该属性设置了不可重…