多模态大语言模型的演化:综述

news2025/1/19 8:02:47

24年2月意大利三所研究大学和机构的论文“The ®Evolution of Multimodal Large Language Models: A Survey”。

连接文本和视觉模态在生成智能中起着至关重要的作用。由于这个原因,在大语言模型成功的启发下,大量的研究工作被投入到多模态大语言模型(MLLMs)的开发中。这些模型可以无缝集成视觉和文本模态,包括输入和输出,同时提供基于对话的界面和指令跟随功能。本文全面回顾最近基于视觉的MLLM,分析了它们的架构选择、多模态对齐策略和训练技术。还对这些模型进行了广泛任务的详细分析,包括视觉基础、图像生成和编辑、视觉理解和特定领域的应用。此外,汇编和描述了训练数据集和评估基准,并在性能和计算要求方面对现有模型进行了比较。

如图所示多模态大语言模型(MLLMs)的通用架构,由视觉编码器、语言模型和将视觉输入连接到文本空间的适配器模块组成。

添加图片注释,不超过 140 字(可选)

MLLM的发展与LLM的发展路径相似,Flamingo(Alayrac2022)第一个在视觉语言领域探索大规模上下文学习。然后,视觉指令调整(Liu 2023e)迅速成为多模态领域最突出的训练范式,以及使用PEFT技术微调LLM。任何MLLM至少包含三个组件:用作与用户接口的LLM主干、一个(或多个)视觉编码器和一个或多个视觉到语言适配器模块。LLM主干的流行选择通常属于LLaMA家族(Touvron 2023a/b),因为它们的权重是可以自由访问的,它们仅根据公共数据进行训练,并且它们拥有不同的大小以适应各种用例。此外,它们的衍生版本也很受欢迎,如Alpaca(Taori2023)和Vicuna(Chiang2022)。前者根据使用GPT-3编写的指令微调LLaMA,而后者利用与ChatGPT的用户共享对话(OpenAI,2022)。替代方案是OPT(Zhang2022b)、Magneto(Wang2023b)、MPT(MosaicML,2023),以及T5(Raffel2020)的指令调优(Chung2022)或多种语言(Xue2020)。

下表是用于视觉到语言任务的多面手MLLMs摘要。对于每个模型,在其最佳配置中使用的LLM (♢: LLM训练从无到有;♦: LLM微调;▲: LLM与PEFT技术的微调;*:冷冻LLM)。这个✻ 标记表示所报告的视觉到语言适配器的变型,而灰色表示模型不公开。

添加图片注释,不超过 140 字(可选)

MLLM的视觉任务

标准MLLM可以处理视觉理解任务,如VQA、字幕和多回合对话。然而,最近在处理更细粒度的视觉任务方面出现了兴趣,例如视觉落地和图像生成。

下表所示为MLLMs的总结,包括专门为视觉落地和区块级(region-level)理解而设计的组件。对于每个模型,其最佳配置中使用的LLM,在某些情况下使用预训练MLLM的权重初始化,以及用于执行任务的任何支持模型 (♦: 微调;▲: 使用PEFT技术进行微调;*:冻结)。灰色表示型号不公开。

添加图片注释,不超过 140 字(可选)

下表是MLLMs概述,其中包含专门为图像生成和编辑设计的组件。对于每个模型,LLM (✻: LLM变型),在某些情况下使用预训练MLLM的权重初始化,以及用于执行任务的任何支持模型 (♢: 从头开始训练;♦: 微调;▲: 使用PEFT技术进行微调;*:冻结)。灰色表示型号不公开。

添加图片注释,不超过 140 字(可选)

视觉-语言适配器

来自不同模态的输入的同时存在,强调了一个能够在这些单模态域内描绘潜在对应关系模块的必要性。这些模块被称为“适配器”,旨在促进视觉域和文本域之间的互操作性。在常见的MLLMs中使用了一系列不同的适配器,从基本架构(如线性层或MLP)到高级方法(如基于Transformer的解决方案,以Q-Former模型为例),以及添加到LLM的条件交叉注意层。

