大模型学习笔记
记录大模型学习过程中的问题。
Pre-LayerNorm和Post-LayerNorm的区别?
结构定义与公式对比:
-
后置归一化(Post-LN)
-
结构:子层(自注意力/前馈网络)输出后,先与残差连接相加,再进行LayerNorm。
-
公式:
$$
x_{out}=LayerNorm(x+Sublayer(x))
$$ -
特点:原始Transformer论文采用的设计(如BERT)。
-
-
前置归一化(Pre-LN)
-
结构:输入先通过LayerNorm,再进入子层计算,结果与原始输入残差连接。
-
公式:
$$
x_{out}=x+Sublayer(LayerNorm(x))
$$
-
- **特点**:GPT系列、LLaMA、T5等现代大模型的主流选择。
核心差异与影响
| 维度 | Pre-LN(前置) | Post-LN(后置) |
|---|---|---|
| 梯度稳定性 | 深层梯度衰减平缓($O(1/\sqrt{L})$),不易消失/爆炸 | 低层梯度指数衰减($O((1/2)^{(N-k)/2}$),易消失 |
| 训练收敛 | 无需学习率预热(Warm-up),收敛更快 | 需精细调整学习率和Warm-up,否则易震荡或不收敛 |
| 模型深度适应性 | 支持深层网络(>12层),可扩展至百层 | 仅适用于浅层网络(≤6层),深层训练易崩溃 |
| 表达能力 | 高层可能表征趋同(Representation Collapse) | 浅层模型泛化能力更强,输出多样性更高 |
| 实际应用案例 | GPT-3/4、LLaMA、PaLM、Qwen 等主流大模型 | 原始Transformer、BERT(浅层微调场景) |
为什么相对位置编码比绝对位置编码好?
相对位置编码更好地契合了语言的本质,并解决了绝对位置编码在长文本上的根本性缺陷。
语言的本质:关系驱动,而非位置驱动
“美味的苹果” 和 “苹果公司很成功”
绝对位置视角:第一个“苹果”是第2个词,第二个“苹果”是第1个词。这个“第几个”的信息本身,对于理解“苹果”的含义几乎毫无帮助。
绝对位置编码的核心缺陷
- 长度外推(Length Extrapolation)能力差:模型在训练时见过的序列长度是有限的(例如512个token)。当你试图处理一个更长的句子(例如1000个token)时,问题就来了。
- 可能引入无关的偏差:绝对位置编码可能会让模型过度关注绝对位置本身