谷歌云AI新作:CROME,跨模态适配器高效多模态大语言模型

CROME: Cross-Modal Adapters for Efficient Multimodal LLM

https://arxiv.org/pdf/2408.06610

Abstract

研究对象:Multimodal Large Language Models (MLLMs) demonstrate remarkable imagelanguage capabilities, but their widespread use faces challenges in cost-effective training and adaptation.

提出问题:Existing approaches often necessitate expensive language model retraining and limited adaptability. Additionally, the current focus on zero-shot performance improvements offers insufficient guidance for task-specific tuning.

本文方法:We propose CROME, an efficient vision-language instruction tuning framework. It features a novel gated cross-modal adapter that effectively combines visual and textual representations prior to input into a frozen LLM.

方法优点:This lightweight adapter, trained with minimal parameters, enables efficient cross-modal understanding. Notably, CROME demonstrates superior zero-shot performance on standard visual question answering and instruction-following benchmarks. Moreover, it yields fine-tuning with exceptional parameter efficiency, competing with task-specific specialist state-of-the-art methods.

实验结论:CROME demonstrates the potential of pre-LM alignment for building scalable, adaptable, and parameter-efficient multimodal models.

现有的方法通常需要昂贵的语言模型再训练和有限的适应性。此外,目前对zero-shot性能改进的关注为特定于任务的调优提供了不足的指导。

提出了CROME,一个高效的视觉语言指令调优框架。它具有新颖的门控跨模态适配器,可以在输入到冻结LLM之前有效地结合视觉和文本表示。 

这个轻量级适配器使用最小的参数进行训练,可以实现高效的跨模式理解。值得注意的是,CROME在标准视觉问题回答和指令遵循基准上表现出优越的zero-shot性能。此外,它产生具有特殊参数效率的微调,与特定任务的专家最先进的方法竞争。

多模态大型语言模型(MLLMs)在多个领域,特别是在视觉-语言学习方面,近期取得了令人瞩目的突破。值得注意的是,OpenAI的GPT-4v[1]和Google的Gemini Pro Vision[2]在图像描述和视觉问答等任务上展现了卓越的性能。然而,这些商业模型通常仅通过仅预测API提供,限制了其更广泛的适应性和定制性。另一方面,也有一些值得注意的开源视觉-语言模型,包括LLaVA[3]、InstructBLIP[4]、Qwen-VL[5]和BLIVA[6]。这些模型通常使用指令调优来增强LLMs的多模态能力。它们的成功依赖于大规模训练数据(从数亿到超过十亿),这往往导致高昂的训练成本[3, 9, 10, 5]。因此,如何有效地从现有的仅视觉或仅文本的预训练模型中构建大型视觉-语言模型,并针对目标多模态用例进行调优,仍然是一个持续的挑战。

训练图像编码器和语言模型所涉及的大量参数是计算成本高昂的一个关键挑战。虽然使用多模态数据重新训练LLMs有助于对齐视觉和文本标记,但这可能会削弱预训练LLMs的推理能力。此外,随着LLMs种类的不断增加,重新训练的方法阻碍了它们在多模态框架中的“即插即用”集成潜力。

本文提出,在LLMs摄入之前预先对齐视觉和文本标记,提供了一种更灵活、高效且可扩展的策略,但目前这一策略尚未得到充分探索。本文的实证结果表明,图像和文本表示如何适应LLMs的兼容性,可以显著影响多模态理解和推理。大多数模型在标记连接之前仍然依赖于简单的线性投影。虽然BLIP-2[7]和InstructBLIP[4]通过引入查询转换器(Q-Former)[4, 6]部分解决了高效跨模态学习的需求,但它们的预训练计算成本仍然很高(在超过1亿个图像-文本对上大约需要100个GPU小时),并且针对特定领域的微调可能参数效率低下。

对于实际应用而言,提高MLLMs在特定任务上的表现至关重要,这有助于将其价值扩展到零样本场景之外。虽然零样本性能结果展示了它们无需训练数据即可处理各种任务的潜力,但在特定下游任务数据可用的情况下,最大化其有效性也具有重要意义。在这种情况下,实现高效且可适应的调优策略变得至关重要。虽然一些MLLMs,如LLaVA,提出了如LoRA[14]等参数高效的调优技术,或选择性地训练图像-语言投影层,但这些技术在不同任务和数据集上的最优实现和泛化性仍需进一步探索。开发有效、经济且灵活的调优策略,不仅能够充分发挥MLLMs在目标应用中的潜力,还能确保在零样本基准之外实现改进和稳健的性能。