线性和MLP投影。将视觉输入投影到文本嵌入中的最直接的方法包括学习线性映射,该线性映射将视觉特征转换为与文本对应物相同的维度。一些方法,如LLaMA Adapter(Gao2023)和FROMAGe(Koh2023b),仅使用单个线性层来执行多模态连接,而LLaVA-1.5(Liu2023d)采用了两层MLP,显示出改进的多模态能力。尽管线性投影在早期MLLMs中被广泛采用,但最近即使在对视觉输入有更高级理解的方法中,线性投影的使用也被证明是非常有效的(Chen2023f;Lin2023a;Wang2023c;You2023;Zhao2023a)。因此,这是一种简单而有效的将视觉特征与文本对应特征对齐的技术。另一种方法(Cha2023)提出用卷积层代替线性层,证明了适度的改进。

Q-Former。它是在BLIP-2中提出的基于Transformer模型(Li2023f),然后在其他几种方法中使用(Chen2023d;Dai2023;Hu2024)。它的特点是其适应性强的架构,由两个共享相互自注意层的Transformer块组成,有助于视觉和文本表示之间的对齐过程。它涉及一组可学习的查询,这些查询在自注意层内交互,并通过交叉注意机制与视觉特征交互。文本和视觉元素通过模块内的共享自注意进行交流。

从Q-Former中汲取灵感,推出了各种修改版本。在这方面,mPLUG-Owl模型(Ye2023c,d)简化了Q-Former架构,并提出了一种视觉抽象器组件,该组件将视觉信息压缩为不同的可学习token来操作,导出语义更丰富的视觉表示。在同一条线上,Qwen VL(Bai 2023b)使用单层交叉注意模块压缩视觉特征,该模块具有也包含2D位置编码的可学习查询。

添加的交叉注意层。这种方法已经在Flamingo(Alayrac2022)中提出,在LLM的现有预训练层之间集成了密集的交叉注意块。新添加的层通常与零-初始化tanh-门控机制相结合,以确保在初始化时,条件模型充当其原始版本。额外的交叉注意层的使用要求从头开始训练它们,与其他替代方案相比,增加了可训练参数的数量。为了降低计算复杂性,该策略通常与基于Perceiver的组件配对(Jaegle 2021),该组件在视觉tokens被馈送到LLM之前减少视觉tokens的数量。自引入以来,几个模型(Awadalla2023;Chen2023b;Laurençon2024;Li2023a)使用该技术将视觉模态与底层LLM连接起来,显示出增强的训练稳定性和改进的性能。

多模态的训练

从预训练的LLM开始,MLLM的训练经历了一个单步或两步的过程。在这两种情况下,都使用标准的交叉熵损失来预测下一个token,作为自回归目标。

单步训练。LLaMA Adapter(Gao 2023)探索了这种可能性,它引入了额外的可训练参数来封装视觉知识,同时管理纯文本指令学习。为了实现这一点,模型使用图像-文本对和指令,在单独的参数上进行联合训练。同时,(Koh 2023b)中提出的模型将两个对比损失合并用于图像文本检索来适应最终损失函数。在训练过程中,仅更新三个线性层。在另一条线上,Kosmos-1(Huang 2023a)考虑了冻结的视觉主干,并从头开始训练1.3B参数的语言模型。

Flamingo(Alayrac 2022)及其开源变型(Awadalla 2023;Laurençon 2021),相反,训练交叉注意层和基于Perceiver的组件,将视觉特征与冻结的LLM块连接起来。此外,Otter(Li 2023a)扩展了Flamingo的训练,增强其上下文能力。

考虑到目前可用的训练数据量,SPHINX-X(Gao et al.,2024)等方法选择执行单一的一体式训练阶段,在该阶段更新所有模型组件,也可能使用纯文本数据来保持LLM的会话能力。

两步训练。在两个训练步中的第一个步,目标是将图像特征与文本嵌入空间对齐。在这一步之后,产出往往是零散的,不连贯。因此,第二步是提高多时间会话能力。LLaVA(Liu 2023)是最早引入视觉指令跟随训练方案之一,该训练方案作为更新多模态适配器和LLM参数的第二训练步来执行。相反,在第一步,只有多模态适配器是可训练的。不同的是,MiniGPT-4(Zhu 2023a)值得注意的是,它只训练了负责两步多模态对齐的线性层。在第二步,它使用过滤后的数据,这些数据在第一步之后通过模型本身收集和细化而得。

