概述
头剪枝(Head pruning)删除贺献很少的注意力头,在不损害准确率的情况下压缩模型。它们同心协力,帮助我们解释和压缩 Transformers。
深入探讨
变形金刚将他们的推理传播到许多层的许多注意力头上,因此单层的注意力图很少能讲述整个故事。 Abnar 和 Zuidema 在 2020 年引入了注意力机制,通过逐层乘以注意力矩阵(在考虑剩余连接之后)来解决这个问题,以估算每个输入标记最终对给定输出标记的贡献程度。另外,米歇尔及其同事的研究“十六个头真的比一个好吗?”表明许多头是冗余的:可以在推理时修剪很大一部分,而准确性损失可以忽略不计。头部修剪按重要性对头部进行排名,通常使用基于梯度的敏感度分数,然后掩盖最不有用的头部。这两种技术是互补的:推出揭示了网络的哪些部分对于解释很重要,而修剪则作用于冗余以使模型更小、更快。
现实世界的实施
通过关注突出显示有影响力的标记,可视化 Transformer 分类器依赖于句子中的哪些单词
通过修剪冗余注意力头来减少延迟,压缩用于移动部署的 BERT 模型
通过跟踪从预测到敏感输入标记的注意力流来审核模型的偏差
通过删除通过敏感性评分识别的低重要性头部,加速生产翻译系统中的推理
注意力部署和头部修剪的未来
随着模型的发展,有效的推理和可信的解释都变得紧迫。预计头部修剪将与部署管道中的结构化修剪、量化和蒸馏相结合,以实现边缘和成本敏感的服务。可解释性正在超越注意力流、梯度加权方法和探测单个头部功能的机械回路分析。对可解释人工智能的监管压力将继续推动研究,将重要的头脑与它们实际计算的内容联系起来。
付诸实践
为什么这很重要
- 成本与预算. 多年来,架构决策决定着性能和运营成本。
- 更清晰的判决. 技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
- 质量控制. 更好的工程选择可以减少生产中的可靠性事故。
留意
- 优化一项基准测试可以隐藏更广泛的系统弱点。
- 基础设施和维护成本常常被低估。
- 随着系统变得更加复杂,安全性和可观察性差距可能会扩大。
后续步骤
- 在实施之前定义延迟、质量和成本目标。
- 在实际负载和数据条件下进行基准测试。
- 仪器监控错误、漂移和用户影响。
- 在扩展之前准备回滚和事件响应路径。
不断探索
常见问题
仅么是注意力展开与头剪枝?
注意力推出是一种跟踪信息如何流经 Transformer 堆叠注意力层的方法,以解释哪些输入标记影响预测。头部剪枝去除了贡献很小的注意力头,缩小了模型,而不会影响准确性。它们一起帮助我们解释和压缩变形金刚。
注意力推广的目标是什么?
Rollout 将逐层注意力(带有残差)相乘,以近似每个输入标记如何影响输出。
为什么单层的注意力图常常不足以解释?
由于推理分布在堆叠的层和头中,因此一层的映射无法捕获完整的信息流。
注意力推出向每个注意力矩阵添加了什么以解释剩余连接?
添加身份组件对剩余跳过连接进行建模,让令牌保留自己的信息。
多头注意力研究揭示了关于头冗余的哪些内容?
像“十六个头真的比一个更好吗?”之类的研究表明大部分头部在推理时是多余的。
通常如何评估修剪头部的重要性?
通常使用相对于每个头上的掩模变量的损失梯度来对重要性进行评分。