本文提出了CROME,一个包含视觉编码器、查询转换器 和 门控跨模态适配器 的视觉-语言训练框架,如图1所示。所提出的适配器在LLM输入之前统一视觉和语言表示,促进了卓越的跨模态理解,同时通过在微调过程中保持LLM和视觉编码器冻结来维持参数效率。本文的轻量级跨模态融合单元有效地学习跨模态关系,使得CROME的微调变得非常简单。

本文贡献:

  1. 提出了CROME,一个新颖的视觉-语言学习框架,该框架包含一个轻量级的门控跨模态适配器(CROME-Adapter),用于在LLM输入之前对齐视觉和文本标记,以实现多模态学习。这避免了昂贵的LLM训练,并保持了文本理解和推理任务的泛化能力。

  2. CROME引入了一种有效、经济且灵活的微调策略,以在特定下游任务数据可用的情况下最大化MLLM的有效性。CROME Adapter的设计既实现了跨模态理解,又实现了参数高效的微调,因为只有在适应过程中才会训练适配器。

  3. 在一系列MLLM基准上评估了CROME在零样本和监督微调场景下的性能,并表明CROME在6/8个基准上优于最先进的开源基线。通过仅训练跨模态适配器(近500万个参数),证明了CROME在针对特定任务定制的方法中表现出色。

CROME: a Cross-modal adapter based MLLM

1. 模型架构

CROME由预训练的冻结LLM、冻结的视觉编码器和查询Transformer组件组成,如图2所示。Projected后的图像块和查询嵌入被传递到跨模态适配器中,然后与文本嵌入连接并输入到LLM中。值得注意的是,尽管高级架构类似于InstructBLIP系列的多模态LLM,但CROME在将视觉和文本输入到LLM之前处理它们的方式上有所不同。

下面,详细介绍每个组件:

视觉编码器

使用视觉编码器来提取图像特征,这些特征随后通过线性投影层 (linear projection layer) 和Q-Former进行处理。在预训练和指令调优 (instruction tuning) 阶段,保持视觉编码器本身冻结,并维持其预训练的视觉表示,以获得低成本和参数高效的训练。这些阶段仅训练相关的 projection 层。

  • 图像预处理:用 Bicubic 方法 resize 到 224 × 224;随机 crop,horizontal flips;归一化参数为 mean = (0.48145466, 0.4578275, 0.40821073),standard deviation = (0.26862954, 0.26130258, 0.27577711)
大型语言模型

为确保低成本和参数高效的训练,以及在有限调优数据下的更好泛化能力,提出在CROME的所有训练阶段中完全冻结LLM。这允许使用仅解码器和编码器-解码器类型的模型架构作为LLM。

查询Transformer(Q-Former)

采用Q-Former架构,其中查询通过自注意力相互交互,并通过每隔一个Transformer块插入的跨注意力与冻结的图像特征进行交互。使用InstructBLIP的模型Q-Former进行初始化,并在instruction-tuning 阶段训练其所有1.88亿个参数,这仅占视觉编码器和LLM参数的约20%和2.6%,从而确保在大规模 instruction-tuning 期间的参数效率。

CROME适配器

受适配器网络概念的启发,该概念引入了参数效率,在CROME中提出了一个轻量级的跨模态模块。关键的是,与Transformer中前馈和自注意力层之后的典型适配器放置不同,该模块促进了文本和视觉表示在进入LLM之前的融合。这种预LLM融合为在LLM内部对齐不同模态以实现最佳理解提供了潜在优势。在微调期间,跨模态适配器是唯一可训练的组件,使CROME能够非常高效地适应新任务,而无需对核心LLM进行大量重新训练。

如图2所示,使用传统的瓶颈结构,具有 down-projection 和 up-projection 单元以及跳跃连接。这种设计允许对高维输入特征进行高效处理。对视觉和文本分支使用特定模态的下采样单元,其中每个分支中的d维输入特征向量被投影到较小的m维。受Transformer前馈层中门控线性单元成功的启发,在 down-projection 单元中,使用两个线性变 换 Wd ∈ R^{d×m} 和 Wg ∈ R^{d×m} 的逐分量乘积,其中一个输入的激活函数为sigmoid。这种门控机制有助于适配器控制信息流,可能强调最有用和相关的多模态关系。

对于每个 down-projection 单元,给定大小为 x ∈ R^d 的输入文本或图像特征嵌入,输出映射为:

其中SiLU是Sigmoid Linear Unit函数。另一方面,up-projection 单元在两个模态之间使用权重共享机制,其中m维向量 z ∈ R^m 通过 Wu ∈ R^{m×d} 投影回d维输入维度,以更好地促进跨模态关系的学习。总体而言,跨模态适配器每个分支的输出可以表示为:

