Disentangling Representation Evolution in Transformers through Directional Decomposition
Shwai He, Haichao Zhang, Shen Yan
EMNLP 2026
cs.CL, cs.LG
2026-09-15
把层更新拆成沿原方向缩放和垂直转向后,垂直分量一改困惑度就炸。预训练时压掉注意力平行分量,2.7B模型下游平均准确率从60.2%升到61.7%。
Transformer每一层都在残差上加一个学出来的更新。几何上看,这个更新干两件事:顺着当前隐状态拉长或压短,以及把它扳到新方向。残差连接本身就能免费做缩放,可注意力和MLP仍把容量花在平行分量上。这些平行更新到底是能力的一部分,还是参数浪费?
马里兰大学与字节跳动把这个问题做成可干预的几何测量,而不是再画一张注意力热力图。
对残差空间,把子层输出相对进入该层的隐状态 z 拆成平行分量 Δ∥=αz 和垂直分量 Δ⊥。α 是沿 z 的投影系数,加回去以后隐状态变成 (1+α)z + Δ⊥。
对注意力值空间,参考方向换成当前 token 自己的 value 向量 v。朴素地抹掉整个聚合里的平行分量,会把「自己对自己的消息」一起干掉,模型会垮。所以主实验用 exclude-self:保留对角上的自消息,只缩放来自其他位置的平行部分。同一套操作也可以写成改注意力对角。
干预只改前向,不改权重。平行缩放 s∥ 与垂直缩放 s⊥ 分开扫。压缩实验再把量化、剪枝造成的误差拆成平行误差和垂直误差。预训练实验从零训 GPT 风格模型,训练和评测都把注意力平行分量关掉,避免训测不一致。
方向不对称非常硬。三个干预位点(值空间 exclude-self、残差注意力、残差MLP)上,垂直缩放一离开 1,困惑度就陡升;垂直分量完全去掉时,值空间和残差注意力可到上万点,残差MLP可到百万量级。平行缩放在很宽的区间里接近原模型。
任务分数把「看起来差不多」拆开。Qwen3-1.7B 七项平均,基线61.61,exclude-self 平行删除60.10,几乎还在;把整个 value 聚合的平行分量都删掉掉到53.41;按对角抹自注意力再重归一化只剩39.17。Qwen3-30B-A3B 同样:基线73.42,exclude-self 73.31,全量平行删除63.42。长上下文上,Llama-3.2-3B 的 RULER 在4k处,s∥=0.5 的 exclude-self 是86.69,对基线86.91只差0.22;s∥=0 时 exclude-self 仍有75.64,全量删除掉到60.99。
压缩侧,下游更好的方法垂直误差更低:4-bit AWQ 最低,然后是无结构 Wanda、4:8、2:4。平行误差曲线缠在一起,排不出名次。垂直误差占压缩总误差的相关超过0.97。
从零预训练时,关掉平行注意力会把 OpenWebText 验证损失从早期就压下去,296M到528M都如此。放大后的下游六项平均:1.4B 基线58.5,值空间平行删除59.2(+0.7);2.7B 基线60.2,值空间平行删除61.7(+1.5)。残差侧平行删除也有正收益,但更小。
这给压缩和结构改动一个可操作的几何:不要再用各向同性的 L2 当唯一失真。垂直旋转才是行为损失的主因,平行缩放多半是增益旋钮。预训练里主动禁止平行注意力,等于逼容量去做跨 token 的转向。增益是几个点,不是换代,但方向清楚,也给门控注意力、QK 归一化这类把路由和幅度拆开的结构提供几何理由。
做干预时有一条工程红线:值空间里必须保住自消息,否则「删平行」测到的是删身份,不是删冗余。
实验限于解码器语言模型、语言任务,以及列出的压缩和从零训练设置。编码器、多模态、MoE 路由内部是否同一套几何,没有证据。干预主要当分析工具,训练时硬删平行还需要在更大模型和真实预训练配方上验证。下游+1.5 个点的设置是六个常识基准的未加权平均,没有长程推理或代码。垂直误差与压缩质量相关极高,但是否因果仍靠干预间接支持。