CVPR 2025前沿:多模态大语言模型多层视觉特征融合新方法,指南在此!

多层视觉特征的融合仍未充分研究

近年来,多模态大语言模型(MLLMs)取得了显著进展,视觉特征在提升模型性能方面发挥着越来越关键的作用。然而,在多模态大语言模型中,多层视觉特征的融合仍未得到充分研究,尤其是在最优层选择和融合策略方面。现有方法往往基于随意的设计选择,导致结果并非最优。这里我们系统地研究了多层视觉特征融合的两个核心方面:(1)选择最有效的视觉层;(2)确定与语言模型融合的最佳方式。实验表明,虽然结合多个阶段的视觉特征可以提高模型的泛化能力,但从同一阶段引入额外特征通常会导致性能下降。此外还发现,在输入阶段直接融合多层视觉特征,在各种配置下都能持续产生更优且更稳定的性能。

领域介绍

多模态大语言模型(MLLMs)通过将预训练的视觉编码器与大语言模型(LLMs)相结合,最近在一系列多模态任务中取得了令人瞩目的成果,如图像字幕生成和视觉问答(VQA)。在这个框架中,虽然大量研究集中在大语言模型上,但视觉组件尽管很重要,却相对较少被研究。特别是,目前的方法缺乏系统选择最优视觉层的方法,以及将视觉特征整合到大语言模型中的有效方式。

1)视觉层选择

在最优视觉层选择方面,目前的研究对于使用单层(图1(a))还是多层视觉特征(图1(b))存在争议。一方面,像MiniCPM、LLaVA和InternVL等模型,通过依赖单层视觉特征取得了不错的性能。另一方面,实证研究表明,多层视觉特征可以提升模型性能。然而,这些研究往往以随意的方式选择多层视觉特征。例如,Dense Connector根据视觉编码器的深度按比例选择层,而EVLM则直接使用后半部分层的特征。尽管取得了一定成果,但目前还没有系统选择最优视觉层的方法。这就引出了一个研究问题:如何更有效地选择视觉层?

为了解决这个问题,我们提出了两种划分视觉层的标准:基于相似性的选择和基于比例的选择。基于相似性的选择受相关研究启发,根据不同层视觉特征的余弦相似度,将视觉层分为三组(起始、中间和结尾),每组具有相似的表示和信息。基于比例的选择则是基于简单的视觉特征比例选择,与目前许多使用多层视觉特征的研究方法一致。我们将视觉特征分为三组(前半部分、后半部分和全部)。在这两种标准的指导下,我们进行了大量实验,以探索最优的层选择集。实验表明,从起始、中间和结尾阶段各选择一个具有代表性的视觉特征,能获得最强的泛化性能。

图片

2)融合策略

关于融合策略,即视觉特征如何与大语言模型融合,现有方法也各不相同:一些方法将视觉特征融合到大语言模型的中间层,而另一些方法则在输入阶段将其与文本特征一起输入。此外,在融合之前,一些方法使用额外的模块来处理视觉特征,而另一些方法则直接将视觉信息融入大语言模型,不使用额外组件。由于缺乏对融合策略的系统研究,我们对于不同融合模式和位置对模型性能的影响了解不足。因此,另一个重要问题是:如何选择有效的融合策略?

为了填补这些空白,我们首先根据两个标准对融合方法进行分类:融合位置和融合模式。融合位置指的是视觉特征在模型中的融合位置,即在输入阶段(图1(c)中的外部融合)或中间层(图1(d)中的内部融合)。融合模式则区分了模块化融合(图1(f))和直接融合(图1(e)),模块化融合引入额外模块来处理视觉信息,而直接融合则不需要额外组件。在这种分类的指导下,我们开发了四种融合策略,并进行了广泛的实验,以确定在多模态大语言模型中整合视觉信息的最有效方法。结果显示,外部直接融合始终表现最佳,在各种配置下都能提供稳定且优异的结果。此外,我们还强调了内部直接融合的潜力,特别是对于在大型数据集上训练的模型。

总的来说,我们对视觉层选择和融合策略设计进行了全面研究,为多模态大语言模型中多层视觉特征的有效利用提供了有价值的见解。通过大量实验,发现了几个关键结论。在视觉层选择方面,研究了表示相似性和层比例这两个标准,发现从具有不同表示相似性阶段选择视觉特征时,模型性能最佳,而使用同一阶段的多个特征会导致性能下降。在融合策略选择方面,基于融合位置和模式开发了四种融合方法,并证明外部直接融合在各种配置下具有最强的泛化性能。