最后,通过连接标记化的文本、CROME-Adapter中文本分支的输出和CROME-Adapter中视觉分支的输出,形成输入到LLM的输入(见图2)。

2. CROME 训练

本节描述CROME的不同训练过程:(a) 使用图像-描述对进行预训练,随后(b) 在各种任务上使用图像-指令进行指令调优,以及(c) 可选的任务特定高效微调,如果针对特定目标任务有可用数据,则使用此微调来优化CROME在该任务上的性能。在整个训练阶段,使用下一个标记预测作为训练目标,其中大型语言模型(LLM)根据先前的多模态视觉和文本标记来预测下一个单词。这鼓励模型根据先前标记的上下文准确生成后续标记。

图3提供了训练阶段和可训练模型组件的可视化表示,具体描述如下。

预训练

本文的方法从预训练阶段开始,旨在将投影层内的模态对齐。如图3(a)所示,在此阶段,训练图像和文本投影层以及跨模态适配器,同时保持模型的其他层冻结。

指令调优

在此阶段,对模型进行细化以准确遵循指令。本文使用一组多样化的图像-指令对来训练模型,使其能够回答关于图像的特定查询,从而扩展其在预训练期间学习的图像描述能力之外的能力。在指令调优过程中,本文训练Q-Former、投影层和CROME-适配器参数。这使得模型能够高效地学习指令感知查询,这得益于Q-Former内部图像嵌入和查询之间的跨模态交互(见图3(b))。指令调优的结果是得到一个在视觉问答基准测试中具备强大零样本性能的模型。

可选的任务特定微调

当有更多针对特定任务的数据(通常规模小于前一阶段)可用时,此步骤会进一步优化CROME在目标任务上的性能。CROME-Adapter通过将可训练参数的数量限制在大约500万(见图3(c)),实现了高效微调。除了低成本的任务特定调优外,这种参数效率还构成了一种有效的机制,以防止在使用少量任务特定数据时常见的过拟合问题。

Experiments

1. 训练CROME的数据集

对于预训练(PT)数据集,我们使用LLaVA预训练LCS-558K[3],这是LAION/CC/SBU数据集的一个经过筛选的子集,作为所有实验中一致的图像-描述对。至于指令调优(IT)数据集,本文为不同的实验考虑了三种不同的选项,以突出不同的结果:

• IT数据集1(665K个样本),用于评估预语言模型(pre-LM)模态对齐的效果:为了展示CROME的预语言模型输入对齐单元相比于LLaVA等模型中使用的LLM再训练的有效性,我们使用与LLaVA1.5[3]相同的665K个指令-图像对。

• IT数据集2(120万个样本),用于评估CROME-Adapter的效果:为了与InstructBLIP和BLIVA模型进行比较,并展示CROME-Adapter的有效性,本文使用了一个包含120万个样本的类似数据集。在特定子集不可用的情况下,本文通过从基于MSCOCO的数据集中采样更多具有多个问题和答案的图像示例来进行补偿,以确保一致的120万个样本大小。

• IT数据集3(800万个样本),用于大规模指令调优:本文将数据集2增加到800万个图像-指令对,纳入了来自LVIS-Instruct4v[47]、LAMM[48]、Flickr30K[49]和ShareGPT4V[50]的数据。这个更大且更多样化的数据集允许我们评估CROME在更广泛的视觉概念和指令上的泛化能力,并进一步凸显其在适应大规模数据方面的效率。本文的主要结果报告是使用在该数据集上训练的模型得出的。

数据集平衡

我们遵循InstructBLIP的平衡策略,以与数据集大小平方根成比例的比率采样数据集(即训练样本的数量)。给定D个数据集,其大小分别为{N1, N2, ..., ND},我们在训练期间从数据集d中选择数据样本的概率pd设置为

2. 实现细节

2.1 模型架构

本文采用EVA-CLIP[51]中的ViT-G/14架构作为视觉编码器,处理大小为224x224的原始图像。本文从其倒数第二层提取特征。作为大语言模型(LLM),本文考虑两种不同的架构:Vicuna7B/13Bv1.5(仅解码器),基于LLaMA2[52]进行指令调优;以及Flan-T5 XXL[24](编码器-解码器),基于T5[53]进行指令调优。本文的Q-Former遵循与BLIP2类似的设计,并从InstructBLIP模型初始化。它使用一组32个可学习的查询嵌入,每个嵌入的维度为768。

2.2 训练细节

