PyramidDrop:利用视觉冗余加速大型视觉-语言模型

PyramidDrop通过分层减少LVLM中的视觉冗余,在加速模型训练和推理的同时,保持性能。

原文标题:CVPR 2025 | PyramidDrop让推理训练飞起来

原文作者:数据派THU

冷月清谈:

本文介绍了一种名为PyramidDrop的新方法,旨在通过减少大型视觉-语言模型(LVLMs)中的视觉冗余来加速训练和推理过程。该方法基于对LVLMs中视觉标记冗余性的实证研究,发现模型的浅层需要所有视觉标记,而深层中视觉标记的冗余性逐渐增加。PyramidDrop将LVLM划分为多个阶段,并在每个阶段末尾以预定义的比例丢弃部分图像标记。该策略在保留浅层所有图像标记以避免信息丢失的同时,随着层的加深逐渐减少标记数量,从而最大化训练和推理效率。实验结果表明,PyramidDrop在较低的压缩比率下实现了sota结果,同时保持了稳健的性能,有效减少计算量并保留关键视觉信息。

怜星夜思:

1、PyramidDrop的核心思想是利用LVLM不同层级的视觉冗余,那么这种冗余是如何产生的?除了层级深度,还有哪些因素可能影响视觉冗余度?
2、PyramidDrop在推理过程中丢弃图像标记,会不会导致模型对一些小物体或细节的识别能力下降?有没有什么方法可以缓解这个问题?
3、PyramidDrop主要针对视觉信息进行压缩,那么在视觉-语言模型中,语言信息的冗余是否也值得关注?有没有类似的方法可以用于压缩语言信息?

原文内容

来源:学姐带你玩AI

本文共1000字,建议阅读5分钟

本文提出了一种名为PyramidDrop的新方法。


论文题目:

PyramidDrop: Accelerating Your Large Vision-Language Models via Pyramid Visual Redundancy Reduction

论文地址:

https://arxiv.org/pdf/2410.17247

代码地址:

https://github.com/Cooperx521/PyramidDrop


创新点


  • 通过实证研究发现,在LVLMs的浅层中所有视觉标记都是必要的,而深层中视觉标记的冗余性逐渐增加。这表明在不同深度的网络层中,视觉信息的重要性和冗余性是不同的。

  • 提出了PyramidDrop,一种新的图像标记减少策略。该策略将LVLM划分为几个阶段,在每个阶段末尾部分图像标记,以预定义的比例丢弃。

  • 之前在所有LVLM层中使用固定压缩比率的方法不同,PyramidDrop利用层级冗余性来压缩图像标记,并最终保留重要的视觉集中度。


方法


本文提出了一种名为PyramidDrop的新方法,旨在通过减少视觉冗余来加速大型视觉-语言模型(LVLMs)的训练和推理过程,同时几乎不影响模型性能。该方法基于对LVLMs中视觉标记冗余性的实证研究,发现模型的浅层需要所有视觉标记,而深层中视觉标记的冗余性逐渐增加。基于这一发现,PyramidDrop将LVLM划分为多个阶段,在每个阶段末尾部分图像标记,以预定义的比例进行丢弃,从而在保留浅层所有图像标记以避免信息丢失的同时,随着层的加深逐渐减少标记数量以最大化训练和推理效率。


视觉冗余性随网络层级的变化



本图展示了视觉冗余性在不同层级的变化。左侧的图显示了在不同层级中保留不同比例的图像标记对LLaVA-1.5模型在TextVQA任务上的性能影响。可以观察到,模型对浅层的标记删除非常敏感,而深层的图像标记逐渐变得不那么关键。右侧的图展示了浅层和深层中注意力图的可视化,显示了模型在浅层关注大多数图像标记以全局理解图像,而在深层则倾向于关注与指令相关的少数标记。


PyramidDrop方法概览



本图概述了PyramidDrop方法。该图描绘了将LLM的前向传播分为多个阶段,并在每个阶段结束时按预定义的比例丢弃部分图像标记的过程。基于轻量级注意力计算的丢弃操作,时间开销可忽略不计,并且根据此标准,LLM准确地选择与指令相关的图像标记。由于这种有效的冗余减少策略,平均序列长度迅速减少。


PyramidDrop策略下图像标记保留的可视化



本图展示了使用PyramidDrop的LLM在不同阶段保留的图像标记的可视化。图中显示了当用户询问图像中的小物体时,LLM能够基于指令准确识别包含相关信息的区域并提供正确答案。这说明PyramidDrop有效地利用了LLM理解图像的特性。在推理过程中应用的标记删除并没有导致有价值的信息丢失;相反,PyramidDrop逐渐选择图像中的核心块,专注于最重要的区域。


实验结果



