专栏名称: 计算机视觉深度学习和自动驾驶
讨论计算机视觉、深度学习和自动驾驶的技术发展和挑战
目录
相关文章推荐
普象工业设计小站  ·  好风雅!唐风宋韵,尽在杯中 ·  昨天  
普象工业设计小站  ·  火焰也能作画??艺术家用火焰和剃须刀,在木头 ... ·  昨天  
普象工业设计小站  ·  前战地记者回国搞“吃播”,1400万粉丝看他 ... ·  昨天  
普象工业设计小站  ·  你见过最脑残的设计是什么?我先来10个! ·  2 天前  
普象工业设计小站  ·  贵州斥资8600万,打造世界第一女神像!竟免 ... ·  2 天前  
51好读  ›  专栏  ›  计算机视觉深度学习和自动驾驶

一个多模态模型合并的经验研究

计算机视觉深度学习和自动驾驶  · 公众号  ·  · 2024-04-10 07:05

正文

23年10月UNC Chapel Hill分校、MS和Apple的论文“An Empirical Study of Multimodal Model Merging”。

模型合并(例如,通过插值或任务算术)融合在不同任务上训练的多个模型以生成多任务解决方案。该技术在之前的研究中已被证明是成功的,模型是在类似的任务上进行训练并具有相同的初始化。本文合并在不同模态上训练的Transformer,将这一概念扩展到多模态设置。此外,研究目标是,合并特定于模态架构的视觉、语言和跨模态Transformer,创建参数高效模态不可知架构。提出两个指标来评估要合并的模型权重之间的距离,并可以作为合并结果的指标。

代码如下获取:

github.com/ylsung/vl-merging


视觉语言(VL)模型采用两种输入源,有不同的设计选择来融合信息,从而产生VL 建模的几种主流设计:(1)模态特定Transformer(Tan & Bansal,2019;Li,2023;Driess,2023),(2)模态不可知Transformer(Akbari,2021;Wang,2021;Kim,2021;Agha-janyan,2022),以及(3) 双Transformer(Radford,2021)。特定于模态Transformer使用语言Transformer和视觉编码器来提取特定于模态的表示并将其输入跨模态Transformer以学习图像-文本融合信息。一些现代架构(Driess, 2023; Sung, 2022b; Cho, 2021; Yu, 2022; Wang, 2022b; Sung, 2022a)使用语言和跨模态建模的语言Transformer。双Transformer是模态特定架构的特例,其中跨模态融合是通过简单的点积实现的,因此更有效地进行快速检索。模态不可知Transformer使用一个Transformer来处理多模态数据。这些方法可以被视为早期的融合模型,Transformer同时学习特定模态和跨模态信息。模态无关架构的设计相对简单,而且由于只有一个主干,因此内存效率更高。一个VL 模型采用图像-文本对作为输入,旨在以最小架构更改来处理各种 VL 任务。输入图像首先被分成块,展平为序列,然后输入视觉嵌入层以获得视觉特征。输入文本由语言嵌入层处理以获得文本特征序列。然后,这些特征由 VL 模型联合处理。

模态特定Transformer 包含两个 N 层(本文 N=12)Transformer,分别专门用于编码图像和文本输入,以及一个用于多模态融合的附加 M(本文M=2)Transformer层(Akbari,2017)(Lu,2019)(Li,2019)(Su,2020)。将它们在第 i 层的权重表示为 Wiv、Wil (i = 1,2,...,12) 和 Wivl (i = 11,12)。这个设计的灵感来自于VLMo(Wang et al., 2022a, 2023),它针对不同的任务有不同的路由做转发。对于视觉问答和其他分类任务,用前 (N − M ) 层视觉和语言Transformer来提取图像和文本特征,并将它们的串联馈送到 M 多模态融合层以获得最终表示。对于图像文本检索,直接用整个 N 层视觉和语言Transformer来提取图像和文本表示进行匹配。仅使用单模态编码器来提取特征可以有效地计算特征之间的点积,因为它消除将输入对转发到跨模态层的需要。为了更容易合并,所有Transformer采用相同的初始化,无论它们用于何种模态,并且用 Wi0 表示第 i 层的初始权重。

