当前位置:   article > 正文

多模态大语言模型全面综述:架构,训练,数据,评估,扩展,应用,挑战,机遇...

多模态大语言模型

省时查报告-专业、及时、全面的行研报告库

省时查方案-专业、及时、全面的营销策划方案库

【免费下载】2024年3月份热门报告合集

推荐技术在vivo互联网商业化业务中的实践.pdf

推荐系统基本问题及系统优化路径.pdf

大规模推荐类深度学习系统的设计实践.pdf

荣耀推荐算法架构演进实践.pdf

推荐系统在腾讯游戏中的应用实践.pdf

小红书推荐系统中台应用实践

微信视频号实时推荐技术架构分享

推荐系统的变与不变

近期以GPT-4V为代表的多模态大语言模型(MLLM)成为新的研究热点,它使用功能强大的大型语言模型(LLMs)作为“大脑”来执行多模态任务。MLLM出人意料的新兴能力,如基于图像编写故事和无OCR的数学推理,在传统多模态方法中很少见,这表明了一条通往人工通用智能的潜在路径。为此,学术界和工业界都致力于开发能够与GPT-4V竞争甚至更优越的MLLM,以惊人的速度推动研究的极限。本文旨在追踪并总结多模态大语言模型(MLLM)的最新进展。本文首先展示了MLLM的基本公式,并描绘了其相关概念,包括架构、训练策略和数据,以及评估。然后,介绍了关于如何扩展MLLM以支持更细粒度、模态、语言和场景的研究课题。然后继续探讨了多模态幻觉和扩展技术,包括多模态上下文学习(M-ICL)、多模态链式推理(M-CoT)和基于LLM的可视化推理(LAVR)。在文章的最后,文章讨论了现有的挑战并指出了有前景的研究方向。

我们翻译解读最新论文:多模态大语言模型全面综述,文末有论文链接。

857088bc6f84633fa3f2395c46bfbad3.png作者:张长旺,图源:旺知识

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的时间线。

c79a5b8159329d9e380ad9fa2e72da0e.png

鉴于该领域的快速发展和有希望的结果,我们编写了这篇综述,为研究人员提供对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绘制了架构的图示。在这一部分中,我们将依次介绍每个模块。

f54cdefa2664453b400e3773876430d9.png

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。因此,该模型自然支持灵活的图像分辨率输入。

68e51bd5019400bca9f59786931dd228.png

2.2 预训练LLM

ef6381ac66e9212bb8bf677a6164dd5f.png

与其从头开始训练一个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)经历三个阶段的训练,即预训练、指令调整和对齐调整。每个训练阶段需要不同类型的数据,并实现不同的目标。在本节中,我们将讨论训练目标,以及数据收集和特征。

954e08993b3a121734a154c4c7765494.png

3.1 预训练

预训练是训练过程的第一阶段,主要目标是将不同的模态对齐并学习多模态世界知识。预训练阶段通常包括大规模的文本配对数据,例如字幕数据。这里,我们考虑一个常见的场景,MLLM被训练来对齐视觉和文本。如表3所示,给定一个图像,模型被训练以自回归的方式预测图像的字幕,遵循标准的交叉熵损失。预训练的常见方法是保持预训练模块(例如视觉编码器和LLM)冻结,并训练一个可学习的接口[20][35][72]。这样的想法是在不对齐不同模态的同时,不失去预训练的知识。一些方法[34][81][82]也解冻了更多的模块(例如视觉编码器),以便为对齐提供更多的可训练参数。值得注意的是,训练方案与数据质量密切相关。对于简短且嘈杂的字幕数据,可以采用较低分辨率(例如224)来加速训练过程,而对于更长和更清洁的数据,则最好利用更高的分辨率(例如448或更高)以减少幻觉。此外,ShareGPT4V[83]发现,在预训练阶段使用高质量的字幕数据,解锁视觉编码器有助于更好地对齐。

e4058d66a54362506619641574805b4b.png

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”)。

cbaab53a3e7b10f4d859cf960ce308ef.png

3.2 指令调整

3.2.1 介绍

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

3.2.2 训练细节

7c89a79a6ccfa33a9dc6bd0f8c10eb03.png

多模态指令样本通常包括一个可选的指令和一组输入-输出对。指令通常是一个自然语言句子,描述任务,例如,“详细描述图像。”输入可以是像VQA任务[99]那样的图像-文本对,或者仅仅是一个图像,像图像字幕任务[100]那样。输出是指令条件的输入的答案。指令模板是灵活的,可以根据手动设计而变化[20]、[25]、[98],如表5所示。注意,指令模板也可以推广到多轮对话的情况[20]、[37]、[71]、[98]。正式地,一个多模态指令样本可以用三元组形式表示,即(I, M, R),其中I、M、R分别代表指令、多模态输入和真实的响应。MLLM预测给定指令和多模态输入的答案:

d2827f6d8ba60ac60b0e227821eaf7a8.png

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

278730fc85589dee92660a5cc9bbcca6.png

其中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)来重述原始答案。

d87876ff822b03792e8203333895314e.png

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,根据

5210b7793626dc9260d0bf43af0950cf.png

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/951854
推荐阅读
相关标签