多模态大语言模型综述来啦!一文带你理清多模态关键技术

news2025/1/22 21:34:37
夕小瑶科技说 原创
作者 | 智商掉了一地、Python

随着 ChatGPT 在各领域展现出非凡能力,多模态大型语言模型(MLLM)近来也成为了研究的热点,它利用强大的大型语言模型(LLM)作为“大脑”,可以执行各种多模态任务。更让人感慨的是,MLLM 展现出了传统方法所不具备的能力,比如能够根据图像创作故事,无需 OCR 的数学推理等,这为实现人工智能的通用智能提供了一条潜在路径。

也不乏有全面和前沿的综述出现,本文作者的目标是追踪和总结 MLLM 的最新进展。介绍了 MLLM 的构建方式并对相关概念概述,还深入讨论了关键技术和应用。同时,他们也指出了当前研究中存在的挑战,并提出了一些有前景的研究方向。鉴于 MLLM 的时代刚刚开启,作者们将持续更新这篇综述,以期待能够激发更多的研究。

论文题目:
A Survey on Multimodal Large Language Models

论文链接:
https://arxiv.org/abs/2306.13549

Github 地址:
https://github.com/BradyFU/Awesome-Multimodal-Large-Language-Models


论文速览

图1 三种典型学习范式的比较

多模态指令调优(Multimodal Instruction Tuning)

指令是任务描述。指令调优是通过在一组以指令格式组织的数据集上微调预训练的 LLM,以实现对未见任务的泛化能力提升。这一简单而有效的思想已在自然语言处理领域的一系列工作中得到成功应用,如 ChatGPT、InstructGPT、FLAN 和 OPT-IML。

图 1 展示了指令调优与其他典型学习范式的比较。传统的监督微调方法需要大量特定任务的数据,而提示方法通过引入提示工程来减少对大规模数据的依赖,虽然少样本性能有所提升,但零样本性能相对平均。指令调优与这两种方法不同,它着重于学习如何推广到未见任务,并与多任务提示密切相关。传统的多模态模型仅适用于前两种调优方法,缺乏零样本能力。因此,最近的研究致力于将指令调优扩展到多模态领域。

在扩展到多模态时,需要对数据和模型进行相应的调整:

  • 数据方面,研究人员通常通过改编现有基准数据集或进行自我指导来获取适用于多模态指令调优的数据集。
  • 模型方面,一种常见的方法是将外部模态信息注入到 LLM 中,并将其作为强大的推理器。相关工作可以直接对齐外部嵌入和 LLM,也可以借助专家模型将外部模态转化为 LLM 可接受的自然语言。这些工作将 LLM 转化为多模态聊天机器人和多模态通用任务求解器。

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

表1 组织多模态指令数据模板

表 1 是一个简化的模板,用于组织多模态指令数据。其中,<instruction> 是任务的文本描述。{<image>, <text>} 和 <output> 分别表示数据样本的输入和输出。需要注意的是,在某些数据集中,如图像-字幕数据集,可能只包含 <image>,而 <input> 中的 <text> 可能会缺失。而 <BOS> 和 <EOS> 是用于标记输入给 LLM 的起始和结束的特殊符号。这个模板可以帮助我们更好地组织和理解多模态指令数据的结构。

表2 VQA 数据集指令模板

表 2 是 VQA 数据集指令模板,其中 <Image> 和 {Question} 分别代表原始 VQA 数据集中的图像和问题。

多模态上下文学习(Multimodal In-Context Learning)

ICL 是 LLM 的一项重要且新兴的能力。它具有两个显著优点:

  1. 与传统的监督学习范式通过大量数据学习隐含模式不同,ICL 的核心在于通过类比学习。在 ICL 的设置中,LLM 通过少量示例和可选指令进行学习,并能够在新问题上进行推广,以实现少样本学习并解决复杂且未见过的任务。
  2. ICL 通常以无需训练的方式实,因此可以灵活地集成到不同的框架中的推理阶段。与 ICL 密切相关的技术是指令调优,经过实证验证指令调优能够增强 ICL 的能力。

在 MLLM 的背景下,ICL 已经扩展到更多的模态,形成了多模态 ICL(M-ICL)。在推理阶段,M-ICL 可以通过在原始样本中添加一个演示集(即一组上下文样本)来实现。表 3 展示了这种扩展。

