多模态大语言模型综述(上)- 摘要、概念与技术要点实用指南

本文是Multimodal Large Language Models: A Survey的译文,内容分为两部分:

(上)介绍、相关概念、技术要点实用指南和
(中)算法实用指南
(下): 各种任务的实用指南、挑战与结论

因篇幅有所删减,但大部分及主体内容与原文一致。笔者翻译水平有限,有误之处望谅。

原始信息

  • 标题: Multimodal Large Language Models: A Survey
  • 译文: 多模式大型语言模型综述
  • 地址: arxiv.org/pdf/2311.13...
  • 作者: Jiayang Wu , Wensheng Gan, Zefeng Chen , Shicheng Wan , Philip S. Yu
  • 时间:2023.11

摘要

对多模态语言模型的探索集成了多种数据类型,诸如图像、文本、语言、视频以及其他异构内容。尽管最新的大语言模型在文本任务中表现出现,但他们往往难以处理与处理其他数据类型。 多模态大语言模型通过绑定各种模式来解决这一限制,从而能更全面的理解各类数据。本文首先定义了多模态的概念并考察了多模态算法的历史发展, 然后,我们介绍了一系列多模态的产品,重点关注主要科技公司在这一领域的努力。这将是一份实用指南,一份深入了解多模态技术方面的指南. 此外,我们还提供了一个最新算法以及常用数据集的汇编,为研究人员的实验与评估提供宝贵资源。最后, 我们探索了多模态的应用并讨论了与他们发展的相关挑战。通过解决这些方面,本文的旨在促进多模态语言及其在各领域的潜力有一个较深的理解.

索引术语: 模态,语言模型,多模态,大模型,调查。

文章结构

  • I: INTRODUCE: 介绍
  • II: RELATED CONCEPTS:相关概念
  • III:PRACTICAL GUIDE FOR TECHNICAL POINTS: 技术要点实用指南
  • IV: PRACTICAL GUIDE FOR ALGORITHMS: 算法实用指南
  • V: PRACTICAL GUIDE FOR VARIOUS TASKS:各种任务的实全指南
  • VI:CHALLENGES:挑战
  • VII. CONCLUSION:结论

I 介绍

多模态模型是组合了多种数据类型的模型,这些数据类型包含图像,文本,音频等内容。传统的大语言模型(LLM)[1], [2] 早期主要训练并应和于文本数据,他们对除文本之外的其他数据类型是的理解存在局限性。纯文本的LLMs,诸如GPT-3 [3], BERT [4], and RoBERTa [5], 擅长文本生成与编码,但他们缺少一个对其他数据类型的全面理解。为了解决这个问题,多模态的LLMs集成了多种数据类型,克服了纯文本模型的局限性并且为处理多种数据类型开辟了可能性。GPT-4[6]是多模态LLM很好的例子。他能接收文本与图像两种式的输入,在各种基准测试中展示出的人的水平性能。多模态感知是获取一般人工智能的基础组件,对于知识的获取与真实世至关重要。并且,多模态输入的应用极大了扩展了语言模型在高价值领域的潜力,诸如多模态机器人技术、文档智能以及机器人技术。研究表明,多模态感知的本地支持为多模态在新任务中的应用提供了机会。通过大量实验,多模态LLMs在常识推理方面方面已经展示出了优于单模态模型的性能, 突出了跨模态转移知识对获取知识的好处。

近年来,多模态模型的发展展示了更多的应用可能性,除了文本生成模型之外,多模态在人机交互,机器人控制,图像检索,语音生成等领域也得到了越来越多的应用。然而将LLMs能力转移到多模态文本和图像领域仍然是一个活跃的研究领域,因为纯文本的训练通常仅在纯文本的语料上训练,缺乏对视觉信号的感知能力。对于多模态模型的综述已有一些,但是每个文章都有不同的重点。Summaira et al. [7] 通过对进行模型分类,详细介绍了不同模型的应用。Wang等人[8]呈现了一份在多模态大语言模型中最新算法以及最近实验中使用的数据集的综合汇编,为读者提供了方便。Yin等人[9]在综述里对近年来出现的各种不同类型的多模态算法进行了分类和区分。

主要贡献

  • 我们从定义多模态模型/算法概念入手,深入研究了多模态算法的发展历史
  • 我们提供了一份与多模态模型相关各种技术的实用指南,包括知识表现,学习目标选择,模型构建,信息融信和提示使用。
  • 我们回顾了多模态模型使用的最新算法以及常用的数据集。
  • 最后,我们探索了几个多模态的应用并讨论了当前发展中的几个关键的挑战。