模态不可知Transformer 采用一组参数来共同学习视觉、语言和跨模态信息,即对于 i=1,2,...,12,Wiv = Wil;对于 i=11 和 12,Wiv =Wil =Wivl。该模型的转发机制与特定模态的架构相同。

共享权重模态特定Transformer 介于上述两种极端类型的架构之间,即具有部分模态不可知和模态特定模块。具体来说,探索共享权重架构的三种变体:(1)自定义注意层,(2)自定义 FFN 和(3)自定义BN层。

本文的目标是将特定模态的架构中各种Transformer组合成一个与模态无关的Transformer。不会合并嵌入层并保持它们特定于模态,因为它们具有不同的架构和维度。对于共享权重架构,只合并自定义层的权重,因为其他部分已经与模态无关。在特定于模态的 VL 模型中,Transformer接收来自不同模态的输入并协同工作以完成目标任务。合并这些Transformer,以允许单个Transformer可以同时处理不同的模态。这种情况偏离了之前关于模型合并的研究(Li et al., 2022;Matena & Raffel, 2022;Ainsworth et al., 2022),其中要合并的 Transformer从相同的模态获取输入。

合并方法包括:1)插值方法。对于简单的插值,视觉、语言和跨模态Transformer层按照给定的比率逐元素加权平均。控制视觉和语言转换器之间的比率α,并将跨模态Transformer的比率设置为恒定值(对于具有三种模态的层,α为1/3)。2)模态算术。受到任务向量概念的启发(Ilharco et al., 2022),它指示了从初始权重提高任务性能的方向。对于给定的任务,任务向量是从调整后的权重中减去初始权重来获得。然后,将所有任务向量添加到初始权重来计算包含多任务信息的合并权重。本文将这个想法扩展到学习不同模态的向量,称为模态向量。3)RegMean。这种方法(,2023)找到线性层权重的封闭式解,并均匀地插值其他权重(BN,偏差项)。

与之前合并在下游任务上微调的模型合并方法不同,在 VL 预训练之后合并不同模态的Transformer权重(Gan,2022),以探索一种更有效的与模态无关的预训练模型,以进行精细调整。遵循相同的流程来评估不同的合并方法。首先,以端到端的方式在 VL corpra 上预训练 KVL 步骤的模态特定模型。接下来,合并特定模态的Transformer权重来构建模态不可知的模型。最后,对下游任务的合并模型进行微调。请注意,特定模态的架构性能,不需要权重合并。因此,在预训练后直接对模型进行微调。

在来自 COCO (Lin et al., 2014)、Visual Genome (Jin et al., 2022)、SBU (Ordonez et al., 2011) 和 Conceptual Captions ( Sharma,2018)有三个流行的目标:图像文本对比(ITC)学习(Radford,2021)、图像文本匹配(ITM)(Li,2021)和掩码语言建模( MLM)(Devlin,2019)。在微调过程中,评估几个 VL 和视觉下游任务。

如图所示是本文提出的合并方法:红色框说明对合并性能至关重要的因素(种子预训练、合并方法、架构)。用蓝色填充块、绿色填充块和橙色填充块分别表示视觉、语言和VL模态。

如图是类似 VLMo (Wang et al., 2022a, 2023)的特定模态架构。 它具有N层视觉、N层语言和M层跨模态Transformer。 对于预训练的分类任务和图像文本匹配(ITM),它使用跨模态层来联合处理图像和文本输入。 对于预训练中的检索任务和图像文本对比(ITC),它仅通过视觉和语言编码器转发输入。 对于模态无关的架构,V、L 和 VL 转换器层共享一组参数,同时保持前向机制相同。

种子预训练的第一次试点,按照上述评估流程预训练从 BEiT(Bao,2022)初始化的特定模态模型进行 20 万次迭代,然后使用插值进行合并(α = 0.5),最后进行细化 -调整下游任务。 将这个简单的方法命名为







请到「今天看啥」查看全文