相关工作

大语言模型

大语言模型通常使用自回归方法进行训练,模型会预测序列中的下一个token。这些模型可能拥有数十亿甚至数百亿个参数,并在包含数万亿个token的数据集上进行训练。例如,LLaMA 3.1在超过15万亿个token上进行了训练。目前的大语言模型表现出色,并在各个领域得到了广泛应用。然而,许多应用对能够在边缘设备上运行的高效大型模型的需求日益增长,这推动了对更小、更高效模型的需求。多项研究表明,参数规模小至70亿的模型仍能取得不错的性能,满足了对紧凑高效解决方案的需求。

多模态大语言模型

大语言模型的出色表现激发了对多模态大语言模型的探索,近年来出现了许多优秀的研究成果。尽管这些模型非常有效,但最后一层图像特征提供的信息可能有限。因此,许多方法试图融入更多信息,以更好地利用大语言模型的推理能力。一些方法除了使用低分辨率图像外,还融入了多个高分辨率图像补丁。DeepStack将高分辨率图像划分为固定数量的子图像,并将它们的token添加到大语言模型层之间的视觉token中。

一些方法基于全局图像融入额外的对象级视觉信息。GLAMM基于从低分辨率图像中提取的全局特征,添加了一个区域编码器来实现局部特征提取。一些方法利用不同预训练方法的视觉编码器来提取各种视觉特征,并将这些特征作为视觉token输入大语言模型。SPHINX使用多个视觉编码器来提取不同的视觉信息,丰富了细节。一些方法则利用多层视觉特征。EVLM利用分层的ViT特征,使模型能够尽可能全面地感知视觉信号。

尽管已经有各种将额外信息融入大语言模型的尝试,但在如何有效融合这些信息方面,仍缺乏广泛的探索。而且,与基线模型相比,许多方法依赖于扩展的数据集或更复杂的架构,这使得我们难以确定观察到的性能提升是来自先进的融合策略,还是仅仅源于模型容量的增加。为了解决这些问题,我们系统地研究了利用多层视觉特征的最优融合范式。

方法论说明

虽然许多研究表明,融入多层视觉特征可以显著提高多模态大语言模型的性能,但它们没有深入探讨有效层选择背后的原理,也没有在各种融合策略中进行广泛验证。接下来将详细介绍视觉层选择以及两种融合策略,即内部融合和外部融合,以解决前面提出的研究问题。

1)视觉层选择

使用两种标准对视觉层进行分类:基于相似性的选择和基于比例的选择。基于相似性的选择方法受到相关研究结果的启发,这些研究表明,同一阶段(起始、中间或结尾)的特征通常位于相似的表示空间中,具有相似的属性。这种相似性能够将层划分为有意义的阶段,从每个阶段选择具有代表性的层,以捕捉不同类型的视觉信息。如图2(a)所示,基于相似性的选择方法将视觉编码器的N层分为三组:第1层到第B层代表起始阶段,第B + 1层到第M层代表中间阶段,第M + 1层到第N层代表结尾阶段。

另一方面,基于比例的选择策略与之前的研究一致,这些研究根据编码器深度的比例划分来选择层。为了与先前研究保持一致并便于系统比较,我们将视觉编码器的N层分为两组:前半部分和后半部分阶段。如图2(b)所示,第1层到第N/2层构成前半部分阶段,而第N/2 + 1层到第N层构成后半部分阶段。这种方法分别考察了编码器深度方向上浅层和深层特征的贡献。

对于基于相似性的选择,我们根据实证结果选择具有代表性的层:第3层(起始阶段)、第18层(中间阶段)和第23层(结尾阶段)。对于基于比例的选择,我们也定义了三组:{前半部分}、{后半部分}和{全部}。这些组有助于系统评估层选择在不同方面对模型性能的影响。

图片

2)内部融合

内部融合方法将包含额外信息的token直接融入大语言模型内部。给定一个视觉特征集(多层视觉特征),其中表示视觉patch的数量,d表示通道维度,以及大语言模型中的隐藏状态,其中表示token的数量,D是大语言模型的隐藏层大小。大语言模型中第i层的内部融合操作可以表示为:

其中表示第i层更新后的隐藏状态,是第i层的投影器,用于将视觉特征映射到大语言模型的嵌入空间。