本文使用批量大小为32,对投影层进行5个周期的预训练。在指令调优阶段,本文使用批量大小为16,最多进行200万次迭代,这大约遍历了训练数据的4个周期。对于这两个训练阶段,本文都使用AdamW[54]优化器,其中β1=0.9,β2=0.999,权重衰减为0.05。此外,本文在前1000步中应用了学习率的线性预热,从10-8增加到10-5,随后采用余弦衰减,最小学习率为0。

2.3 MLLM零样本基准测试

本文在一系列开源MLLM基准测试以及仅通过仅预测API可访问的基准测试上比较了CROME。本文报告了在MMMU[55]、MME Perception (MMEP)[56]、MME Cognition (MMEC)[56]、MMBench (MMB)[57]、MM-Vet[58]、HallusionBench (HallB)[59]、LLaVA-Bench In-the-Wild (LLaVAW)[3]和SEED-Bench Image Part (SEEDI)[60]上的结果。

MMMU基准测试旨在评估多模态模型在需要大学水平学科知识和深思熟虑推理的多学科任务上的表现。

MMEP和MMEC在总共14个子任务上衡量感知和认知能力。

MMBench包含大约3000个单选题,涵盖20个不同的能力维度,如对象定位和社交推理。

MM-Vet定义了6项核心能力,并检查了从能力组合中衍生的16项感兴趣的集成。

作为评估指标,本文使用基于LLM的评估器作为“评判者”来评估开放式输出。

HallusionBench包含346张图像与1129个问题的配对,所有这些都由人类专家精心制作,以评估图像上下文推理与视觉幻觉的关系。

LLaVA-Bench In-the-Wild是一个小型数据集,包含一组24张图像,总共有60个问题,包括室内/室外场景、表情包、绘画、素描等,以评估MLLM在挑战性任务和对新领域的泛化能力。

最后,SEED-Bench是一个评估文本指令遵循能力的基准测试,包含19K个具有准确人类注释的多选题,可以客观地测量MLLM的性能,而无需人类或LLM评判者的干预。

2.4 评估指标

为了保持一致性,本文报告了使用与每个基准测试相关联的标准实现计算的官方指标。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论坛 推荐

畅议论坛:http://udbbs.top/http://udbbs.top/

查看U盘的具体信息,分区表格式、实际容量和分区状态

查看U盘的具体信息,分区表格式、实际容量和分区状态 前言: 利用windows自带的命令行窗口就可以 1、使用命令提示符查看MBR和GPT分区类型 (1)按“Windows R”键,在弹出的运行对话框中输入“diskpart”,并按…

游戏开发设计模式之工厂模式