本表格比较了PyramidDrop与其他高效推理策略在不同图像标记数量下的性能。通过保留平均192、128和64个图像标记,PyramidDrop在较低的压缩比率下实现了sota结果,展示了其在较低压缩比率下提供最佳性能的能力。此外,即使在压缩比率增加时,PyramidDrop仍保持了稳健的性能,突出了其强大的弹性。Conical Visual Concentration的设计在不牺牲性能的情况下最大化了效率。PyramidDrop作为一种仅用于推理的方法,在这里进行了评估。总的来说,展示了PyramidDrop与ToMe、FastV和SparseVLM等其他高效推理策略的对比。通过在不同数量的图像标记下进行比较,PyramidDrop在多个基准测试中展现出了优越的性能,同时实现了更高的FLOPs减少。这表明PyramidDrop在减少计算量的同时,能够有效地保留关键的视觉信息,从而在多模态任务中实现更好的性能。


编辑:于腾凯
校对:林亦霖



关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU

当然值得关注!语言信息的冗余同样会影响模型的效率。事实上,已经有很多工作在研究如何压缩语言模型,比如剪枝、量化、知识蒸馏等等。对于视觉-语言模型,也可以借鉴这些方法来压缩语言信息。此外,还可以考虑利用注意力机制,只保留与图像相关的关键的语言标记。总的来说,视觉和语言信息的压缩是相互关联的,需要综合考虑。

谢邀,人在实验室刚下飞机。我觉得这个冗余可以类比成我们写论文,初稿恨不得把所有相关的研究都堆上去,生怕漏掉什么。但随着论文的修改,我们会不断删除那些不重要的信息,最终保留最核心的论点。神经网络也是一样,浅层网络就像初稿,深层网络就像定稿。那么,除了层级深度之外,我认为模型的大小(参数量)也会影响冗余度。参数量越大,可能冗余信息就越多。

我觉得语言信息的压缩更复杂一些。视觉信息比较直观,可以直接丢弃一些像素点。但语言信息涉及到语义的理解,直接丢弃一些词可能会改变句子的意思。因此,在压缩语言信息时,需要更加谨慎。一个可能的思路是,利用语言模型的预测能力,只保留那些难以预测的词,而丢弃那些可以根据上下文推断出来的词。类似于完形填空,但目标不是为了提高准确率,而是为了减少冗余。

我觉得这个问题很关键!毕竟很多时候,图像中的细节信息才是解决问题的关键。一个思路是,在PyramidDrop的基础上,增加一个“召回”机制。也就是说,在丢弃一些标记后,如果模型发现预测结果的置信度比较低,可以尝试重新召回一些被丢弃的标记,重新进行推理。当然,这个“召回”机制需要 carefully 设计,否则可能会影响效率。

这个问题很有意思。我认为视觉冗余的产生,一方面确实是由于网络层级加深,模型逐渐提取出更抽象、更关键的特征,因此浅层的细节信息变得不那么重要。但另一方面,数据的分布和任务的特性也会有影响。比如,如果数据集包含大量相似的图像,或者任务只需要关注图像的特定区域,那么冗余度可能会更高。此外,模型结构本身也可能有影响,例如注意力机制可能导致某些特征被过度关注,从而增加冗余。

从我的理解,冗余的产生跟神经网络的特性有关。浅层网络需要捕捉图像的各种细节信息,为后续理解打基础,所以每个视觉标记都可能有用。但深层网络已经学到了高阶的抽象特征,可以根据上下文推断出一些不重要的细节,这时冗余就出现了。至于其他因素,我觉得训练方法可能会有影响,比如正则化或者数据增强,都可能改变模型对不同视觉标记的依赖程度。

丢弃标记肯定会损失信息,这是trade-off。我觉得可以尝试在网络结构上做改进。比如,可以引入一些专门用于捕捉小物体或细节信息的模块,例如 Feature Pyramid Network (FPN) 或者 Deformable Convolutional Networks (DCN)。这些模块可以帮助模型更好地关注重要的细节信息,从而减少因丢弃标记而造成的信息损失。

作者在文章中提到,PyramidDrop是可以准确识别包含相关信息的区域的。但理论上来说,丢弃标记肯定有风险丢失细节信息。缓解这个问题,可以考虑在丢弃策略上做文章。比如,可以根据图像的语义信息,对不同区域的标记采用不同的丢弃比例。或者,可以引入一些先验知识,比如目标检测的结果,来指导标记的丢弃。另外,在训练阶段,可以专门针对小物体或细节信息进行数据增强,提高模型对这些信息的鲁棒性。

说实话,我更关注如何让视觉信息和语言信息更好地融合。与其想着怎么压缩它们,不如想想怎么让它们互相补充,互相印证。比如,可以利用视觉信息来辅助理解语言,反之亦然。这样一来,即使某些信息被压缩了,也可以通过其他模态的信息来弥补。这可能比单纯的压缩更有意义。