如图3(a)和图3(b)所示,内部模块化融合和内部直接融合的区别在于的使用方式。在内部模块化融合中,跨注意力模块是最常用的融合多层视觉特征的模块。根据跨注意力插入的位置,这种方法可以进一步分为预跨注意力、后跨注意力和平行注意力架构。而内部直接融合则通过直接在相应位置添加视觉token,简单地整合多层视觉信息。

3)外部融合

外部融合方法在将视觉token输入大语言模型之前的输入阶段,融合多层视觉特征。给定一个视觉特征集F、视觉token 和文本token ,其中表示文本token的数量,外部融合操作可以表示为:

其中表示外部融合操作后更新的视觉token。如图3 -(c)和图3 -(d)所示,与内部融合类似,外部模块化融合和外部直接融合的区别在于的应用方式。在外部模块化融合中,使用各种模块将多层视觉特征F融入V,以获得更新的视觉token ,或者直接由多层视觉特征F生成。而外部直接融合则通过更简单的操作,如逐元素相加、沿N维度堆叠或沿D维度堆叠,将F与V相结合。

值得注意的是,在内部融合中,每个视觉特征在不同的大语言模型层引入时都需要一个新的投影器,随着层数的增加,参数数量也会增加。相比之下,外部融合对于每个视觉层集只需要一个投影器,在处理多层时,参数效率更高。

4)基础模型:Mini-LLaVA

为了便于进行探索性实验,我们在对LLaVA - 1.5进行修改的基础上,开发了一个轻量级的多模态大语言模型Mini-LLaVA。

结构:Mini-LLaVA用较小的mobileLLaMA(14亿参数)模型取代了Vicuna 1.5(70亿参数)模型,同时保持其他组件与LLaVA - 1.5一致。我们的主要探索性实验基于Mini-LLaVA进行。与LLaVA - 1.5一样,Mini-LLaVA使用视觉编码器第23层的特征输入到大语言模型。它采用24层的MobileLLaMA 1.4B作为大语言模型,CLIP - ViT - L/14作为视觉编码器。由于视觉编码器和大语言模型都有24层,在内部融合时采用层对齐方法,即每个视觉特征层可以与大语言模型中相应的层进行融合(例如,第18层的视觉特征融合到第18层的大语言模型中)。

训练:与LLaVA - 1.5一致,我们使用一个包含55.8万张图像字幕的数据集进行预训练,以及一个包含66.5万条对话的数据集进行指令微调。在预训练阶段,只训练新初始化的组件,如投影器和模块化融合中的任何新模块。在指令微调阶段,除了视觉编码器外,所有参数都被解冻并进行优化。

图片

实验与分析

1)实验设置

比较模型:我们设计了使用第23层视觉特征的Mini-LLaVA模型。然后,比较该模型在融合不同单个视觉层或层集特征时的性能。具体来说,考虑的视觉层集包括:单一层{18}、双层层{3, 18}、三层层{3, 18, 23}、前半部分层{前半部分}、后半部分层{后半部分}和全部层{全部}。

基准测试:为了全面评估性能,在四个基准测试类别中评估不同设置:通用、OCR、以计算机视觉为中心和幻觉(Hallu)。通用类别包括GQA、MMBench(MMB)和MME,MME进一步分为MME认知()和MME感知()。OCR类别涵盖TextVQA和OCRBench。在以计算机视觉为中心的类别中,我们纳入了CV - Bench,它本身包含两个子类别:CV - Bench 2D和CV - Bench 3D。最后,幻觉类别由POPE代表。

2)内融合消融实验

内融合中的模块化融合有多种形式,包括预交叉、后交叉和平行,与直接融合相比,其复杂度更高。因此,我们先研究这些配置,再探讨直接融合,以探究它们之间的差异。

图片