另一种方法,如Instruction-BLIP(Dai2023)所示,涉及视觉编码器和LLM的冻结。在这两步训练中,只有Q-Former和连接模块是可训练的。与以前视觉主干保持冻结的方法相反,mPLUG Owl(Ye 2023)在初始阶段对其进行更新,有助于捕获低级和高级视觉信息。此外,在第二步中,仅使用文本和多模态数据来增加一致性。不同的是,Shikra(Chen 2023f)更新了两步的所有权重,唯一的例外是保持冻结的视觉主干。

训练数据。在第一(或单个)训练步,通常使用来自不同来源的图像-文本对,使用数据集,如LAION-2B(Schuhmann2022)、LAION-400M(Schuhman2021)、Conceptual Caption(Sharma2018)、COYO-700M(Byeon2022)和DataComp(Gadre2023)。一些方法(Lin2023a)将这些方法与一个或多个数据集结合使用,这些数据集的特征是文本与通常从网络上刮取的图像交织,例如WebLI(Chen2023i)、MMC4(Zhu2023d)、MMDialog(Feng2023b)和OBELICS(Laurençon2023)。为了解决先前数据集中的偏差和噪声问题,StableLLaVA(Li 2023h)引入了新收集的数据,用于第一步。这种方法利用ChatGPT生成包括图像生成提示和基于内容的对话的数据,并利用stable diffusion(Rombach 2022)生成相应的图像。

相反,接下来的阶段利用数据集进行可视化指令调优。其中,常用的LLaVA指令(Liu 2023e)用GPT-4生成的指令扩展了COCO(Lin 2014)。根据这一趋势,Zhao(2023a)通过结合人工和生成的数据,以高质量和多样性扩大了维度。此外,还提出了其他多回合对话数据集,如(Dai 2023)中介绍的将26个公开可用的数据集转换为其视觉指令后续版本的数据集,旨在通过更稳健的指令减少幻觉的LRV指令(Liu 2023),以及专注于文本丰富图像的LLaVAR(Zhang 2023)。

其他一些模态和应用

视频理解。尽管大部分重新搜索都集中在图像上,但一些工作提出了专门用于处理视频序列的MLLM。这些模型独立处理视频帧,使用基于CLIP的主干来提取帧级特征,然后将这些特征与池化机制(Li 2023;Maaz2023)或基于Q-Former的解决方案(Li2023g;Ren2021)相结合。视觉特征和语言模型之间的联系主要遵循与图像MLLM相同的趋势,线性投影是最常见的选择。然而,也有一些尝试开发视频专用适配器(Liu2023g;Ma2023a),可以捕捉细粒度的时间信息。除了对视频帧进行编码外,一些方法(Munasinghe2023;Zhang2023b)还利用音频特征来丰富输入视频序列的表示。

如下表是基于视频的MLLMs摘要。对于每个模型,在其最佳配置中使用的LLM,在某些情况下,使用预训练的MLLM的权重初始化(*:冻结LLM;♦: LLM微调;▲: 使用PEFT技术的LLM微调)。

添加图片注释,不超过 140 字(可选)

任何模态模型。到目前为止,几乎所有描述的模型都将单一模态作为LLM的输入。然而,大量工作的重点是设计能够处理多种模态的有效解决方案。这通常是通过通过诸如Q-Former(Chen2023c;Panagopoulou2023)和Perceiver(Zhao2023d)的Transformer块来对准多模态特征,或者通过利用ImageBind(Gird-har2022)来有效地提取固有多模态的特征(Su2024)来实现的。图像、视频和音频是最常见的处理模态。此外,一些工作还有效地编码3D数据(Yin2023c)和IMU传感器信号(Moon2021)。虽然所有这些解决方案都可以管理多模态输入,但像NExT-GPT(Wu2023b)和Unified IO 2(Lu2021)这样的方法也能够生成不同模态的输出。

特定域的MLLMs。除了处理通用视觉输入外,一些研究工作还致力于为特定领域和应用程序开发MLLM,要么从预训练的LLM开始训练模型,要么用特定域的数据微调现有的MLLM。一些例子是为文档分析和文本密集型视觉输入设计的MLLMs(Lv2023;Ye2023a),为嵌入式人工智能和机器人提出的MLLMs(Dress2022;Mu2021),以及为医学(Li2023c)和自动驾驶(Xu2023b)等特定域量身定制的MLLM。