II 相关概念

多模态的定义与分类

多模态是指通过多种模态表达或感知复杂事物。

多模态可以分为同质模态(如两个不同的摄像机中的图像捕获)和异质模态(如图像和文本语言间的关系). 多模态数据。从语义感知的角度来看,多模态数据指的是各种感知模型的集成,诸如视觉、听觉、触觉和嗅觉的输入, 并形成统一且有意义的环境表现[10]。从数据感觉角度来看,多模态数据可被视为多种不同类型数据的组合,比如图像数据、数字数字、文本、符号、音频、时间序列,或由集合、树和图像组成的复杂数据结构的数据,甚至是来自不同的数据或知识库的各种信息资源的组合。探索和分析异构数据源可以理解为多模态的学习。

使用多模态数据可以更全面和整体地表示事物,使多模态研究成为一个重要的研究领域。通过利用多模态方法,在情感分析机器翻译自然语言处理前沿生物医学研究[11] 等领域取已得了重大突破。

多模态的发展阶段

多模态研究的发展进程可以确定四个不同的阶段,如下图所示:

Single modality (1980-2000): 单一模式阶段

主要特点表现为依赖基本的计算能力。核心算法是

  • 基于PCA人脸识别的算法
  • 基于HMM的语音识别

Modality conversion (2000-2010): 模态转换

在这一阶段,研究人员投入了大量的资源来研究人机交互

  • 利用计算机记录和处理会议数据。
  • CALO项目: 介绍chatbot(聊天机器人)技术
  • SSP项目: 分析非语言线索

Modality fusion (2010-2020): 模态融合阶段

在这一阶段,深度学习技术和神经网络的结合导致了该领域的显著进步,算法如下:

  • Ngiam: 多模态融合与分析。例如图像和文本
  • DBMs: 对不同模式之间的依赖关系和交互进行建模。
  • 神经图像字幕生成算法: 分析图像的视觉内容并生成类人描述

Large-scale models(2020-?):大型模型

大规模模型的快速发展为多模态算法提供了新的机遇. 主要算法如下:

  • CLIP: 利用无监督技术处理图像文本数据
  • DALL-E 2: 以CLIP图像嵌为条件使用一个扩散模型
  • BeiT-3:Stands for BERT Pretraining of Image Transformers
  • KOSMOS.1: .遵循说明并在上下文学习中执行
  • PaLM-E: 一种新的视觉语言性能基准,无需特定于任务的微调。

III 技术要点的实用指南

多模态大模型的技术要点包括但不限于知识表示、学习目标选择、模型结构构建、信息融合、提示的使用,如图3所示。

知识表示(Knowledge representation)

文本和图像都需要标记化(tokenization)和嵌入(embedding)。Tokens(令牌)是模型的基本输入单位,而embeddings(嵌入)是用于计算的Tokens(令牌)的矢量表示。在文本的情况下,Word2Vec[27]通常用于标记化,包括一些方法,如CBOW和Skip gram。尽管Word2Vec在计算上是高效的,但它受到词汇限制。因此,子字标记化方法,如字节对编码[28],将字划分为更小的单元。

这种方法已应用于各种transformer模型,如BERT。相比之下,图像标记化(image tokenization) 比文本更复杂。它可以分为三种类型[29],包括基于区域、基于网格和基于补丁。基于区域(Regionbased) 的方法利用预先训练的对象检测器来提取特征。基于网格的方法直接应用卷积神经网络从图像中提取基于网格的信息。而基于补丁的方法包括将图像分割成更小的块,并从中提取线性投影块。根据METER模型[30]的数据,优化视觉特征方面对结果的影响比优化文本方面大得多。在多模式预训练模型的构建中,视觉特征的嵌入层或复杂性超过了文本特征,突出了视觉信息的重要性。多模式模型可以从视觉特征中学习更多的知识。

学习目标 - Learning objectives selection

它在多模态预训练中至关重要。多模式预训练中常见的学习任务包括:

  • ITC(image-text contrast 图像-文本对比)
  • MLM(masked language modeling,掩蔽语言建模)
  • MVM(masked visual modeling,掩蔽视觉模型)
  • TM(mage-text matching,图文匹配)[31]。

ITC 包括通过对比学习构建正样本对和负样本对,以对齐图像和文本。此外,通过利用MLM和MVM 技术,它可以通过从语言知识和视觉线索的组合中重建掩蔽的语言表征来学习推断语言和视觉数据之间的微妙联系。通过这种方式,它可以提高理解和生成多模态内容的能力。TM可以看作是一个二进制分类任务,旨在预测图像和文本对是否匹配。

