完整题目
在Transformer模型中,归一化技术对训练稳定性和性能至关重要。请列举并比较常用的归一化方法(如LayerNorm、RMSNorm等),说明它们在模型中的位置、数学形式及各自优缺点。
本文目录
核心判断
LayerNorm对特征减均值、除标准差,再乘可学习gamma加beta;RMSNorm不减均值,只按均方根缩放,计算更简单。残差位置必须写对:Pre-Norm是x加Sublayer乘Norm作用于x的结果,也就是x加Sublayer(Norm(x));Post-Norm是先做残差相加,再归一化,即Norm(x加Sublayer(x))。原始Transformer使用Post-Norm,许多深层模型改用Pre-Norm以改善初始化时的梯度。
机制与边界
LayerNorm同时提供重中心化和重缩放不变性,RMSNorm保留重缩放而省去均值计算。两者都常沿每个token的hidden维工作,不依赖batch统计。Post-Norm把归一化放在残差和之后,原始Transformer需要学习率warmup等技巧稳定训练。相关理论和实验表明,Pre-Norm在初始化时梯度更平稳,深层网络更容易训练。但这不是所有深度和任务下的绝对胜负,最终性能还受初始化、残差缩放、优化器与架构影响。
归一化还有无偏方差、epsilon位置、参数dtype、是否有bias等实现差异。RMSNorm不是简单“少一个减法”,归约和内核融合决定真实速度。Pre-Norm的恒等残差有利于梯度传播,却可能让深层表示更新幅度变小;Post-Norm在一些充分调优的设置下仍有竞争力。不能给某种结构写固定容量上限,也不能用未经来源支持的金融模型数字证明优劣。gamma如何初始化同样依赖具体架构,常见值不能提升为普遍定律。
面试里画计算图比背标签更可靠。沿主残差流看,若输入先进入Norm再交给attention或FFN,同时原输入直接旁路相加,就是Pre-Norm;若attention或FFN输出先与输入相加,和再进入Norm,就是Post-Norm。还要说明一个Transformer block通常有attention和FFN两个子层,每个子层都要按同一约定判断,最终输出前可能再有一个额外Norm。
工程验证
实现核对可用最小张量和hook打印每个Norm输入,确认公式与代码一致。训练比较时固定参数量、数据、token、学习率搜索预算和随机seed,对Pre-LN、Post-LN、LayerNorm、RMSNorm记录发散率、梯度分层统计、warmup敏感性、吞吐和最终质量。深度增加时分层画梯度,不用单次run下结论。若修改gamma或残差缩放,应单独消融并记录,因为它们会和Norm位置产生交互。
若模型同时使用sandwich norm、QK norm或子层内部归一化,仅靠一个Pre或Post标签不足以描述全部结构。应逐处列出Norm所在张量和归一化轴,再分析它对注意力logit、残差流和数值范围的作用。模型名称不能替代计算图。