目录 简单工厂模式(Simple Factory Pattern) 应用场景: 优缺点: 工厂方法模式(Factory Method Pattern) 应用场景: 优缺点: 抽象工厂模式(Abstract Factory Patte…

碰撞检测 | 基于ROS Rviz插件的多边形碰撞检测仿真平台

目录 0 专栏介绍1 基于多边形的碰撞检测2 碰撞检测仿真平台搭建2.1 多边形实例2.2 外部服务接口2.3 Rviz插件化 3 案例演示3.1 功能介绍3.2 绘制多边形 0 专栏介绍 🔥课设、毕设、创新竞赛必备!🔥本专栏涉及更高阶的运动规划算法轨迹优化实战…

Debian12安装tomcat8

jdk安装 安装Tomcat前需要先安装JDK,JDK安装参见: https://zhengshaoshaolin.blog.csdn.net/article/details/141407600 tomcat安装 1、下载安装 Apache Tomcat 访问官方 Apache Tomcat 下载页面,获取最新的二进制文件 或者使用如下的 wg…

Spring DI 数据类型—— set 方法注入

首先新建项目&#xff0c;可参考 初识IDEA、模拟三层--控制层、业务层和数据访问层 一、spring 环境搭建 &#xff08;一&#xff09;pom.xml 导相关坐标 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.or…

【Win开发环境搭建】Redis与可视化工具详细安装与配置过程

&#x1f3af;导读&#xff1a;本文档提供了Redis的简介、安装指南、配置教程及常见操作方法。包括了安装包的选择与配置环境变量的过程&#xff0c;详细说明了如何通过修改配置文件来设置密码和端口等内容。同时&#xff0c;文档还介绍了如何使用命令行工具连接Redis&#xff…

ArcGIS如何将投影坐标系转回为地理坐标系

有时候两个数据&#xff0c;一个为投影坐标系&#xff0c;另一个为地理坐标系时&#xff0c;在GIS软件中位置无法叠加到一起&#xff0c;这需要将两个或多个数据的坐标系统一&#xff0c;可以直接将地理坐标系的数据进行投影&#xff0c;或将投影坐标系转为地理坐标系。下面介绍…

在使用Simulink进行FOC(Field-Oriented Control,场向量控制)仿真时,如果遇到波形丢失精度的问题,该这么解决

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…

【Qt】输入类控件QLineEdit

目录 输入类控件QLineEdit 例子&#xff1a;录入个人信息 例子&#xff1a;使用正则表达式验证输入框的数据 例子&#xff1a;验证俩次输入密码一致 例子&#xff1a;切换显示代码 输入类控件QLineEdit QLineEdit 用来表示单行输入框&#xff0c;可以输入一段文本&#xf…

网络安全入门教程(非常详细)从零基础入门到精通_网路安全 教程

前言 1.入行网络安全这是一条坚持的道路&#xff0c;三分钟的热情可以放弃往下看了。2.多练多想&#xff0c;不要离开了教程什么都不会了&#xff0c;最好看完教程自己独立完成技术方面的开发。3.有时多百度&#xff0c;我们往往都遇不到好心的大神&#xff0c;谁会无聊天天给…

QT-五子棋游戏

QT-五子棋游戏 一、演示效果二、核心代码三、下载链接 一、演示效果 二、核心代码 #include "GameModel.h" #include <time.h> #include <stdlib.h>GameModel::GameModel(){}void GameModel::startGame(GameType type){gameType type;//初始化棋盤game…

如何备份电脑数据到U盘?防止数据丢失从备份开始

在数字化时代&#xff0c;数据备份已经成为我们日常生活中不可或缺的一部分。电脑中的数据&#xff0c;无论是工作文件、学习资料&#xff0c;还是珍贵的照片和视频&#xff0c;都是我们生活中重要的资产。为了防止数据丢失&#xff0c;将数据备份到U盘是一个简单且实用的方法。…

【IEEE独立出版】第三届人工智能、物联网和云计算技术国际会议(AIoTC 2024,9月13-15)

第三届人工智能、物联网与云计算技术国际会议(AIoTC 2024)将于2024年9月13日-15日在中国武汉举行。 本次会议由华中师范大学伍伦贡联合研究院与南京大学联合主办、江苏省大数据区块链与智能信息专委会承办、江苏省概率统计学会、江苏省应用统计学会、Sir Forum、南京理工大学、…

《重温JavaScript五子棋小游戏》

目录 全部运行代码&#xff1a;五子棋游戏的基本步骤&#xff1a;代码剖析&#xff1a;1. 初始化游戏界面2. 管理游戏状态3. 玩家交互4. 电脑AI5. 胜负判定6. 游戏控制 本文通过实现一个基本的五子棋游戏&#xff0c;展示了如何使用HTML、CSS和JavaScript来构建一个简单的交互式…

GIS应用水平考试一级真题和答案分享~

2012年-2018年完整真题和答案 GIS应用水平考试资料分享https://docs.qq.com/doc/DRmxxaVhpbGJXSGho?u5295a88d71d8480d971da4e3334ee913

ES高级查询Query DSL查询详解、term术语级别查询、全文检索、highlight高亮

文章目录 ES高级查询Query DSLmatch_all返回源数据_source返回指定条数size分页查询from&size指定字段排序sort 术语级别查询term query术语查询terms query多术语查询range query范围查询exists queryids queryprefix query前缀查询wildcard query通配符查询fuzzy query模…

可视化大屏-实现自动滚动

一、背景&#xff1a;可视化大屏通常需要用到自动滚动的效果&#xff0c;本文主要采用的是vue-seamless-scroll组件来实现&#xff08;可参考官方文档&#xff09; 二、实现效果&#xff1a; 自动滚动 三、代码实现&#xff1a; 解题思路&#xff1a; 1.先安装依赖包 npm inst…

亲测解决Verifying shim SBAT data failed: Security Policy Violation

在小虎用u盘安装ubuntu系统的时候&#xff0c;笔记本出现了这个问题&#xff0c;解决方法是管关闭security boot。 解决方法 利用F2\F10\F12进入Bios设置&#xff0c;关闭security boot即可。 Use F2 to enter the bios security settings, close it. 参考 Verifying shim…

基于YOLOv8的船舶目标检测与分割(ONNX模型)

项目背景 需求分析&#xff1a;在海洋监控、港口管理、海事安全等领域&#xff0c;自动化的船只检测与分割技术对于提高效率和安全性至关重要。技术选型&#xff1a;YOLOv8是YOLO系列的一个较新版本&#xff0c;以其速度快、准确率高而著称。使用ONNX&#xff08;Open Neural …