专栏名称: 深度学习自然语言处理
一个从大三就接触NLP的小小NLPer,本公众号每天记录自己的一点一滴,每篇文章最后也有托福单词等新知识,学技术同时,也一点一滴积累额外的知识。期待与你在知识的殿堂与你相遇!
目录
相关文章推荐
NaturePortfolio  ·  对话编辑︱Springer ... ·  3 天前  
科研圈  ·  手机上也能刷论文,还自带解读? ·  昨天  
科研大匠  ·  哈佛教授发文感叹:英伟达憾失DeepSeek ... ·  4 天前  
51好读  ›  专栏  ›  深度学习自然语言处理

最新多模态大模型综述|连续还是离散?多模态大模型的进化之路

深度学习自然语言处理  · 公众号  ·  · 2024-11-18 15:08

正文

,复旦大学数据智能与社会计算实验室


Fudan DISC


近年来,多模态大模型(LMM)相关的研究百花齐放。然而,现有的综述缺乏对LMM构建中各方面的研究问题的全面讨论。为此,来自复旦大学的研究团队尝试从一个更加具有 一般性 的角度—— “输入输出空间扩展” 出发,分析了 577篇 多模态大模型相关论文, 全面系 统地 总结了 当前多模态大模型的研究现状及未来趋势。


综述链接 (点击文末 阅读原文 即可跳转):

https://www.preprints.org/manuscript/202411.0685



01

引言


从ChatGPT问世,大语言模型(Large Language Model,简称LLM)的发展极大地推动了通往泛用性人工智能(General-purpose AI)的进程。 然而,要实现更切实广泛的应用,需要模型能够理解语言之外的信息——如图像、视频、音频等多种模态。因此,研究者们开始探讨如何扩展大语言模型的输入输出空间:如图1所示,通过输入端扩展使其理解多模态内容,通过输出空间扩展使其生成多模态的回复,最终成为支持多模态信息交互的多模态大模型(Larg Multi-modal Models, 简称LMM)。

图1:多模态大模型框架概览:将输入和输出扩展到更多的模态和信息,并通过统一建模学习模态间的交互,对齐跨模态的表示。
目前已经有不少的研究工作对LMM近来的发展进行了回顾,但由于目前LMM的研究呈现出百花齐放的态势,多数综述都聚焦于一个特定的角度进行讨论,或局限于对输入端拓展的讨论,或局限于特定的模型架构(仅考虑LLaVA类以连续形式编码模态信息进行扩展,而不考虑离散化表示的LMM,如Chameleon,AnyGPT等),或局限于特定的场景和模态,或局限于特定的子问题,比如数据的构建、评测等。这样的局限性使得LMM构建过程中的问题没有得到全面且系统性的梳理。
为此,本文则尝试从一个更加一般性的角度,“输入输出空间扩展”出发对LMM的构建方法进行回顾。 具体来说,我们希望基于现有工作在本文中讨论和回答以下问题:
  • 如何通过不同的方式,将或 离散或连续的模态表示 文本空间 结合得到 多模态的输入输出空间
  • 如何 设计模型架构及对应的训练策略 对齐 所构建的多模态输入输出空间?
  • 如何在 所拓展的输入输出空间 的基础上对多模态大模型进行 全面可靠的评测
  • 具身智能 场景为例,输入输出扩展的框架如何 进一步扩展到任意形式的输入输出信号 ,最终达到具有一般性能力的世界基座模型?

本文将以从视觉-语言的角度出发,并自然地拓展到对任意模态的讨论上。在本文的最后,我们对上述问题进行了简单的总结,并提供了对应的take-home messages以及对未来的展望。希望本综述能够为多模态领域的研究者提供一个直观全面的概述并给未来的发展带来一些启示。



02

多模态研究的演变:
从任务专用到通用架构


图2:多模态模型的演变发展历程


在介绍LMM之前,我们希望简单地回顾深度学习场景下多模态研究范式的演变,来说明LMM的特别以及先进之处。 具体而言,多模态的研究的范式经历了 从“任务专用”到“通用架构”三个阶段的演进过程

  • 任务导向阶段 :早期的多模态模型大多是为特定的,具有应用场景的任务设计的,比如视觉问答(VQA)、图像描述(Image Captioning)和图文检索(Image-Text Retrieval)等。每个任务通常需要专门的形式和数据集进行定义。主流的模型架构也根据对应的任务进行设计,因此通用性较差。模型的设计和发展依赖于大量训练样本和特定任务的指标,这样的范式在跨任务应用中表现不佳,且迁移成本高。
  • 视觉-语言预训练阶段 :为了提升模型的通用性,研究者们引入了类似BERT的自监督预训练方法。在大规模图文对(Image-Text Pair)数据上进行自监督学习,获得的多模态表示可用于多个下游任务。这种方式使模型能够适应更广泛的任务场景,但依然需要在特定任务上引入特定的参数进行微调,未能实现真正的零样本应用。
  • 多模态大模型阶段 :受大语言模型的启发,研究者们希望利用语言作为用户与模型的统一交互工具,通过将不同模态的信息与语言对齐,使得模型能够在零样本场景中理解多模态信息并生成响应。这种通用性和交互性的提升使得大规模多模态模型有望成为多模态领域的基础模型,支持未来的广泛应用。
