一句话定义
2019 至 2022 年间,LLM 架构收敛出一套「现代配方」:归一化放到子层之前(Pre-Norm)、用更简洁的 RMSNorm 替代 LayerNorm、用门控线性单元 SwiGLU 充当前馈激活——三者共同改善深层网络的稳定性与训练效率。
为什么重要
这些「小改动」解释了当代模型技术报告里反复出现的名词。它们不改变注意力机制本身,却决定了「能不能稳定训到千亿层深、百亿参数」;理解演化逻辑(每个改动解决什么痛点)比记忆名词更重要,这也是读懂任意新模型架构章节的通用框架。
前置知识
- kp-010(Transformer 总览)
核心概念
- Post-Norm vs Pre-Norm:原始 Transformer 在子层后归一化(含残差),深层难训;Pre-Norm 把归一化移到子层输入侧,梯度路径更平滑。
- LayerNorm → RMSNorm:LayerNorm 减均值除方差再缩放平移;RMSNorm 只按均方根缩放、去掉均值中心化与平移项,计算更省且效果相当。
- ReLU/GELU → SwiGLU:前馈层改为双分支门控结构(一个分支算门控,一个分支算内容,逐元素相乘),参数配比微调后同算力下质量更优。
- 4d 与 8/3d 之争:SwiGLU 引入额外矩阵,为保持参数量常将隐藏维度调至约 2/3 倍。
原理与机制
Post-Norm 的残差路径被归一化「打断」,深层网络中梯度随深度指数衰减,需要学习率预热等手段勉强维持;Pre-Norm 让「恒等直通」贯穿所有层,梯度流动更稳,代价是最终性能略受「表示被持续平滑」影响——但大规模训练中稳定性收益远超质量损失。RMSNorm 的动机是实证上 LayerNorm 的均值中心化贡献很小,去掉后省约一次归约。SwiGLU 的门控让 FFN 具备「条件计算」色彩:门控分支决定信息通过多少,表达力强于单一激活。
公式或模型
三种归一化对比(x 为输入向量):
RMSNorm: y = γ · x / sqrt( (1/d) Σ x_i² )
SwiGLU: FFN(x) = ( Swish(x·W₁) ⊙ (x·W₃) ) · W₂
图示
Post-Norm: x ─▶ 子层 ─▶ (+残差) ─▶ Norm ─▶ 下一层 (深层梯度差)
Pre-Norm: x ─▶ Norm ─▶ 子层 ─▶ (+残差) ─────────▶ 下一层 (恒等直通)
直观类比
Post-Norm 像「每道工序后强制质检」,流水线越长堵塞越重;Pre-Norm 像「入口处统一安检、中途直通」,流水线再长也顺畅。RMSNorm 是「简化版质检」:只查音量不校准音色,够用且更快。SwiGLU 则像「带闸门的水管」:一根管出水、一根管控制阀门开度,水流更可控。
实例或案例
LLaMA 系技术报告明确列出配方:Pre-Norm(RMSNorm)+ SwiGLU + RoPE,此后成为开源社区事实标准;GPT-3 时代仍是 Post-Norm + LayerNorm + GELU 的组合,对比可见数年间的配方代际差。原论文(Xiong 等 2020;Zhang & Sennrich 2019;Shazeer 2020)提供了各改动的理论与消融依据。
常见误区
- 「这些细节无关紧要」:没有 Pre-Norm 类设计,百层网络大概率训不动,稳定性是规模化的前提。
- 「RMSNorm 精度必然低于 LayerNorm」:大量消融显示差异可忽略,而计算更省。
- 「SwiGLU 是激活函数」:它是「门控 FFN 结构」,Swish 只是其中的门控激活部分。
与其他知识点的关系
自测题
- Pre-Norm 相对 Post-Norm 的核心优势与代价?答案要点:优势是残差路径直通、深层梯度稳定;代价是最终性能可能略降,但可训性收益占主导。
- RMSNorm 砍掉了 LayerNorm 的哪两步?答案要点:均值中心化(减均值)与平移偏置 β,仅保留均方根缩放。
- 写出 SwiGLU 的计算式并指出「门」在哪。答案要点:Swish(xW₁) ⊙ (xW₃) 再乘 W₂;门控分支为 Swish(xW₁),逐元素控制内容分支通过量。
延伸阅读
- On Layer Normalization in the Transformer Architecture(Xiong 等,2020)
- GLU Variants Improve Transformer(Shazeer,2020)