998 字
5 分钟
LLM 架构收敛

近年的开源 LLM 在归一化、激活函数和位置编码等方面逐渐趋同。本文根据 Stanford CS336 课程讲座,整理常见选择及其原因。

来源: Stanford CS336,Tatsu 讲座

可以把这几年的关注点概括为:沿用 Llama 2 式架构、提高训练稳定性,再到降低长上下文成本。


一、架构层:已收敛的 7 件事#

1. Pre-Norm(Layer Norm 挪出残差流)#

原版 Transformer 把 LN 放在残差里,几乎所有现代模型都挪到外面。

原因: 保持残差路径直接,有助于稳定梯度传播。

2. RMS Norm 替代 LayerNorm#

RMS Norm 省去了 LayerNorm 的减均值和 bias 操作。在所述测试中,FLOPs 减少 0.17%,运行耗时减少 25%,主要收益来自减少数据搬运。

3. 所有 bias 项全删#

与简化归一化类似,去掉 bias 可以减少内存搬运。

4. 激活函数用 SwiGLU 或 GeGLU#

gated linear unit 几乎被所有现代模型采用:

  • Llama / Qwen / Mistral → SwiGLU
  • Google 系(Gemma / T5) → GeGLU
  • 两者效果通常接近,可根据实现选择

5. 位置编码用 RoPE#

2024 年之后基本统一。原理:把每对维度按位置旋转一个角度,让 inner product 只依赖相对位置。

6. Transformer Block 串联(非并联)#

GPT-J / Palm 试过并联,现在基本被放弃。串联的实现优化得太好了,并联省的那点系统开销不值得损失表达力。

7. 调整归一化位置#

一些模型会在 Attention 前后增加归一化层,或使用 double norm,以改善训练稳定性。


二、超参数:已收敛的 5 个数#

1. FFN 维度 / Hidden 维度#

类型比值说明
非 GLU 模型4×原始 Transformer
GLU 模型8/3 ≈ 2.67×GLU 多一组矩阵,保持总参数量
Llama 系3.5×实际取值偏大
T5 1.0(较大取值)64×T5 1.1 后来调回常见范围

2. Head 数 × Head 维度 ≈ Hidden 维度#

几乎所有模型都遵守,T5 是为数不多的例外。

3. 模型纵横比(Hidden / 层数)≈ 100#

  • 太深 → pipeline parallel 难做
  • 太宽 → 表达力受限
  • 100 是系统约束 + 表达力的平衡点

4. Vocab Size#

  • 单语模型:~30K(早期 GPT-2)
  • 多语/通用模型:100K–200K(GPT-4 / Llama 3 / Gemma 都在这个范围)
  • 现代基本都是后者

5. Weight Decay#

Weight Decay 仍被广泛使用。它会影响优化过程,帮助模型收敛到更好的解,作用不局限于防止过拟合。

⚠️ 不要因为「单 epoch 不会过拟合」就把它关掉。


三、提高训练稳定性的三个技巧#

1. Z-loss#

输出 softmax 的归一化项可能变得过大。加一个 (log Z)² 的正则项,让 Z 始终接近 1。

  • DCLM / Olmo 都用

2. QK Norm#

Attention 的 Q 和 K 在矩阵乘之前各加一个 LN,控制 softmax 输入的尺度。

  • 先在多模态模型中采用,后来扩展到更多大模型

3. Logit Soft Cap(仅 Google 系)#

用 tanh 平滑限制 Attention logit 的范围。

  • Gemma 2/3/4 都在用
  • 会损失一点点性能,慎用

四、Attention 两个新趋势#

1. GQA(Grouped Query Attention)几乎统一#

问题: 原版 multi-head 推理时 KV cache 会让算术强度崩到 1/h。

方案: 共享 K 和 V,但保留多个 Q。表达力几乎不损失,推理成本砍掉 80%。

GQA 已广泛用于需要降低 KV Cache 开销的模型。

2. 局部 + 全局 Attention 交替#

处理长上下文的新范式:

  • 每 4 层有 1 层 full attention,其他 3 层是 sliding window(只看附近的 token)
  • Cohere Command A 起头 → Llama 4 / Gemma 4 / Olmo 3 全在用
  • 比纯 SSM 更稳,比纯 full attention 便宜得多
  • Qwen 3.5 做了变体:把 sliding window 那 3 层换成 SSM

总结:2026 标准模板#

训练自己的模型时,可以从以下配置起步,再按任务和硬件调整:

维度标准选择
NormRMS Norm, Pre-Norm, 无 bias
激活SwiGLU 或 GeGLU
位置编码RoPE
Block串联
FFN/Hidden8/3 或 3.5
Vocab100K+
AttentionGQA + 局部/全局交替
稳定Z-loss + QK Norm
LLM 架构收敛
https://blog.lpkt.cn/posts/concepts/llm-architecture-convergence/
作者
lollipopkit
发布于
2026-05-06
许可协议
CC BY-NC-SA 4.0