在多模态应用中,M-ICL 主要用于两种场景:

  1. 解决各种视觉推理任务,
  2. 教导LLM使用外部工具。

前一种情况通常涉及从少量特定任务的示例中学习,并推广到新的但类似的问题。通过指令和演示所提供的信息,LLM 可以理解任务的目标和输出模板,并生成预期的答案。而与之相反,关于工具使用的示例通常仅包含文本信息,并且更加精细。这些示例通常由一系列可以按顺序执行的步骤组成,以完成特定任务。因此,第二种情景与 CoT 密切相关。

表3 用于构建 M-ICL 查询的模板示例

表 3 是一个简化的模板示例,用于构建 M-ICL 查询。为了说明,本文列出了两个上下文示例和一个通过虚线分隔的查询。其中 {instruction} 和 {response} 是数据样本中的文本内容。<image> 是用作多模态输入的占位符(在这种情况下代表图像)。而 <BOS> 和 <EOS> 则是分别表示输入给 LLM 的起始和结束的标记符。通过这个模板,可以更好地组织 M-ICL 查询的结构,并进行相关示例的说明。

多模态思维链(Multimodal Chain of Thought)

正如先前工作所指出的那样,CoT 是“一系列中间推理步骤”,已被证明在复杂推理任务中非常有效。CoT 的主要思想是提示 LLM 不仅输出最终答案,还要输出导致答案的推理过程,类似于人类的认知过程。受到 NLP 领域的成功启发,已经提出了多个工作来将单模态的 CoT 扩展到多模态 CoT(M-CoT)。作者在图 3 中总结了这些工作,关键是需要填补模态差距。

图3 多模态思维链(M-CoT)的分类法

大模型研究测试传送门

GPT-4能力研究传送门(遇浏览器警告点高级/继续访问即可):
https://gpt4test.com

LLM 辅助视觉推理(LLM-Aided Visual Reasoning)

受到工具增强的 LLM 成功的启发,一些研究探索了调用外部工具或视觉基础模型进行视觉推理任务的可能性。这些工作将 LLM 作为具有不同角色的辅助工具,构建了任务特定或通用的视觉推理系统。与传统的视觉推理模型相比,这些工作表现出几个优点:

  1. 强大的泛化能力。这些系统通过大规模预训练学习到丰富的开放世界知识,能够在零/小样本情况下轻松推广到未见过的对象或概念,具有显著的性能。
  2. 新兴的能力。在 LLM 的强大推理能力和丰富知识的辅助下,这些系统能够执行复杂的任务。例如,给定一张图片,MM-REACT 能够解释其中的意义,比如解释为什么一个梗很有趣。
  3. 更好的互动性和控制性。传统模型通常只允许有限的控制机制,并且通常需要昂贵的策划数据集。相比之下,基于 LLM 的系统具有在用户友好界面上进行精细控制的能力(例如点击和自然语言查询)。

而图 4 总结了相关文献。

图4 LLM 辅助视觉推理(LAVR)的分类

小结

本文对现有的 MLLM 文献进行了调研,并对其主要方向提供了广泛的概述,包括三种常见技术(M-IT、M-ICL 和 MCoT)以及构建任务解决系统的通用框架(LAVR)。

挑战与未来方向

MLLM 的发展仍处于初级阶段,需要在以下方面进行改进:

  1. 提升感知能力:目前的 MLLM 在感知能力方面受限,可能导致获取的视觉信息不完整或错误。为了解决这个问题,可以考虑引入大型视觉基础模型如 SAM,以更高效地压缩视觉信息。

  2. 加强推理能力:MLLM 的推理链可能较为脆弱。在某些情况下,即使 MLLM 能够计算出正确的结果,但推理过程中仍可能出现错误。因此,有必要研究改进多模态推理的方法。

  3. 提升指令跟随能力:部分 MLLM 在明确的指令下仍无法生成预期的答案,这需要指令调优覆盖更多任务以提高泛化能力

  4. 解决对象幻觉问题:对象幻觉普遍存在,影响了 MLLM 的可靠性。为了解决这个问题,可以进行更细粒度的视觉和文本模态对齐,关注图像的局部特征和相应的文本描述。

  5. 实现参数高效的训练:目前的两种模态桥接方式仍属初步探索,需要更高效的训练方法来发挥有限计算资源下 MLLM 的潜力。