如下表是为特定域应用程序设计的MLLM摘要。对于每个模型,在其最佳配置中使用的LLM,在某些情况下,使用预训练MLLM的权重初始化(*:冻结LLM;♦: LLM微调;▲: 使用PEFT技术的LLM微调)。灰色表示型号不公开。

添加图片注释,不超过 140 字(可选)

MLLMs是在不同的基准上进行评估的,同时考虑到更经典的视觉理解和识别技能以及先进的多模态对话能力。下表显示了最常见的MLLMs在标准VQA和字幕数据集以及专门为评估MLLMs而设计的基准上性能,其中对VQA、图像字幕和MLLM评估的14个评估基准性能分析。最佳成绩以粗体显示,次佳成绩以下划线显示:

在这里插入图片描述

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

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

相关文章

Python框架篇(9):FastApi-SQLAlchemy集成

1. 介绍 ORM框架将数据库中的表(表结构)映射为面向对象的类(对象),将表中的记录(行)映射为类的实例(对象的实例),将表中的字段(列)映…

Oracle21c数据库普通用户创建及授权,建表,创建存储过程、序列、触发器

一、Oracle数据库错误 ORA-65096 表示你尝试在多租户容器数据库(CDB)环境中创建一个公共用户(common user)或角色,但没有使用正确的前缀。在多租户架构中,公共用户的用户名必须以 C## 或 c## 开头。 若想…

Linux|基础IO

回顾c语言的文件操作 #include<stdio.h> int main() { FILE * fp fopen("test.txt","w"); if(fp NULL) return -1;fwrite(message,strlen(message),1,fp); fclose(fp); return 0; } 我们我们以写的方式打开 不存在则创建…

Kubernetes——CNI网络组件

目录 一、Kubernetes三种接口 二、Kubernetes三种网络 三、VLAN与VXLAN 1.VLAN 2.VXLAN 3.区别 3.1作用不同 3.2vxlan支持更多的二层网络 3.3已有的网络路径利用效率更高 3.4防止物理交换机Mac表耗尽 3.5相对VLAN技术&#xff0c;VXLAN技术具有以下优势 四、CNI网…

爱普生M-A352加速度计受到日本气象厅认证

地震一直是缠在人们头顶的乌云&#xff0c;如何能在地震发生的时候提前获悉&#xff0c;防止造成更大的经济损失&#xff0c;成为了许多企业准备解决的问题。精工爱普生公司获悉&#xff0c;东京Knowledge ForesightInc.生产的配备爱普生M-A352 高性能三轴加速度计的“Yure Mon…

灌区信息化管理平台系统包含哪些内容?(全面介绍)

政策背景 2022年12月29日&#xff0c;水利部启动48处大中型灌区开展数字孪生灌区先行先试建设。 2023年2月24日&#xff0c;《2023年农村水利水电工作要点》:2023年农村水利水电工作的总体思路包括:紧盯保障国家粮食安全&#xff0c;加快推进大中型灌区现代化改造&#xff0c;…

传说中的运维门户设计

在IT服务管理这片广阔天地中&#xff0c;运维门户如同一位技艺高超的魔术师&#xff0c;轻轻一挥手&#xff0c;便将纷繁复杂的运维世界化繁为简&#xff0c;编织成一张便捷高效、触手可及的网络。它不仅是ITSM系统中不可或缺的一环&#xff0c;更是连接用户与技术世界的桥梁&a…