一般来说,组合使用不同的学习目标可以提高多模态模型的性能 。例如,在UNITER模式中,纳入更多的学习目标通常会带来更好的结果。UNITER利用多个学习目标,如MLM和ITC,并在各种专业场景中表现良好。然而,使用过多的学习目标可能并不总是产生有利的结果。这在METER[30]的实验中得到了验证。

模型结构-Model construction

根据模型结构的不同,多模态模型可分为纯编码器(encoder-only)模型和编解码(encoder-decoder)模型。

encoder-only

encoder-only:仅使用Transformer的编码器的编码器部分。多模式输入由编码器直接处理以产生输出。仅编码器模型的常见示例包括CLIP[23]和ALBEF[32],它们适用于图像文本检索等任务,但不适用于图像字幕等任务

encoder-decoder

  • encoder-decoder:包含了Transformer的编码器和解码器部分。decoder接收先前生成的令牌及其自己的输出,以自动回归地生成输出序列。encoder-decoder模型,如T5[33]和SimVLM[34],利用了解码器(decoder)的功能,适用于生成任务,但可能不适用同样适用于图像文本检索等任务

信息融合 - Information fusion

在分别对不同的模态进行编码之后,有必要设计一种用于多模态编码的编码器。根据不同的融合方法,多模态模型可分为融合编码器(fusion encoder)模型和双编码器(dual encoder)模型[35]。

fusion encoder

fusion encoder利用融合方法在模式之间交互。通过自注意或交叉注意操作,fusion encoder生成模态的融合表示。适用于推理任务

融合方法主要包括单流和双流方法。单流方法 假设两种模态之间存在简单的对齐或相关性,并在将它们连接之前将自注意机制直接应用于模态。双流模型假设模态内和跨模态交互应分别建模,以使用交叉注意力机制获得更好的多模态表示。

fusion encoder对不同级别的跨模态交互进行建模,并在某些推理任务中取得了良好的性能。然而,在图像文本检索等任务中,对所有图像文本对的交互进行编码会导致推理速度变慢。

dual encoder

dual encoder采用单独的single-modal encoders(单模编码器)对两种模态(two modalities)进行编码。在充分编码后,使用简单的点积或浅关注层来计算它们之间的相似性得分,而不依赖于复杂的Transformer结构。适用于检索任务

融合编码器适用于推理任务,而双编码器适用于检索任务。我们结合不同的模型架构或信息融合方法来增强多模态模型的能力。这也是实现多模态统一的机制。例如,VLMO采用"三专家"方法,对纯图像、纯文本和图像文本数据进行预训练,以处理不同的模态,并在推理和检索等任务中取得了良好的性能[36]。

提示的使用

提示方法主要用于减少下游任务中预训练和微调之间的差距。通过修改下游任务的模板,prompt旨在最大限度地减少预训练和微调之间的差异,从而降低微调成本,提高模型在下游应用中的性能。它具有处理零或小数据样本的能力,已被广泛用于各种LLM[37]。提示方法在多模态预训练任务中也起着至关重要的作用。

例如在可视化ChatGPT[38]中,提示管理器用于生成有助于ChatGPT理解和生成相关图像的信息提示。在CLIP中,提示方法通过生成文本的信息提示应用于零样本任务,从而提高了性能[23]。

[参考]

原论文中的所有参考资料

相关推荐
古希腊掌管学习的神1 小时前
[机器学习]XGBoost(3)——确定树的结构
人工智能·机器学习
ZHOU_WUYI1 小时前
4.metagpt中的软件公司智能体 (ProjectManager 角色)
人工智能·metagpt
靴子学长2 小时前
基于字节大模型的论文翻译(含免费源码)
人工智能·深度学习·nlp
AI_NEW_COME3 小时前
知识库管理系统可扩展性深度测评
人工智能
海棠AI实验室3 小时前
AI的进阶之路:从机器学习到深度学习的演变(一)
人工智能·深度学习·机器学习
hunteritself3 小时前
AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
人工智能·gpt·chatgpt·github·openai·copilot
IT古董4 小时前
【机器学习】机器学习的基本分类-强化学习-策略梯度(Policy Gradient,PG)
人工智能·机器学习·分类
centurysee4 小时前
【最佳实践】Anthropic:Agentic系统实践案例
人工智能
mahuifa4 小时前
混合开发环境---使用编程AI辅助开发Qt
人工智能·vscode·qt·qtcreator·编程ai
四口鲸鱼爱吃盐4 小时前
Pytorch | 从零构建GoogleNet对CIFAR10进行分类
人工智能·pytorch·分类