
一、导言:为什么要关心模型在想什么?大语言模型(LLM)本质上是一个极其复杂的神经网络——动辄数十亿甚至数千亿个参数,内部运作高度非线性。当我们向模型提问并得到回答时,我们只知道"输入了什么"和"输出了什么",中间那个"黑盒"里发生了什么,我们一无所知。这种"不可解释性"在安全敏感场景(如医疗诊断、金融决策、内容审核)中构成了严重风险。因此,可解释性研究(Interpretability)的目标就是打开这个黑盒,让我们能理解模型的内部状态与最终输出之间的因果关系。与此同时,理解模型的输出结构(即预测头)也是使用和微调模型的基础——同一套参数,插上不同的"头",就能干完全不同的事情。本文将从这两个角度展开。二、注意力可视化:最直观但最不靠谱的入口2.1 注意力机制的本质Transformer 模型的核心组件之一是多头自注意力机制(Multi-Head Self-Attention)。每一层中,每个 token 会计算它与其他所有 token 之间的"注意力分数",这个分数反映了模型在处理当前词时,对上下文中哪些词给予了更多"关注"。原始注意力分数的计算方式为:A = softmax(QK^T / sqrt(d))其中 Q(Query)和 K(Key)来自当前层的输入投影,d 是隐藏维度。结果矩阵 A 的每一个元素表示一个 token 对另一个 token 的关注权重。2.2 三种可视化方法方法做法解决的问题原始注意力热图将 A 按层、按头绘制成彩色热图(工具如 BertViz)最直接,但只看单层容易产生误导注意力展开(Attention Rollout)将各层注意力矩阵连乘,并加入残差连接修正近似信息从输入到输出的总流通路径梯度加权注意力计算注意力权重与输出梯度的乘积区分"关注"与"真正影响输出"——高注意力不一定高影响2.3 核心警示:注意力不等于解释Jain 和 Wallace(2019)的研究指出:注意力权重与基于梯度的特征重要性往往不相关;甚至可以通过对抗方式构造出完全不同的注意力分布,而模型输出完全相同。因此,注意力可视化只能用作"假设生成器",帮助研究者产生灵感,但不能作为因果解释的可靠证据。若要追究因果关系,应转向梯度方法、探针任务或机械可解释性。三、机械可解释性:用稀疏自编码器拆解"神经元一团浆糊"3.1 问题:神经元是多义的在 Transformer 的 MLP 层和残差流中,单个神经元通常是多语义(Polysemantic)的——同一个神经元可能同时对应"颜色蓝色"、"学术引用"和冠词"the"等毫不相干的概念。这导致直接观察神经元激活毫无意义。3.2 稀疏自编码器(SAE)的原理SAE 通过将模型激活值投影到过完备(Overcomplete)的高维空间(m 远大于 d),并施加稀疏性约束,迫使每个输入只激活极少数的特征维度:h = W_dec * ReLU(W_enc * x + b_enc) + b_dec其中 W_enc 的形状为 m x d,m 远大于 d。训练损失:L = ||x