详细论述请读者参阅原论文Section 2。



03

输入输出空间扩展:
多模态大模型的构建核心


图3:不同的输入输出空间说明


大规模多模态模型的核心问题是如何构建和扩展输入输出空间,从而实现多模态信息的对齐和生成的问题。如图3所示,我们从以下几方面对拓展后的多模态的输入输出空间结构进行了分类:

  • 多模态输入空间拓展 :为了让模型能够处理不同的模态,需要为文本、图像和音频等模态构建不同的表示方式。例如,文本通常以离散的token表示,而图像则可以通过视觉编码器转化为连续的特征向量(比如通过CLIP)或离散的视觉代码(比如通过VQ-VAE)。这样的输入表示可以分为两类:混合的输入空间(输入类型A)和统一的离散输入空间(输入类型B)。前者将文本作为离散表示,而图像和音频则是连续表示,需要后续设计对应的架构进行对齐;后者通过进一步离散化其他模态的表示,使所有模态的数据在统一的离散空间中表示,减少了跨模态对齐的难度。
  • 多模态输出空间扩展 :在输出端,LMM可以根据需要生成不同模态的内容。常见的输出空间结构分为三类:仅文本输出空间(输出类型1)、混合多模态输出空间(输出类型2)和统一的离散多模态输出空间(输出类型3)。只输出文本的模型可以生成语言描述,适用于多模态理解类任务;混合多模态输出的模型则划分了输出的空间,并将连续的输出引入到特定的模态解码器(如Stable Diffusion)中来生成多模态的回复;而统一离散输出则通过建立统一的离散表示,让模型自由的在各模态间切换,实现更灵活的多模态内容生成。
  • 输入输出空间结构的组合 :通过组合上述不同结构的输入空间,主流的LMM可以分为:(i)LLaVA,Qwen-VL为代表的多模态理解模型,利用类型A的输入和类型1的输出,能够以文本进行回复;(ii)以GILL,DreamLLM为代表的多模态生成模型,利用类型A的输入和类型2的输出,能产生多模态混合的回复;(iii)以Chameleon,Any-GPT为代表的统一离散化模型,利用类型B的输入和类型3的输出,以统一的离散形式支持多模态的输入和输出。当然也存在这三类以外的架构,具体请参阅原文表格1,2中的总结。
详细论述请读者参阅原论文Section 3。



04

多模态对齐架构:
实现跨模态理解与生成


在扩展输入输出空间之后,如何在不同模态之间实现对齐是多模态大模型设计中的关键。首先需要根据所构建的输入输出设计对应的模型架构,大致可以分为以下几个模块:

  • 基座模型 用于统一建模不同模态的表示,主流为多层的Transformer架构,与此同时,基座模型通常会从预训练的LLM进行初始化,得到更好的文本表示能力。
  • 输入对齐模块 来帮助模型理解和对齐来自多个模态的输入。对于类型A的输入空间,需要引入连接模块(如多层感知器或注意力模块)来将视觉或音频信息转换为与文本表示兼容的形式,从而进行统一处理。对于类型B的输入空间则直接通过拓展输入词表的形式即可完成对齐。上述方法都能保证不同模态输入的一致性。
  • 内部对齐模块 通过在基座模型内部,通常是Transformer架构基础上引入跨模态注意力层或“视觉专家”模块,增强了对于跨模态建模的能力。这种方式增强了模态之间的内部关联,使得模型能够更深层次地理解复杂的多模态信息。
  • 输出对齐模块 来将基座模型的输出对齐到特定模态的生成器(例如图像生成器或音频生成器)上。类型1和3的输出空间可以直接通过分类解码方式进行完成,无需额外模块,而类型2的输出空间则需要额外的映射模块(通常为线性层和Transformer)来连接基座模型的输出和模态生成器的输入。这最终使模型不仅能生成文本,还可以在需要时生成图像或音频,为多模态生成提供了更多可能性。
详细论述以及各个模型的架构总结请读者参阅原论文Section 4.1和表格1,2。



