在当前的Vision-Language Models(VLMs)中,attention机制被广泛用于衡量视觉token与文本之间的相关性。这种相关性分数通常被直接解释为"语义重要性"的指标,并基于此进行visual token pruning(视觉token剪枝)——即保留高attention权重的视觉token,舍弃低权重的token,以降低计算成本、提升推理效率。
然而,上海大学曾丹团队的最新研究发现,这种看似合理的做法实际上存在严重隐患。attention权重并非如我们想象的那样纯粹反映语义相关性,而是受到多种与内容无关的结构性偏置影响。如果直接使用这些带偏置的attention进行token剪枝,可能会导致模型保留不重要的视觉区域,同时丢失真正关键的信息。
关键发现:attention权重中约30-50%的变化可以由位置偏置等非语义因素解释,这意味着传统基于attention的剪枝方法可能严重偏离真实语义重要性。
通过对大量样本的统计分析,研究团队发现语言到视觉的attention呈现明显的单调上升趋势——即模型更倾向于关注序列靠后的视觉token。在图像场景中,这表现为对图像下方区域系统性地赋予更高attention权重。
这种偏置的产生机制可以追溯到Transformer架构的固有特性:
这种位置偏置带来的直接影响是:当进行token剪枝时,系统性地保留位置靠后(如图像底部)但语义无关的视觉token,同时可能舍弃位置靠前(如图像顶部)的关键信息。
由于输入图像尺寸不一致,padding操作在VLMs中不可避免。研究发现这些语义为空的padding区域经常获得异常高的attention权重,形成所谓的"attention sink"。
其根本原因在于:
这种效应会导致基于attention的剪枝方法错误地保留大量空白区域,严重影响模型性能。实验显示,在某些情况下padding区域的attention权重甚至能达到有效区域的2-3倍。
研究团队提出通过显式建模attention中的位置趋势来进行去偏。具体步骤:
趋势拟合:对于给定的attention矩阵A∈R^(L×L),计算每个位置i的平均attention权重:
code复制μ(i) = mean(A[:,i]) # 对第i列求平均
多项式拟合:用低阶多项式函数f(i)拟合μ(i)的曲线,捕获整体趋势
去偏修正:从原始attention中减去拟合的趋势:
code复制A_corrected = A - f(position_matrix)
这种方法的关键优势在于:
针对padding attention sink问题,研究采用两种互补策略:
显式掩码:在attention计算前,对padding位置施加极大负偏置(如-1e6),确保其权重接近0
后处理抑制:在剪枝阶段,对padding区域的attention权重乘以衰减系数(如0.1)
实验表明,这种组合策略能有效减少padding区域的干扰,同时不影响正常区域的attention分布。
研究团队在以下配置下验证方法的有效性:
性能提升:在相同token保留比例下,去偏方法平均提升准确率2.3-5.7个百分点
偏置验证:去偏后,位置与attention的相关性降低60%以上,padding影响减少80%
效率分析:在保持相同准确率时,可多剪枝15-30%的token,推理速度提升1.2-1.8倍
下表展示了在LLaVA-13B模型上的典型结果:
| 方法 | Token保留率 | VQA准确率 | 计算时间(ms) |
|---|---|---|---|
| 原始 | 100% | 62.1 | 1280 |
| Top-K | 50% | 58.3 | 640 |
| Top-K+去偏 | 50% | 60.8 | 650 |
| DiffPrune | 40% | 56.2 | 520 |
| DiffPrune+去偏 | 40% | 59.1 | 530 |
趋势拟合的稳定性:
padding检测策略:
去偏后attention权重出现负值:
不同层attention偏置模式差异:
与其他优化技术的兼容性:
这项研究揭示了attention机制在复杂场景下的局限性,为未来模型设计提供了重要方向:
更稳健的重要性评估:
偏置感知的模型架构:
训练策略优化:
在实际项目中应用这些发现时,建议先在小规模数据上验证attention偏置的存在性及其影响程度。对于资源受限的部署场景,可以优先在最后1-2个attention层实施去偏操作,获得80%的收益而仅增加少量计算开销。