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

news2024/11/24 15:04:25

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.coloradmin.cn/o/2061744.html

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

相关文章

转行游戏测试,小白到入门我只用了5天

声明:此篇为 ai123.cn 原创文章,转载请标明出处链接:https://ai123.cn/2183.html Hey朋友们!👋有没有想过,AI怎么让游戏测试变得更轻松?🤔🎮作为刚入行游戏界的小白鼠&am…

使用Node-RED发送数据到巴法云

上一篇博文完成了Node-RED的安装,下面来尝试一下用Node-RED来发送数据到巴法云服务器。 我在教学用MQTT工具的思考-CSDN博客中说过,巴法云支持云云互联,可以连小米、百度,学生使用的兴趣高。所以今天先测试Node-RED和巴法云的连接…

TOMCAT入门到精通

目录 一 WEB技术 1.1 HTTP协议和B/S 结构 1.2 前端三大核心技术 1.2.1 HTML 1.2.2 CSS(Cascading Style Sheets)层叠样式表 1.2.3 JavaScript 二 WEB框架 2.2后台应用架构 2.2.1单体架构 2.2.2微服务 2.2.3单体架构和微服务比较 三 tomcat的…

VScode 连接远程服务器

1、 2、 3、免密登录 1、本地生成密钥 ssh-keygen2、生成的密钥默认在 C:\Users\***\.ssh\ 中3、将私钥 C:\Users\***\.ssh\id_rsa 添加到上面的配置文件中的 IdentityFile 项内4、将公钥 C:\Users\***\.ssh\id_rsa\id_rsa.pub 拷贝到远程 ~/.ssh/authorized_keys 中 4、远程…

智能巡检新突破:防爆巡检机器人打造油气化工安全高效新标杆

一、项目背景 2023年中国石油产量达到2.08亿吨、油气勘探投资额超过840亿元,油气开发投资额约2860亿元。油气的产量和开发投资在大幅增长扩大,而油气田、石油石化企业在日常生产维护时需要大量的投入人工进行巡检。传统的人工巡检存在巡检采集点增多、高…

「C++系列」vector 容器

文章目录 一、vector 容器1. 基本特性2. 基本操作3. 注意事项 二、应用场景1. 应用场景2. 案例案例一:存储动态大小的数据集合案例二:实现栈 三、相关链接 一、vector 容器 C 中的 vector 是一个非常常用的容器(container)&#…

望繁信科技入选2024年第3批上海市高新技术成果转化项目名单

近日,上海望繁信科技有限公司(以下简称“望繁信科技”)凭借其自主研发的“数字北极星流程挖掘分析软件”项目,成功入选2024年第3批上海市高新技术成果转化项目名单。这一殊荣根据《上海市高新技术成果转化项目认定办法》&#xff…

Prism-学习笔记1-安装Prism

安装Prism 在VS2022中安装如下图: 2. 搜索Prism,安装Prism:(ps:如果安装很慢,直接往上搜关键字 Prism template Pack 下载,或者这里我下载好的Prism包,提取码:bi7c&…

Vue3 走马灯Vue3Marquee组件库的使用 文字走马灯 公告栏

介绍 Vue3Marquee 是一个用于在 Vue 3 项目中创建跑马灯(Marquee)效果的组件库,常见于网站的公告,如文字太长可以考虑使用该组件让文字进行滚动, 当然不止是文字 元素也可以。 项目地址 https://gitcode.com/gh_mir…

信息竞赛2024年第三次csp-j模拟测试赛后总结

目录 一.第一题:孤独的数列 (lonely) 二.第二题:五颜六色 (color) 三.第三题:获取字符串 (obtain) 首先自我反思,因为打错了freopen导致爆零,这是重大的失误,以后绝对不能再犯。 一.第一题:…

【前端】VUE 在线运行 模拟器 通过字符串动态渲染页面 可以灵活使用

【前端】VUE2 在线运行 模拟器 通过字符串动态渲染页面 可以灵活使用 <template><div><!-- 这里是动态组件--><component :is"component"></component><!-- 这里是动态组件--><br /><br /><br />可…

【源码+文档+调试讲解】学院网站

摘 要 使用旧方法对冀中工程技师学院网站的信息进行系统化管理已经不再让人们信赖了&#xff0c;把现在的网络信息技术运用在冀中工程技师学院网站的管理上面可以解决许多信息管理上面的难题&#xff0c;比如处理数据时间很长&#xff0c;数据存在错误不能及时纠正等问题。这次…

序列建模之循环和递归网络 - 长短期记忆和其他门控RNN篇

序言 在序列建模的广阔领域中&#xff0c;循环神经网络&#xff08; RNN \text{RNN} RNN&#xff09;以其独特的能力在处理可变长度序列数据上展现出了巨大的潜力。然而&#xff0c;传统的 RNN \text{RNN} RNN在处理长期依赖问题时&#xff0c;往往面临着梯度消失或爆炸的困境…

xss靶场 pwnfunction WW3

目录 代码 代码分析 payload构造 结果 代码 <div><h4>Meme Code</h4><textarea class"form-control" id"meme-code" rows"4"></textarea><div id"notify"></div> </div><scri…

UIAbility组件间的交互

一、Want 是UIAbility组件间交互载体。 Want启动UIAbility组件的两种方式&#xff1a; 1、显示Want启动 启动某个明确UIAbility组件时使用&#xff1b;需要在Want参数中设置启动的应用包名和UIAbility组件名。 2、隐式Want启动 需要使用某个应用的能力&#xff0c;不关心提供能…

在VBA中调用Adobe Acrobat或Reader的命令行工具,实现PDF自动打印 (‾◡◝)

在VBA&#xff08;Visual Basic for Applications&#xff09;中自动打印PDF文件通常不直接支持&#xff0c;因为VBA本身是针对Microsoft Office应用程序&#xff08;如Excel、Word和PowerPoint等&#xff09;的编程语言&#xff0c;并不直接处理PDF文件。但是&#xff0c;你可…

【JAVA多线程】CompletableFuture原理剖析

前文讲解了completablefuture的使用&#xff0c;本文将剖析其核心原理&#xff0c;前文连接&#xff1a; 【JAVA多线程】Future&#xff0c;专为异步编程而生_java future异步编程-CSDN博客 目录 1.任务组成任务链 2.默认使用ForkjoinPool作为线程池 3.任务是被串行执行的…

人工智能在Facebook的角色:创新与挑战并存

人工智能&#xff08;AI&#xff09;已经成为推动科技进步的重要力量&#xff0c;而在社交媒体领域&#xff0c;Facebook则是将AI技术广泛应用的先锋。Facebook通过AI来改善用户体验、提高内容质量以及优化广告投放&#xff0c;极大地提升了平台的功能与价值。然而&#xff0c;…

近年国际重大网络安全事件深度剖析:安全之路任重道远

引言 在当今数字化时代&#xff0c;网络安全已成为全球关注的焦点。随着信息技术的飞速发展&#xff0c;网络攻击的手段和规模也在不断升级&#xff0c;给个人、企业和国家带来了巨大的威胁。本文将盘点近年来国际上发生的重大网络安全事件&#xff0c;分析其影响和教训&#…

GPT-4o微调功能现已上线

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…