在大型视觉语言模型(例如,GPT-4,LLaVA等)中,存在的一个知名困境是,尽管增加视觉标记的数量通常可以提高视觉理解,但它也会显著增加内存和计算成本,尤其是在长期或流式视频帧处理场景中。 尽管已经开发了可学习的方法,如Q-Former和Perceiver Resampler,以减轻视觉标记的负担,但它们可能忽略了由类LLM(例如,键值缓存) causally建模的上下文,可能导致在处理用户 Query 时错过视觉线索。在本论文中,作者提出了一种利用冗余视觉标记“跳过层”而不是减少视觉标记数量的方法来减少视觉计算。 作者提出的VideoLLM-MoD方法灵感来源于混合深度LLM,并解决了长期或流式视频中大量视觉标记的挑战。具体而言,对于每个 Transformer 层,作者学习跳过其中高达80%的视觉标记的计算,并直接将其传递到下一层。这种方法显著提高了模型效率,整个训练实现了约42%的时间和30%的内存节省。 此外,作者的方法降低了上下文计算,并未减少视觉标记,从而与原始模型相比,在保持或甚至提高性能的同时,实现了更好的效果。 作者对VideoLLM-MoD的有效性进行了广泛的实验,表明其在多个基准测试上的最先进结果,包括COIN、Ego4D和Ego-Exo4D数据集中的叙述、预测和总结任务。
近年来大型语言模型的突破性发展, 尤其是GPT-4o[50]的出现,使许多人认为开发类似J.A.R.V.I.S这样的AI助手的可能性越来越大。这样的助手将是连续的,保持始终在线状态,具有多种模态,以方便与用户的互动。
尽管现有的基于视频的大多模态模型(LMMs)在一般视觉内容理解和推理方面显示出显著的能力,但这些模型主要在离线环境中运行,对于在视频中的特定帧 Level 提供回答,这在需要连续视频帧的及时、简洁和帧对齐回答的在线环境中是不足够的。与GPT-4o最接近的模型概念应该是VideoLLM-online[8],该模型持续接收视频帧,并在用户 Query 时提供时间对齐的响应。例如,对于一个 Query 如“在什么时候应该加盐”的在线助手,就应该评估每个传入的帧,并给出时间对齐的建议,参考历史视觉和语言上下文而不是仅仅在事件 Level 总结视频。因此,在线助手面临巨大的计算需求,因为它们需要为一条长视频中的每一帧进行因果建模,而现有的方法[8]只依赖每个帧的CLS标记,这限制了它在需要细致的场景理解。
显然,通过在每个帧中集成额外的池化空间标记来增强空间理解是显而易见的。但是,在线场景中提高视觉分辨率是具有挑战性的。由于现有LLM的密集注意力机制和深层设计,训练成本,包括GPU内存和训练时间,随着视觉标记数量增加到四倍(例如,对于一个由600个帧组成的电影,从0.6k张视觉标记增加到6k张视觉标记),训练成本将增加平方倍,这给扩展视觉能力带来了巨大的挑战。特别是对于在线流媒体视频,视频内容具有很高的高度重复性,这意味着可以通过使用稀疏方法处理视觉信号,可能不需要将全部注意力分配给基于transformer的LLMs,而不牺牲性能。
本文提出VideoLLM-MoD是一种有效的方法,可以扩展在线视频LLMs的视觉分辨率和降低计算成本。同时,作者还提出了LayerExpert机制来确定在某些层应该处理哪些视觉标记,利用模型自适应地为传入框架中的关键区域分配计算。作者在Ego4D、EgoExo4D和COIN基准测试上的实验表明,作者的VideoLLM-MoO方法的有效性和通用性。
作者总结的贡献如下:
高效的Transformer模型转换。普通Transformer模型[62]中众所周知的平方复杂度[62]是序列长度扩展的关键瓶颈之一。最近的大型多模态模型(LMMs),使用了固定预算的prefix视觉标记(visual tokens)来表示上下文,这在在线视频场景中极大地提高了其效率。 在线视频帧越密集,这一问题就越突出。以前对大型语言模型(LLMs)的研究已经探索了使用稀疏计算在推理期间保持性能的同时减少计算成本的方法。 然而,这些方法在训练时仍然需要大量的计算成本。 降低训练成本的尝试,如标记修剪(token pruning)和合并(merging)技术不适合在线场景,因为它们需要离线计算来直接降低标记数量。 Mixture-of-Depth [55]研究了为语言标记在模型深度处分配计算的方法,在性能与速度之间保持了平衡。 作者提出的VideoLLM-MoO模型将这种方法扩展到在线视频领域。作者发现,在一个模型的不同深度处降低上下文中的视觉计算不仅可以保持性能,而且还可以通过消除视频中的高冗余度来提高性能。
在线视频理解的大型多模态模型。受到许多大型语言模型(LLMs)[6; 51; 49]的成功,一系列大型多模态模型(LMMs)[1; 31; 39; 75; 11]随后被开发出来,以进一步提高作者对世界的理解。 当前的大小多模态模型(LMMs)在视频理解各种标准基准测试方面(包括时间动作定位[40],以及视频对话和问答[32; 57; 42; 70; 35]等)已能够应对。然而,尽管这些模型在“离线”设置中分析整个视频帧进行预测,但他们并没有针对实时应用(如增强现实眼镜和自动驾驶系统)进行优化。考虑到日益增长的需求,如用于实时场景的视频动作检测[72; 63]和预测[20; 71]等的在线场景基准,其中事件仅在当前时间戳解释,而无需未来数据,变得越来越关键。 VideoLLM-online [8]是使用LLMs在在线视频场景中建立最初尝试。然而,其空间能力有限,因为它仅使用一个CLS标记来表示每个帧,而扩大视觉尺度的计算成本在增加。VideoLLM-MoO提出了一个降低视觉计算以减少视觉分辨率的方法,从而提高空间能力,同时不会产生高计算成本。
提高大型多模态模型视觉分辨率的无服务器扩展。提高LMMs的视觉分辨率是一种有效的方法,以增强视觉能力。 通过与LLaVA-1.5 [15]相比使用5倍的视野标记,LLaVA-NeXT [38]在视觉理解方面取得了改进。然而,在线视频场景中缩放视野标记存在巨大的挑战性,因为随着视野标记的扩展,训练成本呈平方增加,需要处理长视频中的每一帧。 为了在LMMs中处理长上下文视野标记,CogAgent [24] 通过解码层之间的交叉注意来进行低视觉分辨率通道的高分辨率图像特征的整合。 LLaMA-VID [16] 使用上下文注意来则为每个帧表示两个关键标记。 然而,这两种方法都只能在离线视频中应用,因为额外交叉注意机制导致的高延迟在在线场景中是不可接受的。 相比之下,VideoLLM-MoO 接收连续的流式视频-语言输入,并在进行每次前向传递时有效地减少计算成本。 这使得 temporal-aligned 响应变得可行,使其适合实时应用。
作者的方法
在本节中,作者引入了作者的VideoLLM-MoD框架,一种训练在线视频大型语言模型的有效方法,以具有更大的视觉分辨率。
作者如图6所示地描述了整个模型结构,其设计灵感来自LLaVA [39; 15; 38]。该模型包括三个主要组成部分:图像编码器、MLP映射器和语言模型。每个视频帧的嵌入表示为,表示CLS标记和平均池化的空间标记。由图像编码器提取的帧嵌入经过MLP映射器处理得到帧标记。这些标记与语言标记交织在一起,形成了LLM的输入。作者将在LLM的每个线性层中采用LoRA [25]进行有效的微调。同时,某些层还配备了LayerExpert模块,如第3.2节中所述。
遵循VideoLLM-online [8]的方法,除了语言建模(LM)损失外,作者还将使用额外的流式损失,以确保在使用时不需要输出响应时,模型保持沉默。这两个训练目标都采用交叉熵损失方式计算,如下所示:
其中和是条件指示符:是1,如果第个标记是语言响应标记,否则为0;为1,当且仅当(1)第个标记是帧的最后一个标记,且(2)。流式EOS损失将在响应之前应用到帧。 是语言模型头针对第个标记输出的概率,而表示EOS标记的概率。使用流式损失权重平衡这两个目标。### 提高在线视频的视觉分辨率
动机。 在在线场景中,随着视觉规模的提高(即),助手的表现也在提高,如图1所示。但是,在在线场景中提高视觉分辨率具有挑战性,因为在视频长度增加时,视觉标记的数量会呈指数增长,导致计算机复杂度呈二次方。如表7所示,在线视频LLMs必须在训练和推理过程中处理长视频的每一帧,以保持完整的视觉和语言历史上下文的一致性,这都对GPU内存和计算资源提出了严峻的要求。
作者假设视频在时间和空间上有很高的冗余性,因为连续帧往往共享大量内容,尤其是在短时间内抓拍的帧。就像人类不断观察周围环境,但并不是总“聚焦”于每个细节一样,在使用深度模型处理某些层时,作者应跳过一些视觉标记。
通过LayerExpert在某些块中选择视觉标记。作者利用每个块的LayerExpert模块来学习选择/路由的行为,也就是说,学习哪些视觉标记需要比其他标记更多的处理。LayerExpert识别每个帧中每个视觉标记的“重要性分数”(标量权重),然后只处理接下来的运算中的前k个视觉标记。值得注意的是,由于在线流场景中的不同帧中的视觉标记是因果顺序处理的,所以前k个选择是在帧 Level 进行的,也就是说前k个视觉标记是在每个帧中选择的。相比于视觉标记,语言标记总是需要处理的,因为它们不那么冗余,且数量比视觉标记少很多。
具体来说,假设作者有一个长度为N的交错序列与n_{t}个语言标记和n_{v}个视觉标记。对于给定的层l,序列X^{l}是一个由交错序列x^{l}{t{i}},x^{l}{v{i}}组成的集合,其中1≤t_{i}≤n_{t},1≤v_{i}≤n_{v}。在每个帧的个视觉标记中,LayerExpert使用线性投影来确定给定视觉标记的重要性分数。然后,根据视觉保留比例r选择视觉标记进行后续处理,其中是帧视觉标记的(1-r)百分位数。对于给出的视觉标记,块的输出如下:
当 时:
当 时:
其中, 代表第 层中所有语言标记(语言token)和 top- 视觉标记(视觉token)组成的交错标记。 表示后面的自注意力机制和前馈神经网络(FFN)操作。
作者进一步分析了作者方法的成本。除了解码层外,包括LayerExpert、MLP投影器和LoRA在内的其他模块固定在某些输入下,且显著小于语言模型的解码层,因此作者忽略它们的FLOPs计算,只考虑在FLOPs估计中多头自注意力(MHA)和前馈网络(FFN)模块的计算。
假设语言模型有个总隐藏层,其中和分别表示隐藏层维度和FFN的中间大小。输入序列与个视觉标记和个语言标记交叉。作者以比例在解码层的个位置中插入LayerExpert。对于每个注意力头,具有LayerExpert的层的理论FLOPs如下(3):
在默认 Transformer 层中,。因为在在线视频设置中,视觉标记明显多于语言标记,即,解码器的FLOPs与保持比和配备LayerExpert的层数成正比,如下所示(4):
作者进一步在实际的实时视频设置中计算了VideoLLM-MoD和_全计算_基础模型在训练阶段的总FLOPs3。如图3(a)所示,VideoLLM-MoD的实际FLOPs只有 Baseline 的0.6倍,如果每帧的视觉标记尺度更大,这个数值可以进一步减少,表明作者方法的良好扩展性。通过在某些层中跳过冗余视觉标记,VideoLLM-MoD不仅降低了训练计算成本,而且提高了推理效率。如图3(b)所示,减少历史状态的中间KVcache允许作者支持1.7倍更长的上下文,并实现了与 Baseline 比较的推理速度,便于在实际应用中部署。
数据集。作者在在线和离线设置下验证了作者提出的VideoLLM-MoD的有效性,包括面向自视角的视频数据集Ego4D [21]和EgoExo4D [22],以及教学视频数据集COIN [59]。
图4:VideoLLM-MoD在训练和推理阶段的效率分析。
作者将作者的 VideoLLM-MoD 模型与各种 Baseline 在 Ego4D 叙述基准上进行了比较,如图表1所示。以下详细分析了 Baseline 。
**VideoLLm-Online.**为了进行公平的比较,作者使用与 VideoLLM-MoD 中的视觉编码器和语言模型相同的视觉编码器和语言模型重新实现了 VideoLLm-Online [8] Baseline 。通过仅使用 CLS 标记嵌入每个帧,VideoLLm-Online [8] 在这个基准上取得稍微较差的表现,这是因为叙述相对简单,并不依赖细粒度的视觉。此外,作者发现确实可以通过提高视觉分辨率来获得性能,如图1、5中所示,在需要更详细视觉信息的实验中也有所体现(见表4、5)。
Full-computation. 使用标准的变形器架构,所有视觉标记在每个层都被密集处理,这显著增加了训练成本。
EarlyExit. 在研究语言唯一的 LLM [19,13] 后,作者将这种方法适应到在线视频环境中。所有视觉标记在浅层中处理,然后在更深层中跳过(相当于 VideoLLM-MoD 在第1层和某些早期层中采用r=1,而在剩余层中采用r=0)。经验上,作者发现第2层设置的早期退出策略在性能和计算成本之间提供了最佳权衡,如图5和前人研究的[64,9]中所突出显示。这种方法虽然计算量最低,但性能最差,因为它错过了大部分视觉信息。
LayerSkip. 类似于以前LLM研究[14]中的方法,作者将其适应到在线场景中,跳过所有其他层的视觉标记(视为 VideoLLM-MoD 设置了跳过层,即在第1层采用r=1,其余层r=0)。与 VideoLLM-MoD 相比,性能会显著下降,因为关键的视觉标记在某些层中错过了处理。
作者的 VideoLLM-MoD 在在线视频情景中展示了最佳权衡,当作者处理过多的帧时,可显著降低计算成本,而与 Full-computation Baseline 相比,性能不会受到影响。此外,作者还发现在实际应用中,作者的方法表现优于 Full-computation Baseline ,如图5所示。似乎与使用纯模型相比,fine-tuning LLM with MoD 表现更好是出乎意料的。前者采用的动态层跳过方法在前向过程中减少了视觉计算,这可能削弱空间理解能力。然而,作者主张这增加了 MoD 门在每层上的学习难度,因为它迫使每个 MoD 门专注于当前因果语境中的重要视觉标记。这可能降低过拟合风险,并学习到更鲁棒模型。
表2展示了在 Transformer 层中插入LayerExpert的不同设置的消融研究结果。_所有_ 和 交错 指的是在每一个/每一个其他层插入LayerExpert。交错策略展示出了在计算成本和性能之间的更好的权衡。
后缀_-Deep_表示只在前深度层(即Layer 2之后的层)执行视觉标记跳过。以前的研究[64, 9]表明,与深度层(即前两个层)的视觉标记分配相比,在浅层(即前两个层)的视觉标记分配更为平衡,因此这些浅层更容易受到视觉标记跳过的影响。作者的结果以及有无后缀_-Deep_也表明了这一现象。
选择关键视觉标记。 如图3所示,为了验证分配计算到关键视觉标记的必要性并有效性,作者创建了两种选择视觉标记的方式,一种是随机选择,另一种是按均匀选择。在_TimeDiff_上的较差性能表明,在线能力受到缺少关键视觉信息的影响大。这表明确定哪些视觉标记值得处理对于维持性能并减少冗余是至关重要的。作者还根据视觉保留比例进行了保留视觉标记的数目进行消融。即使视觉标记和计算浮点数较少,并行运算能力也相对较低,VideoLLM-MoD实现的结果仍然是令人满意的,进一步证实了LayerExpert的出色关键视觉选择能力和视频中的高度冗余。
作者在本论文中展示了作者提出的VideoLLM-MoD在传统离线视频场景下的泛化性,包括识别、总结和预测任务。如表4(a)所示,作者的方法在Ego4D LTA基准上与端到端 Baseline 相比具有最佳性能,结果仅略低于Palm [26]和AnGPT [71],它们使用了预训练的EgoVLP [36]特点,然后跟随一系列的性能增强方法。
通过扩大视觉分辨率,VideoLLM-MoD实现了最先进的性能,显著超过了仅使用每个帧的CLS Token 的视频LLM-online [8]。特别是在需要复杂空间上下文理解的任务中这一点尤为明显,如图4(b)所示,这就是EgoExo4D Fine-grained Keystep识别基准。此外,作者的方法在大多数COIN基准[59]上的表现最好,如图4所示,甚至在作者的全计算基准上表现更好。通过适当地关注处理关键视觉 Token ,VideoLLM-MoD不仅减少了计算,而且在空间-时间场景理解方面表现出色,特别是在复杂上下文中。
作者观察到,与全计算 Baseline 相比,VideoLLM-MoD表现出更强的鲁棒性。通过选择关键的视觉标记,学习难度增加,因为这种方法强制使每个层的MoD门关注于当前因果语境内的更重要视觉标记。这种策略可能会降低过拟合的风险,从而导致更强的模型。
在本文中,作者提出了VideoLLM-MoD,它是通过LayerExpert的有效选择关键视频标记,将视频中的视觉分辨率扩展到在线视频中的视频大语言模型。作者的模型在与类似甚至更好的性能下,可以明显降低计算成本和内存使用,与全计算 Baseline 相比。在Ego4D,EgoExo4D和COIN基准测试中的实验,证实了其有效性和普遍性,使VideoLLM-MoD成为在线视频应用的坚固解决方案。
局限性。 因为作者主要的重点是开发一个用于以自我为中心或教学场景的在线助手,所以作者并未在广阔的外心视频数据集上进行大量的实验。
[1].VideoLLM-MoD: Efficient Video-Language Streaming with Mixture-of-Depths Vision Computation.