PreNorm

分类: 深度学习基础

PreNorm

定义

在 Transformer block 中,将 LayerNorm 放在自注意力/FFN 之前(而非之后)的归一化策略,配合残差连接形成 x+SubLayer(LN(x))x + \text{SubLayer}(\text{LN}(x)) 的结构

数学形式

y=x+Attention(LayerNorm(x))y = x + \text{Attention}(\text{LayerNorm}(x)) z=y+FFN(LayerNorm(y))z = y + \text{FFN}(\text{LayerNorm}(y))

核心要点

相比 PostNorm(原始 Transformer),PreNorm 训练更稳定,不需要 learning rate warmup

但 PreNorm 以固定权重 1 累加所有层输出,导致隐状态随深度不可控增长

每层对最终输出的贡献被稀释,深层网络中尤为严重

是当前大多数 LLM(GPT、LLaMA 等)采用的默认方案

代表工作

ViT: 采用 PreNorm 的视觉 Transformer

Xiong et al. (2020): “On Layer Normalization in the Transformer Architecture” 系统分析 PreNorm vs PostNorm

相关概念

DeepNorm: 解决深层 Transformer 训练不稳定的替代方案

SubLN: 另一种解决深层训练问题的归一化策略

Attention Residuals: 用注意力机制替代固定残差聚合