多头注意力机制中的各个注意力头并非同等重要。研究发现大模型中约 30%–40% 的注意力头存在冗余。剪枝时通常采用以下步骤:
BlockPruner 等方法将每个 Transformer 层划分为 MHA(多头注意力)和 MLP(多层感知器)两个独立块,分别评估其重要性后进行迭代剪枝。实验表明,在某些层中移除整个注意力子模块对困惑度的影响小于预期。
剪枝后必须确保残差连接的维度对齐。当某一层的注意力头被部分移除时,后续层的输入维度也需相应调整,这要求在剪枝过程中维护全局的维度一致性。
前几层和后几层对剪枝更为敏感,通常中间层可承受更高的剪枝率。实践建议保留至少 50% 的注意力头以维持模型的基本注意力能力。