语言模型与架构模块三 · Transformer 详细配置公式约 13 分钟
详细配置:RMSNorm、Pre-Norm、GELU/Swish
现代大模型在原始 Transformer 上改了哪些「小」地方
学完这节你能:
- 区分 LayerNorm 与 RMSNorm
- 理解 Pre-Norm 与 Post-Norm 的区别
- 知道 GELU/Swish 与 ReLU 的差别
原始 Transformer 到现代 LLM,架构没大变,但几处配置几乎成了标配:RMSNorm、Pre-Norm、GELU/SwiGLU。这些是高频考点。
RMSNorm 省去了减均值 μ,只用均方根归一化,更省算力。
- RMSNorm vs LayerNorm:RMSNorm 去掉了「减均值」这一步,只做均方根缩放,计算更快,效果相当。
- Pre-Norm vs Post-Norm:Pre-Norm 把归一化放在子层「之前」(残差更直接),训练更稳,是大模型主流;Post-Norm 放在「之后」。
- GELU/Swish vs ReLU:ReLU 在负区恒为 0;GELU/Swish 在负区有平滑的非零输出,更利于梯度流动。
▪ RMSNorm 手算
x=[3, 4],γ=1
RMS = √((3²+4²)/2) = √(25/2) = √12.5 ≈ 3.54
RMSNorm(x) = x / RMS ≈ [0.85, 1.13]
LayerNorm 会先减均值 3.5 再除标准差——RMSNorm 省掉了「减均值」这一步
自测关于归一化与激活配置,正确的是:
自测变式(换数字再算):x=[1, 2, 2],RMS(x)=√(mean(x²)) 约为:
// 带走一句话
现代配置:RMSNorm(免减均值)、Pre-Norm(更稳,主流)、GELU/Swish(负区平滑非零)。
独立练习
做到这些,才算完成本节
- 对同一个向量分别手算 LayerNorm 与 RMSNorm,指出均值中心化造成的差异。
- 输入全零、常数和大幅值向量,检查 epsilon 对数值稳定性的影响。
- 不看正文重写公式,并逐项说明符号、形状和单位。
- 改变一个条件,判断公式结果应增大、减小还是不变。
学习记录
记录本节阅读进度
建议先独立回答自测。读完记录不等于已经掌握。