LayerNorm(Ba等人,2016年)计算单个训练样本内所有激活值的均值和方差,将其归一化为零均值和单位方差,然后应用学习到的缩放和偏移参数。这确保了无论输入的幅度如何,每一层都接收到具有一致分布的输入。它是Transformer中的标准。
RMSNorm(Zhang和Sennrich,2019年)通过移除均值中心化来简化LayerNorm,仅通过均方根进行归一化:x / sqrt(mean(x²))。这在计算上更便宜(无需计算均值进行中心化)且性能相当。LLaMA、Mistral和大多数现代LLM使用RMSNorm而非LayerNorm。
原始Transformer将归一化放在注意力/前馈块之后(后置归一化)。现代架构几乎普遍使用前置归一化:在将输入传入块之前进行归一化,然后添加残差。前置归一化在训练期间更稳定(尤其在大规模时),且允许在没有学习率预热的情况下进行训练。这个看似微小的架构选择对训练稳定性有显著影响。