模块化融合
  • 层组合探索:由于预交叉融合应用较为普遍,我们首先对其展开全面研究。预交叉注意力融合在六个层选择集上的性能表现总结于表1。由于应用“全部”层集时模型收敛困难,我们无法对该配置进行评估。从结果中可得出几个关键发现:起始阶段的特征对细节相关任务有益,“双层”({3, 18})在需要图像细节的任务上比“单层”({18})表现更优,这凸显了起始阶段特征在强化细节方面的重要性,表明结合起始和中间阶段的层来进行综合特征表示更具优势;“前半部分”层和“后半部分”层的性能存在差异,尽管参数数量相近,但相较于在前半部分层插入额外模块,在后半部分层插入时性能大幅下降。这意味着在后半部分层插入模块可能会干扰模型的特征处理。在前半部分层添加模块,后续层能够对特征进行细化和修正,而在后半部分层插入模块时这种优势难以实现,“双层”和“三层”({3, 18, 23})之间的性能差异进一步证实了这一点;性能提升有限,在五个可评估的层集中,只有“双层”和“三层”相比基线模型有轻微性能提升,分别仅提高了0.09和0.23分,而其他配置的性能实际上更差。

  • 不同模块化融合策略:为探究预交叉注意力、后交叉注意力和平行注意力架构之间的性能差异,选取在预交叉注意力中表现最佳的“双层”层集,在其他两种架构下进行测试以评估性能。结果总结于表2。尽管这三种融合策略在不同基准测试中各有优势,但整体性能相近。这表明,对于多层视觉特征融合而言,模块化融合策略的选择相对没那么重要。

直接融合

在模块化融合的对比研究中,我们深入探讨了层和模块的选择,得出了一些有价值的结论。例如,引入过多层会导致性能显著下降。不过,这种下降可能是由于大量模块带来的额外参数所致。为尽量减少额外参数的影响,我们围绕直接融合展开进一步实验。采用DeepStack中的融合策略,评估六个层选择集与模块化融合相比的性能差异。详细结果如表3所示,揭示了几个关键特性:广泛层选择存在局限性,插入过多模块会导致显著的性能下降,主要原因是大量参数难以优化。如图4展示的不同层集在预训练阶段的损失曲线所示,层数较多的配置在训练时面临更大挑战。特别是“全部”层集出现了收敛问题,训练损失在从11下降后,在6左右趋于平稳,这表明训练过程不稳定;增加视觉层时性能稳定,随着视觉层数量的增加,模型性能保持稳定,甚至在部分基准测试中有所提升。这表明直接融合能够有效适应额外的视觉信息,无需新模块或大量训练数据;对后半部分层的适应性强,与模块化融合在前半部分层表现更好不同,直接融合在后半部分层(“Latter”)表现更优,在GQA和TextVQA任务中尤为明显。这种差异可能源于大语言模型对不同层视觉token分配的注意力权重不同。在前半部分层,对视觉token的注意力明显更强,直接将多层视觉特征融合到隐藏状态可能会造成较大干扰。而后半部分层受到的注意力较少,能更顺畅地融合多层视觉特征。这与模块化融合的逻辑相反,在模块化融合中,在前半部分层添加新模块往往更有利。“双层”在模块化融合中表现优于“单层”,但在直接融合中并非如此,这一现象进一步支持了上述假设。

图片

图片

3)外融合消融实验

对于外部融合,我们将模块化融合和直接融合放在一起讨论。如图3所示,内部融合和外部融合中的模块化融合存在显著差异。特别是内部融合由于在大语言模型内部包含交叉注意力模块,且每个视觉层都需要投影器,所以需要更多参数。鉴于架构和参数使用上的这种差异,为简化分析,我们将外部融合中的模块化融合和直接融合一并探讨。

图片

图片

对于外部融合方法中的模块化融合,采用了最近提出的MMFuser,性能结果见表4。值得注意的是,在外部融合中,由于Mini-LLaVA基线模型从第23层导出全局视觉特征,所以“双层”和“三层”的结果相同。对于外部融合方法中的直接融合,采用了与Dense Connector相同的简单方法。对于上述不同的层集,当选择较少层时,通过维度拼接来融合层间信息。对于“前半部分”“后半部分”和“全部”层集,我们先进行求和再求平均,以整合不同层的信息。外部融合方法中直接融合的性能见表5。我们可以得出以下结论:

  • 外部融合性能更优:无论是模块化融合还是直接融合策略,在外部融合中的表现都优于内部融合。外部融合中的模块化融合和直接融合在“前半部分”和“全部”层集下,性能得分分别达到49.78和49.88。相比之下,内部融合的最高性能得分仅为48.74。值得注意的是,在OCR和以计算机视觉为中心的类别中,内部融合相比外部融合优势有限,在通用和幻觉基准测试中则落后。

  • 外部融合中直接融合足够有效:在外部融合中,仅直接融合就足以有效整合多层视觉特征,添加额外模块并不会带来显著的性能提升。此外,在模块化融合中增加层数甚至可能导致性能下降。例如,“全部”层集的性能比“前半部分”层集低0.69分。相反,直接融合中简单的平均方法在“全部”层集下取得了最佳结果,凸显了其有效性。

  • 模块化融合性能波动更大:与内融合类似,外融合中的模块化融合在不同层组合下表现出更大的性能差异,尽管外部融合的参数数量保持稳定。这一发现表明,与直接融合相比,模块化融合对层选择更为敏感,而直接融合无论融合层数多少,结果都较为稳定。

