大模型学习笔记

记录大模型学习过程中的问题。

Pre-LayerNorm和Post-LayerNorm的区别?

结构定义与公式对比:

  1. 后置归一化(Post-LN)

    • 结构:子层(自注意力/前馈网络)输出后,先与残差连接相加,再进行LayerNorm。

    • 公式
      $$
      x_{out}=LayerNorm(x+Sublayer(x))
      $$

    • 特点:原始Transformer论文采用的设计(如BERT)。

  2. 前置归一化(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)时,问题就来了。
  • 可能引入无关的偏差:绝对位置编码可能会让模型过度关注绝对位置本身