一句话定义
注意力熵(Attention Entropy)衡量的是:在某一层、某个位置上,注意力权重分布得有多集中。熵低,说明模型把注意力压在少数几个 token 上;熵高,说明注意力摊平在了整段上下文上。
它是怎么来的
注意力机制先给当前 token(query)和上下文里每个 token(key)打分,再用 softmax 归一化成一组加起来等于 1 的权重。把这组权重当成一个概率分布,套上香农熵(Shannon entropy),就得到注意力熵:
H = -Σ pᵢ log pᵢ
全部押在一个 token 上时,H≈0;均匀分给 n 个 token 时,H 取最大值 log n。
打个比方:团队开会派活。领导只把活交给一个人,这叫聚光灯,熵极低;如果平摊给所有人,谁都不知道该听谁的,熵很高。
和容易混淆的概念的区别
| 概念 | 描述的对象 | 低值意味着 | 高值意味着 |
|---|---|---|---|
| 注意力熵 | 某个位置对上下文的注意力分布形状 | 少数 token 主导 | 注意力弥散 |
| 注意力权重 | 单个 query–key 对 | — | 这个 token 被看重 |
| 稀疏度 | 超过阈值的注意力条数 | 只选中少数几条 | 选中很多条 |
| 输出熵 / 预测熵 | 输出词表上的概率分布 | 模型很确定 | 模型拿不准 |
也就是说,注意力权重讲的是“某个值有多大”,注意力熵讲的是“整盘散不散”,预测熵关心的是模型对答案有多自信。三者常一起看,但不是一回事。
对做 AI 的人意味着什么
- 诊断长上下文失效:高层大量注意力头熵偏高,往往说明模型把有限的注意力摊到了整段上下文,关键信息被稀释。
- 理解“头”的分工:有些头本就该专注(低熵),有些头负责全局汇总(高熵)。做剪枝时,长期极低熵、功能又重复的头,常被当作合并或裁剪的候选。
- 调提示词、排查异常:模型答非所问时,看一眼高层的注意力熵是“塌了”还是“炸了”,能帮你判断它有没有盯住关键 token。
- 推理性能:熵越高,需要读取的 KV 缓存越多,显存带宽压力越大;低熵则是稀疏注意力可以省下计算的机会。
别把它当万能指标
注意力熵随层、头、样本波动很大,跨模型比绝对值意义有限,通常只看同一模型内部的相对变化。而且熵低不等于正确——模型也可能死死盯住某个偏置 token。它只回答“模型在看哪里”,不回答“看得对不对”。具体实现与接口以官方文档为准。
