CV君 2025-08-05 22:55 江苏
在大幅降低计算和内存开销的同时,不仅保持了、甚至超越了原始LVLM的性能
本文介绍一篇由南开大学、Shanghai Innovation Institute、天津大学及vivo AI团队联合发表的最新研究,论文标题为《A Glimpse to Compress: Dynamic Visual Token Pruning for Large Vision-Language Models》。
这项工作聚焦于大型视觉-语言模型(LVLM)在处理高分辨率图像时面临的效率瓶颈。研究者们提出了一个名为 GlimpsePrune 的动态视觉Token剪枝框架。其核心思想是模拟人类认知中的“惊鸿一瞥”,在模型生成答案前,快速地、数据驱动地识别并“剪掉”图像中与问题无关的视觉信息。实验结果惊人:该方法在平均剪枝掉 92.6% 的视觉Token后,依然能完全保持基线模型的性能。其增强版 GlimpsePrune+ 甚至在维持极高剪枝率的同时,将基线性能提升至 110%。
论文标题:A Glimpse to Compress: Dynamic Visual Token Pruning for Large Vision-Language Models
作者:Quan-Sheng Zeng, Yunheng Li, Qilong Wang, Peng-Tao Jiang, Zuxuan Wu, Ming-Ming Cheng, Qibin Hou
机构:南开大学;上海创智学院;天津大学;vivo
研究背景与意义
随着LVLM能力的不断增强,它们被要求处理越来越高分辨率的图像,以理解更丰富的视觉细节。然而,高分辨率图像会被视觉编码器转换为海量的视觉Token。例如,一张1344x1344像素的图像在通过ViT后可能会产生超过4000个视觉Token。这些冗长的Token序列极大地增加了后续语言模型处理的计算负担和内存开销,尤其是在自注意力机制中,其计算复杂度与Token数量的平方成正比。
为了解决这个问题,现有的压缩方法通常采用固定的压缩比(例如,保留50%的Token)。但这种“一刀切”的策略忽略了一个基本事实:不同图像和问题的复杂度千差万别。对于简单场景,固定比率可能保留了过多冗余信息;而对于复杂场景,则可能错误地丢弃了包含关键信息的Token,从而损害模型性能。
(上图直观对比了固定比率方法与本文动态方法的差异,后者能更智能地保留关键视觉Token)
此外,一些方法依赖于“简短提示”(brief prompt)来引导注意力,但这也带来了新的问题。如下图和表格所示,没有提示时,模型的注意力可能无法第一时间聚焦到关键区域;而这些方法的性能也对提示词本身高度敏感。
因此,开发一种能够根据输入动态调整压缩率、精确识别并保留关键信息的高效剪枝方法,对于构建更强大、更高效的LVLM至关重要。
GlimpsePrune 的核心方法
GlimpsePrune的设计灵感源于人类的认知机制:我们通常只需“一瞥”就能快速抓住场景的要点。该框架通过在正式生成答案前增加一个高效的“预计算”阶段(Prefilling Stage)来实现动态剪枝。
(GlimpsePrune框架概览)
上图展示了GlimpsePrune的整体流程:
(a) 预计算与剪枝:在预计算阶段,所有视觉Token和文本Token会先通过语言模型的前K层。
(b) 视觉Token重要性预测器 (VIP) :在第K层之后,一个轻量级的VIP模块会介入。它利用一个可学习的“Glimpse Token”与所有视觉Token进行交互,快速计算出每个视觉Token对于当前任务的重要性得分。
(c) 动态剪枝:根据VIP的评分,设定一个阈值,动态地剪枝掉得分低的、不相关的视觉Token。为了保留空间信息,这里还引入了带有2D旋转位置编码(RoPE)的条件自注意力机制。
(d) 高效解码:在后续的解码(答案生成)阶段,语言模型只需处理经过剪枝的、数量大幅减少的视觉Token,从而极大地节省了内存和I/O带宽,提升了推理速度。
GlimpsePrune的训练过程分为两个阶段:
(GlimpsePrune的训练流程)
训练Glimpse Token和VIP:第一阶段的目标是让VIP学会如何准确评估Token的重要性。通过最小化剪枝后模型输出与原始模型输出之间的KL散度,来指导Glimpse Token和VIP的学习。
强化学习微调 (GlimpsePrune+) :为了进一步提升性能,研究者们设计了GlimpsePrune+。由于剪枝降低了计算成本,使得通过强化学习(RL)对整个大模型进行微调成为可能。在第二阶段,将剪枝率和模型性能作为奖励信号,通过RL算法微调语言模型,使其更好地适应剪枝后的精简Token,从而实现性能反超。
实验结果与分析
研究团队基于Qwen2.5-VL-7B和LLaVA-1.5-7B等主流LVLM对GlimpsePrune进行了广泛测试。
1. 自由格式视觉问答(Free-form VQA)
在DocVQA、TextVQA等多个自由格式VQA基准测试中,GlimpsePrune在平均剪枝超过90%视觉Token的情况下,性能与基线模型持平或略有超出。而GlimpsePrune+则实现了显著的性能提升。
(在Qwen2.5-VL-7B上的自由格式VQA性能,GlimpsePrune+性能全面超越基线)
(在LLaVA-1.5-7B上的结果也验证了GlimpsePrune的普适性)
2. 短格式视觉问答(Short-form VQA)
在VQA-v2、GQA等短格式VQA任务上,GlimpsePrune同样表现稳健,在大幅剪枝的同时保持了与基线相当的性能。
3. 效率分析
如下表所示,所提出方法显著提升了推理效率。在A100 GPU上使用Qwen2.5-VL-7B模型对100个DocVQA样本进行测试(启用KV Cache和FlashAttention2),GlimpsePrune将计算密集型预填充阶段成本降至基线的69.1%。更重要的是,在内存密集的解码阶段,初始KV Cache长度从5,073.9个token压缩至202.5个token,使整个生成过程的峰值内存使用量降低至72.8%。
4. 消融实验
消融研究验证了框架中各个组件的有效性,例如Glimpse Token、VIP模块以及训练策略等。同时,实验也探讨了在不同层进行剪枝对性能和效率的权衡。
(消融实验验证了各组件的必要性)
(在不同层剪枝的性能与效率权衡)
论文贡献与价值
本研究为解决LVLM的效率瓶颈问题提供了一个全新的、高效的解决方案。其主要贡献包括:
提出GlimpsePrune框架:一个新的、受人类认知启发的动态视觉Token剪枝框架,能够根据输入自适应地剪枝,兼顾了效率和性能。
性能与效率双提升:在大幅降低计算和内存开销的同时,不仅保持了、甚至通过GlimpsePrune+超越了原始LVLM的性能,为构建更强、更高效的LVLM开辟了新路径。
开源社区贡献:项目代码已经开源,将有力地推动社区在LVLM效率优化方向上的进一步研究和应用。
总而言之,GlimpsePrune通过“惊鸿一瞥”的智慧,优雅地解决了LVLM在处理高分辨率视觉信息时的“消化不良”问题,是模型压缩与加速领域的一次重要探索。
了解最新 AI 进展,欢迎关注公众号
投稿寻求报道请发邮件:amos@52cv.net