mars3d实现gltf模型new mars3d.graphic.ModelPrimitive({的自定义shader

原模型展示&#xff1a; 自定义shader效果展示&#xff1a; 运动状态下&#xff1a; 关键代码&#xff1a; const pointCloudWaveShader new Cesium.CustomShader({uniforms: {u_time: {type: Cesium.UniformType.FLOAT,value: 0}},vertexShaderText: void vertexMain(Vertex…

【全开源】房屋出租出售预约系统支持微信小程序+H5+APP

一款基于FastAdminThinkPHPUniapp开发的房屋出租出售预约系统&#xff0c;支持小程序、H5、APP&#xff1b;包含房客、房东(高级授权)、经纪人(高级授权)三种身份。核心功能有&#xff1a;新盘销售、房屋租赁、地图找房、小区找房&#xff0c;地铁找房等方式。 特色功能&#…

XML解析 之 DomFourJ解析

1&#xff0c;DomFourJ干嘛的&#xff1f; 百度一搜一大堆而且说的很繁琐&#xff0c;在这总结一句话&#xff1a; dom4j就是一个Java用来读写XML文件的API&#xff0c;而且简单又方便还好用 2&#xff0c;什么时候用&#xff1f; 不管读取什么XML文档只要你想用就用没啥限制…

浅谈工业用LED面光源

在机器视觉系统中&#xff0c;光源作为不可或缺的一部分&#xff0c;能够提高目标成像效果&#xff0c;增强检测效果。光源的选择至关重要&#xff0c;选到不合适的会影响成像及检测效果。针对不同的检测对象,不同的形状光源应运而生。我们来看看最常用的LED光源之一——面光源…

『 Linux 』重定向 Redirect(万字)

文章目录 &#x1f9f8; 什么是重定向&#x1f421; 文件描述符的分配规则&#x1f421; 重定向在日常使用中的简单示例 &#x1f9f8; 实现重定向的底层机制&#x1f421; dup2()&#x1f421; 利用dup2()实现重定向 &#x1f9f8; 在自定义Shell当中添加重定向功能&#x1f4…

【Neo4jJDK开箱即用的安装全流程】

neo4j:命令行本地访问loclhost neo4j:命令行本地访问loclhost2 neo4j操作 Neo4j桌面版数据库导出导入 Neo4j安装与配置以及JDK安装与配置教程&#xff08;超详细&#xff09; Neo4j 安装、使用教程 Neo4j安装教程 Neo4J桌面版的配置和连接Pycharm jdk-neo对应版本 JDK ORACLE中…

2024/5/14 英语每日一段

“It is important as it suggests that possibly several populations in the world already started to include substantial amount of plants in their diet” in the period before agriculture was developed, a view contradictory to the popular one, added archeo-ge…

全网最通俗易懂的vue透传

概念&#xff1a; Vue的透传是指在Vue组件中&#xff0c;使用特定的语法将父组件传递的属性或事件直接传递给子组件&#xff0c;实现了通过父组件传递数据或事件&#xff0c;再传递给子组件的功能。&#xff08;传递给一个组件&#xff0c;却没有被该组件声明为 props 或 emit…

2024年前一季度,国内医疗器械营收TOP10出炉!

随着国内医疗器械市场的不断发展&#xff0c;各大医疗器械公司的财报数据成为了投资者和行业观察者关注的焦点。近日&#xff0c;根据2024年第一季度财报数据&#xff0c;我们梳理出了中国医疗器械第一财季营收排名前十的械企&#xff0c;为大家带来深入的分析和解读。 一、营…

算法课程笔记——路径相关树形DP

算法课程笔记——路径相关树形DP #include<bits/stdc.h>usingnamespacestd; usingLL longlong; constintN 2005; vector<int>e[N],t; structasdf{vector<int> vec; LL val; }; vector<asdf>w[N]; LL dp[N]; intn,m,k,dep[N]{1},f[N]; voiddfs(in…

图生视频,Stable Diffusion WebUI Forge内置SVD了!

在 Stable Diffusion WebUI Forge 版本中内置了一个SVD插件&#xff0c;也就是 Stable Video Diffusion&#xff08;稳定视频扩散&#xff09;&#xff0c;之前我介绍过这个工具的使用方法&#xff1a;图片生成视频&#xff08;独立部署SVD) 但是当时还不能集成到Stable Diffu…

【代码阅读】SalsaNext

最近在找轻量级的语义分割模型&#xff0c;SalsaNext作为一个很经典的语义分割网络&#xff0c;在服务器的2080上面能够达到30毫秒一帧左右的推理速度&#xff0c;但是其网络本身提出的时间比较久远&#xff0c;后处理的部分使用的依然是最经典的knn&#xff0c;fidnet的后处理…

【已解决】attributeerror: ‘FreeTypeFont‘ object has no attribute ‘getsize‘

&#x1f60e; 作者介绍&#xff1a;我是程序员行者孙&#xff0c;一个热爱分享技术的制能工人。计算机本硕&#xff0c;人工制能研究生。公众号&#xff1a;AI Sun&#xff0c;视频号&#xff1a;AI-行者Sun &#x1f388; 本文专栏&#xff1a;本文收录于《AI实战中的各种bug…