进一步分析

为确定一种有效的多层视觉特征处理方法,我们首先分析融合策略在不同配置下的泛化能力。基于其适应性,我们提出了一套全面的实施方法。通过改变训练数据规模、视觉编码器和大语言模型的选择进行实验,以评估融合策略的一致性,验证上面的结论在不同设置下是否依然成立。

1)数据规模的影响

由于不同融合策略对参数的需求不同,探究数据规模对融合性能的影响至关重要。内融合方法通常需要大量训练数据。相比之下,其他融合方法即使在较小的数据集上也能取得不错的效果。为研究来自LLaVA-1.5的有限训练数据(55.8万 + 66.5万)是否限制了性能,用三种不同规模的监督微调(SFT)训练数据进行实验:33.2万、66.5万和73.7万。这里,66.5万代表LLaVA-1.5的监督微调数据,33.2万是其一半,73.7万来自Cambrian-1。我们对四种融合策略进行了详细的消融实验,结果如图5所示。可以观察到,虽然“外部 + 直接融合”(E + D)和“外部 + 模块化融合”(E + M)在数据规模达到66.5万及以上时保持较高性能,但一个明显的趋势是:随着数据规模的增加,内部融合(I)的性能提升更为显著。这表明在大规模数据集下,内部融合可能成为一种可行的选择。

图片

2)模型组件的影响

多模态大语言模型在组件选择上有多种选项。对于视觉编码器,除了经典的CLIP ViT-L,最近推出的SigLIP也受到了广泛关注。对于大语言模型,我们选择了27亿参数的MobileLLM,以探究更大规模大语言模型的性能。如图6所示,当使用更先进的模型组件(如SigLIP视觉编码器或27亿参数的MobileLLaMA)时,外部和内部融合策略的性能都有一致的提升。重要的是,这些结果证实了我们在基线实验中得出的结论:外部融合始终优于内部融合。例如,在“外部 + 直接融合”(E + D)配置下,平均得分从基线的49.18提高到使用SigLIP时的51.76,再到使用MobileLLaMA 2.7B时的52.63,这进一步证明了外部融合在整合多层视觉特征方面的可扩展性优势。

图片

值得注意的是,“内部 + 模块化融合”(I + M)配置在搭配SigLIP视觉编码器时表现明显较差,平均得分仅为43.27。这种下降表明,内部融合中的模块化方法在参数效率方面可能存在问题,或者在整合更复杂的视觉编码器时容易出现过拟合。

最后总结下

这里主要深入分析了多层视觉特征的利用,聚焦两个关键问题:

  • 问题1:如何更有效地选择视觉层?我们发现,从起始和中间阶段选择代表性的层,能显著提升所有融合策略的性能,尤其在对细节敏感的任务中,如OCR和以计算机视觉为中心的任务。值得注意的是,重复融合已经用作视觉token的结尾阶段(如第23层)的特征,并没有带来实质性的提升,甚至在融入模型时可能导致性能下降。同样,与包含早期层特征的配置(如“前半部分”或“全部”)相比,仅使用“后半部分”层的特征在特定细节任务中的表现较弱。总之,选择视觉层最有效的方法是,从起始和中间阶段各选一个代表性的视觉特征,再加上结尾阶段生成的视觉token,形成一套全面的多层视觉特征集。

  • 问题2:如何选择有效的融合策略?发现在大多数情况下,外部融合的表现始终优于内部融合。然而,在大规模数据集上训练时,内部融合的性能有显著提升,这表明在最优条件下,它有可能接近外部融合的有效性。此外,通过对不同模型配置和层选择集的实验,我们观察到直接融合比引入更多差异的模块化融合更稳定。总之,最有效的融合策略是外部直接融合,因为它在各种设置下都能持续展现出强大的性能和出色的泛化能力。当有大规模训练数据集可用时,内部直接融合也可作为一种潜在的替代方案。