Attention Residuals 阅读补充
围绕 Attention Residuals 逐步整理相关知识、数学推导与系统分析,先从 RMSNorm 的数学原理及其与 LayerNorm 的差异开始。
ESSAY-002 Hongliang Cao 12 MIN
这篇文章用于沉淀和分析阅读苏神(苏剑林)《Attention Residuals 回忆录》 时涉及的相关知识。内容会随阅读逐步增加,每一章集中处理一个需要补充推导或实现背景的部分。
RMSNorm 的数学原理
RMSNorm 用输入向量在特征维度上的二阶原点矩衡量整体幅度,再按这个幅度缩放整个向量。
设一个 token 的隐藏状态为
x=(x1,x2,…,xd)∈Rd.
先定义带数值稳定项的均方根
rε(x)=d1i=1∑dxi2+ε,
再对所有维度使用同一个标量完成归一化,并加入可学习的逐维缩放参数 γ:
RMSNorm(x)=γ⊙rε(x)x.
这里的均值发生在同一个 token 的 d 个特征维度上。它是对当前向量的确定性计算,无需估计数据集或 batch 的统计量。RMSNorm 原论文 将其作为 LayerNorm 的简化形式,保留重缩放不变性并省去均值中心化。
从均方根到欧氏范数
暂时令 ε=0,并假设 x=0。均方根可以直接写成欧氏范数:
r0(x)=d1i=1∑dxi2=d∥x∥2.
记不含可学习参数的归一化结果为 x~,则
x~=r0(x)x=d∥x∥2x.
x/∥x∥2 只保留输入方向,前面的 d 将长度设为固定值。直接计算可得
∥x~∥22=d1∑j=1dxj2∑i=1dxi2=d,
因此
∥x~∥2=d.
在 ε=0 的理想条件下,RMSNorm 的归一化部分沿径向把非零输入映射到半径为 d 的超球面。这个映射保留方向并移除长度。
目标长度取 d,等价于让归一化结果的平均平方值为 1:
d1i=1∑dx~i2=1.
因此 RMSNorm 控制的是整个隐藏状态的平均平方幅度。单个坐标仍然可以远大于 1,各个维度也不会分别获得单位方差。
二阶原点矩与方差
RMSNorm 和 LayerNorm 的差异可以从二阶原点矩与方差的关系看出。定义当前向量在特征维度上的均值和方差:
μ=d1i=1∑dxi,σ2=d1i=1∑d(xi−μ)2.
二阶原点矩为
m2=d1i=1∑dxi2.
展开方差后得到
m2=σ2+μ2.
RMSNorm 使用 m2,所以均值偏移 μ2 也会进入归一化尺度。LayerNorm 先减去均值,再使用中心二阶矩 σ2。忽略可学习参数时,两者分别为
xRMS=σ2+μ2+εx,
xLN=σ2+εx−μ1.
当 μ=0、两者采用相同的 ε 和缩放参数,并且 LayerNorm 的偏置为零时,两种归一化给出相同结果。当 μ 只接近零时,它们使用的尺度接近,RMSNorm 仍会保留沿 1 方向的分量。
这个差异也有直接的几何表示。令
P=I−d111T,
则 Px=x−μ1。LayerNorm 先把输入投影到与 1 正交的均值为零子空间,再在该子空间内归一化;RMSNorm 直接在完整的 Rd 中按长度归一化。LayerNorm 原论文 给出的定义同时包含中心化、缩放以及归一化后的可学习增益和偏置。
| 性质 | RMSNorm | LayerNorm |
|---|
| 归一化统计量 | 二阶原点矩 m2 | 中心二阶矩 σ2 |
| 是否减去特征均值 | 否 | 是 |
| 正比例尺度变化 | 在 ε=0 时消除 | 在 ε=0 时消除 |
| 整体平移 x+c1 | 会改变结果 | 归一化结果不变 |
| 几何作用 | 在完整空间中按半径归一化 | 先进入均值为零子空间,再按半径归一化 |
尺度变化与平移
尺度不敏感性是 RMSNorm 在 AttnRes 推导中承担的关键性质。令 a>0,则
rε(ax)=a2m2+ε=am2+a2ε.
当 ε=0 时,正比例缩放会被精确消除:
RMSNorm(ax)=RMSNorm(x),a>0.
实际实现采用 ε>0,此时等式只近似成立。当 a2m2≫ε 时,稳定项的影响很小。对于 a<0,在 ε=0 时有
RMSNorm(ax)=−RMSNorm(x),
因为输入方向发生了符号翻转。
RMSNorm 对整体平移没有这项不变性。令 x′=x+c1,其二阶原点矩变为
d1i=1∑d(xi+c)2=m2+2cμ+c2.
LayerNorm 会在中心化时消除新增的 c1,所以整体平移不会改变其归一化结果。RMSNorm 保留这部分均值信息,并让它参与尺度计算。
梯度沿切向传播
为了观察归一化怎样改变梯度,先去掉 γ,记
r=d1xTx+ε,y=rx.
它的 Jacobian 为
∂x∂y=r1I−dr31xxT.
如果上游梯度为 g=∂L/∂y,输入梯度就是
∂x∂L=r1(g−ydyTg).
第一项按输入 RMS 统一调整梯度尺度,第二项减去与输入径向方向相关的分量。当 ε=0 时,Jacobian 在径向上的作用为
∂x∂yx=0.
这与正比例尺度不变性一致:沿 x 方向只改变长度,归一化结果保持不变。对任意满足 xTv=0 的切向量 v,Jacobian 的作用为 v/r。因此在理想条件下,归一化核心保留切向变化并消除径向变化。
加入 ε 后,径向特征值变为 ε/r3,径向梯度会被显著减小,但不会严格归零。加入 γ 后,上述分析仍适用于归一化核心;反向传播时,上游梯度会先逐维乘以 γ。
ε 与 γ 改变了什么
ε 在输入接近零向量时保持分母为正。它也会让输出长度略低于 d:
∥x~∥22=∥x∥22/d+ε∥x∥22=∥x∥22+dεd∥x∥22<d.
只有在 ∥x∥22≫dε 时,输出长度才接近 d。
γ 为每个特征维度恢复可学习的尺度。归一化核心在理想条件下把输入映射到超球面,逐维乘以非均匀的 γ 后,这个超球面的像成为轴对齐的椭球面。模型由此可以调整各个特征维度的有效范围。
这些性质共同提供整体尺度控制:后续层看到的输入 RMS 保持在相对稳定的范围,输入的全局放大对归一化结果影响较小,径向梯度也受到抑制。它们不保证隐藏状态均值为零、不保证每个维度具有单位方差,也不保证 Pre-Norm 架构中的残差流本身具有有界范数。
回到 AttnRes
原文在层间注意部分使用了 RMSNorm 的正比例尺度不变性。假设层函数可以写成
f(z)=F(RMSNorm(z)),
那么在 ε=0、c>0 的条件下有
f(cz)=f(z).
对于一组非负权重 bs,令 B=∑sbs>0,则
s∑bsys=Bs∑Bbsys.
进入 In Norm 后,外部的正标量 B 会被消除。因此,把权重归一化到 ∑sas=1 不会改变后续层接收到的归一化方向;实际实现中的 ε 使该结论成为高信号幅度下的近似。
AttnRes 还使用
at+1,s∝exp(wt+1TRMSNorm(ys))
计算层间注意力。这里 RMSNorm 在计算相似度前控制 Key 的整体尺度,使注意力分数主要取决于归一化后的方向和可学习 Query wt+1。这两个位置分别对应 RMSNorm 的尺度不敏感性和方向保留性质,也是后续理解 AttnRes 数学形式与系统实现的基础。