05

多模态大模型的训练


4:多模态大模型的不同阶段的训练配置


上一节中构建的架构需要学习到不同模态之间的关联,从而在各种任务中准确地处理多模态信息。通常训练包括两个阶段:

  • 第一阶段是基于大规模的多模态交错数据(multimodal interleaved data)进行 预训练 ,以建立初步的跨模态关联:
    • 训练数据 :通常包括简单的X-Text Pairs(X-文本对)数据,多模态交错文档以及各种特定场景下的数据,这些数据可以通过标注、网络爬取以及模型生成的方式得到。请参阅原文表格3,4,5。
    • 训练目标 :通常会根据上述数据构建对应的多模态序列,采用对于文本生成的损失进行训练,帮助模型从多模态语境中生成相关的文本。而对于具有多模态生成能力的模型,则同样会需要对序列其他模态内容进行生成。
    • 其他训练设定 :针对不同的模型架构,需要考虑在预训练阶段激活不同的模块,在保证足够的可学习参数容量的同时引入更多高质量的数据。进一步还可以将预训练进一步拆分成多个阶段,逐步进行学习。
  • 接着通过 指令微调 ,让模型理解和遵循多模态场景下的用户指令:
    • 训练数据 :类似LLM,通常需要引入了多模态信息的指令数据进行支持。常见的构造方法为重构已有的任务数据集以及通过self-instruct类方式构造新的数据,具体请参阅原文表格6,7,8。具体训练中需要合理地根据目标合理地混合不同的指令数据来提高模型的泛化性。
    • 训练目标 :类似预训练,本阶段同样利用生成的损失进行训练,需要额外考虑的是仅需要考虑对指令数据中模型回复部分进行生成和损失的计算,而不用考虑用户输入的指令。
    • 其他训练设定 :在指令微调过程中,由于语境较为复杂,通常需要激活基座模型来提供足够的可学习参数,还可以通过引入parameter-efficient模块(比如LoRA),或者引入纯文本的训练数据来更好地保持基座模型本身的能力。
  • 除此之外,一些特殊的模型架构还会引入额外的训练阶段,比如生成类模型可能需要额外的生成训练来更好地对齐多模态的输出空间;而引入了基于MoE的稀疏内部对齐模块的模型则需要通过sparse upcycling后进行额外的训练来更好地学习稀疏化的模型参数。
详细论述请读者参阅原论文Section 4.2,以及表格9,10对于现有模型训练设定的总结。



06

多模态大模型的评测



在将输入输出空间拓展到多个模态后,LMM就可以支持各种各样的下游应用。为了保证可靠性,对于其实际能力的评估就显得尤为重要。本文根据不同任务要求的输出空间的不同,将评测任务分为以下类别: 详细论述请读者参阅原论文Section 5,6


6.1 模态理解任务

图5:模态理解任务的输出输出和评估方式概览


这类评测的目标在于探究模型是否很好地理解了多模态信息,通常以“X+Text→Text”的输入输出形式存在。如图5所示,理解类Benchmark通常根据目标的模态和对应任务场景设计对应的多模态语境输入(数据样本),并设计合适的问题形式,结合数据构造对应的指令,最终根据不同的评估目标,设计对应的指标和评估方法来判断自然文本形式的输出是否包括了正确的信息。


6.2 模态生成任务

图6:模态生成任务的输入输出和评估方式概览


生成类任务则针对输出空间的拓展进行评测,衡量模型在多模态场景下生成内容的连贯性和准确性,大多以“X+Text→X”的输入输出形式存在。如图6所示,这些任务要求模型根据一定的生成条件生成目标模态的数据,而生成的条件可能是文本,同模态的信息,或者是其他模态的信息。最后根据目标的生成模态,生成目标的参照信息(比如ground truth,ground truth对应的文本描述等),设计不同的指标来评估生成内容的质量。


6.3 幻觉诊断任务


尽管在输入输出空间进行了有效的拓展,目前多模态大模型内部仍然存在模态不对齐的情况,模型无法完全理解多模态的信息,产生了错误的输出,即为幻觉。对于幻觉的评估也非常重要,目前通常会有判别式以及生成式的评估方法,前者考察模型是否能区分正确和带幻觉的信息,后者诊断模型在输出过程中信息的准确性。



07

扩展至具身智能场景


图7:不同具身智能任务的输出和输出示例


除了对于模态的拓展,我们发现多模态大模型的输入和输出能够进一步扩展,容纳更多形式的信号,具有很强的可扩展性,其中最具有应用场景的即为具身智能体(Embodied Agent)的构建。







请到「今天看啥」查看全文