总之,MLLM 领域正处于快速发展阶段,未来将充满机遇和挑战。我们期待着能够看到更多全面的研究工作,以推动 MLLM 技术的突破和应用的广泛普及~

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

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

相关文章

Linux卸载OpenJDK

1、JDK版本 java -version2、查看当前系统OPENJDK rpm -qa | grep jdk3、卸载 sudo rpm -e --nodeps java-1.8.0-openjdk sudo rpm -e --nodeps java-1.8.0-openjdk-headless sudo rpm -e --nodeps java-1.8.0-openjdk-devel sudo rpm -e --nodeps copy-jdk-configs4、其他 …

爬虫入门指南(3):Python网络请求及常见反爬虫策略应对方法

文章目录 引言HTTP协议与请求方法HTTP协议请求方法 使用Python进行网络请求安装Requests库发送GET请求发送POST请求 反爬虫与应对策略IP限制使用代理IP&#xff1a; 用户代理检测设置User-Agent头部&#xff1a; 验证码参考方案 动态页面请求频率限制未完待续.... 引言 在当今…

Python 基本数据类型(五)

文章目录 每日一句正能量List&#xff08;列表&#xff09;结语 每日一句正能量 营造良好的工作和学习氛围&#xff0c;时刻牢记宗旨&#xff0c;坚定信念&#xff0c;胸怀全局&#xff0c;埋头苦干&#xff0c;对同事尊重信任谅解&#xff0c;发扬团体协作精神&#xff0c;积极…

安装tomcat的步骤与部署服务详解

目录 一安装tomcat步骤 1.首先关闭防火墙跟安全机制 2.安装jdk把jdk包与tomcat的包下载到/opt目录 3.然后用命令查看安装好的版本号 4.安装好jdk后需要把他设置到环境变量中去以免系统找不到 5.下来装tomcat 6.首先把你的tomcat安装包解压 然后包名太长简写成tomcat 7.进…

【单片机】STM32单片机频率计程序,外部脉冲计数程序,基于脉冲计数的频率计程序,STM32F103

文章目录 定时器外部脉冲计数功能程序实现TIM1 定时一秒钟中断TIM2 外部脉冲计数配置TIM3 PWM产生总程序 定时器外部脉冲计数功能 两种方法用于在单片机中实现频率计的功能。 第一种方法是通过定时器来衡量信号的周期&#xff0c;然后将周期转换为频率。在这种方法中&#xf…

异步秒杀逻辑前后端

