注意力权重矩阵对于每个头和层是(seq_len × seq_len)。可视化方法:选择一个层和头,将矩阵显示为热力图,其中第i行显示第i个token关注哪些token。亮色单元表示高注意力。对于多头注意力,你可以可视化各个头(每个头专注于不同的模式)或对所有头取平均(整体注意力分布)。
注意力图显示一个头在计算其输出时考虑了哪些token,但它们并不直接显示模型“理解”了什么或为什么做出了某个决定。高注意力不等于“重要”——有些头关注标点符号或位置模式而没有语义含义。注意力图是描述性的(模型看了什么)而非解释性的(为什么做出决定)。它们是有用的调试工具,而不是完整的解释。
BertViz为Transformer模型提供交互式注意力可视化。Ecco和Captum为PyTorch模型提供基于注意力的可解释性。对于通过API访问的LLM,一些提供者返回注意力权重或对数概率,使部分可视化成为可能。在图像生成中,交叉注意力图显示哪些图像区域对应哪些提示词——有助于理解模型为什么将物体放在特定位置。