SVD-Attention:高效分析 Transformers 中的注意力模块
SVD-Attention: Efficiently Analyzing Attention Blocks in Transformers
精选理由
揭示不同任务中注意力头的低秩冗余位置,助力精准剪枝并降低推理成本。
AI 摘要
预训练 Transformers 的推理计算量有很大一部分消耗在自注意力中,然而,按其结构设计,每个头的查询-键交互在本质上是低秩的。我们提出了一个诊断性问题:在不同层和不同架构中,哪些头确实会在真实数据上使用完整的秩预算,哪些不会?我们提出 SVD-Attention,这是一种事后分析方法,用于分解每个头的交互矩阵 $M_h$,并在一个小型校准集上,根据每个奇异模态的谱幅度及其跨 token 的激活方差对其进行评分。该评分保留头部能够放大且真实数据确实会激活的模态,并丢弃其余模态;所得分解对于保留的模态是精确的,且无需微调。在七个预训练模型和五类任务上,该诊断发现了一种与任务相关的模式:对于情感分类、图像分类和生成任务,冗余位于早期到中间层;而对于密集预测和抽取式问答任务,冗余位于后期层。该方法还具有预测性:截断其标记出的层,性能损失最多为 1.75 F1;而在同一模型中截断数量相同的其他层,性能损失最高可达 50 F1。SVD-Attention 是一种分析工具,而非压缩方法:单独应用其分析结果可将推理 FLOPs 降低 0.8%–1.5%;与权重剪枝结合使用时,可将推理 FLOPs 降低 8%–11%,同时任务质量变化为 0%–4%。