前端 Sckill.vue <template><div><h2>go语言从入门到放弃</h2><el-button type"danger" click"handleSckill">秒杀</el-button></div> </template><script> export default {name: "Sckill&q…

华为认证 | HCIP-Datacom考试费多少?

华为认证之前版本的是RS体系的&#xff0c;也是我们所称的路由交换宣布结束。 Datacom代替了RS&#xff0c;考试内容和形式也发生了变化&#xff0c;今天就让我们来详细了解一下。 01 HCIP-Datacom考什么 HCIP-Datacom系列认证包含1门核心认证Core Technology和6门子认证。 …

MySQL数据库的优化技术二

纵论 对mysql优化时一个综合性的技术&#xff0c;主要包括 表的设计合理化(符合3NF)添加适当索引(index) [ 四种: 普通索引、主键索引、唯一索引unique、全文索引 ]分表技术( 水平分割、垂直分割 ) 水平分割根据一个标准重复定义几个字段值相同&#xff0c;表名称不同的表&…

七.图像处理与光学之镜头LSC

七.图像处理与光学之镜头LSC Lens Shading视为镜头阴影/镜头暗影,此外,还有称Lens Shading为亮度均匀性的。 7.1 LSC(Lens Shading Correction)现象 具体现象如下: 如图所示: 拍摄纯灰色卡(正常所有像素值一样)时shading的具体现象 上侧称为Luma shading,下侧称为c…

Camtasia Studio 2023永久激活版免费下载

电脑屏幕录制工具Camtasia Studio2023是一款功能非常强大的电脑屏幕录像软件&#xff0c;这款软件目前在国内非常受欢迎。我们可以通过这款软件来录制各种软件使用教程和游戏攻略教程。这样你就可以将自己在电脑上的每一步操作全部录制下来&#xff0c;从而分享给其他人欣赏。 …

logback日志的分片压缩

logback-spring.xml <?xml version"1.0" encoding"UTF-8"?> <configuration debug"true"><springProperty name"LOG_PATH" source"shands.log.logPath" defaultValue"/var/delonix/logs/local"…

在 Jetpack Compose 中创建 AppBar

Jetpack Compose 是 Android 的现代 UI 工具库&#xff0c;使用声明性编程简化了 UI 的开发过程。在本文中&#xff0c;我们将学习如何使用 Jetpack Compose 创建 AppBar。 什么是 AppBar&#xff1f; AppBar&#xff0c;也就是我们常说的顶部应用栏&#xff0c;是用户界面的一…

基于YOLOv5系列【n/s/m/l】模型开发构建人体手势目标检测识别分析系统

人体手势检测识别是指通过计算机视觉和深度学习技术&#xff0c;自动地识别和理解人体的手势动作。这项技术可以应用于各种领域&#xff0c;如人机交互、虚拟现实、智能监控等。 下面是一般的人体手势检测识别流程&#xff1a; 数据采集&#xff1a;首先需要收集包含手势动作的…

AI自动生成代码,是时候冷静下来思考如何保障代码安全了

HDC期间可参与华为开发者大会Check新人抽奖活动&#xff0c;活动链接在文末。 华为开发者大会2023将于7月7日与各位开发者进行见面&#xff0c;本次大会的主题演讲内容为&#xff1a;AI重塑千行百业。 自从AI聊天被推出之后&#xff0c;其热度就一直是高居不下。身边的小伙伴们…

【python】—— 基础语法(二)

序言&#xff1a; 在上期&#xff0c;我们已经对python进行了初步的学习和了解。本期&#xff0c;我将继续带领大家学习关于python的基本知识&#xff01;&#xff01; 目录 &#xff08;一&#xff09;顺序语句 &#xff08;二&#xff09;条件语句 1、什么是条件语句 2、…

基于springboot实现的健身房系统(免费)

1.1 项目概述 开发语言&#xff1a;Java8 数据库&#xff1a;MySQL5.7以上版本 前端技术&#xff1a;template模板引擎 后端技术&#xff1a;Spring SpringMVC MyBaties shiro 数据库连接池&#xff1a;Druid 服务器&#xff1a;Tomcat 开发工具&#xff1a;idea na…

【C语言】十大经典排序算法-动图演示

目录 0、算法概述 0.1 算法分类 0.2 算法复杂度 1、冒泡排序&#xff08;Bubble Sort&#xff09; 1.1 算法描述 1.3 代码实现 2、选择排序&#xff08;Selection Sort&#xff09; 2.1 算法描述 2.2 动图演示 2.3 代码实现 2.4 算法分析 3、插入排序&#xff08;I…

从零开始 Spring Boot 52:@Embedded 和 @Embeddable

从零开始 Spring Boot 52&#xff1a;Embedded 和 Embeddable 图源&#xff1a;简书 (jianshu.com) 这篇文章会介绍Embedded和Embeddable两个注解在 JPA 中的用法。 简单示例 先看一个示例&#xff1a; AllArgsConstructor Builder Data Entity Table(name "user_stu…

王益分布式机器学习讲座~Random Notes (1)

0 并行计算是什么&#xff1f;并行计算框架又是什么 并行计算是一种同时使用多个计算资源&#xff08;如处理器、计算节点&#xff09;来执行计算任务的方法。通过将计算任务分解为多个子任务&#xff0c;这些子任务可以同时在不同的计算资源上执行&#xff0c;从而实现加速计…

高数基础9

目录 求函数的极值以及曲线的凹项和拐点 例题1 例题2&#xff1a; 例题3&#xff1a; 例题4&#xff1a; 例题5&#xff1a; 例题6&#xff1a; 求渐近线&#xff1a; 例题7 例题8 例题9 例题10&#xff1a; 方程的根 例题11&#xff1a; 零点定理&#xff1a; 罗…