【Transformer 与注意力机制】25|Layer Normalization:为什么 Transformer 用 LN,不用 BN
内容提要
Layer Normalization(LN)在Transformer中至关重要,确保每层输出的数值尺度稳定。与Batch Normalization(BN)不同,LN独立于batch大小和序列长度,适合变长序列和自回归推理。LN通过计算均值和方差进行标准化,保留可学习的参数,避免信息丢失。现代Transformer多采用Pre-LN结构,以提升训练稳定性。RMSNorm是LN的变体,简化了计算,适用于特定场景。LN的设计对深层网络的优化至关重要。
关键要点
-
Layer Normalization(LN)在Transformer中确保每层输出的数值尺度稳定,避免训练过程中的敏感性问题。
-
LN独立于batch大小和序列长度,适合变长序列和自回归推理,避免了Batch Normalization(BN)在这些场景下的局限性。
-
LN通过计算均值和方差进行标准化,并保留可学习的参数,避免信息丢失。
-
现代Transformer多采用Pre-LN结构,以提升训练稳定性,Pre-LN通常更容易训练更深的模型。
-
RMSNorm是LN的变体,简化了计算,适用于特定场景,尤其在decoder-only LLM中表现良好。
-
LN的设计对深层网络的优化至关重要,能够控制attention分数和FFN激活的数值范围,保持可控性。
延伸解读
Layer Normalization的优势
Layer Normalization(LN)在Transformer中的应用,确保了每层输出的数值尺度稳定,避免了训练过程中的敏感性问题。与Batch Normalization(BN)相比,LN不依赖于batch大小和序列长度,特别适合处理变长序列和自回归推理,这使得LN成为Transformer的默认选择。
Pre-LN与Post-LN的比较
现代Transformer多采用Pre-LN结构,这种结构将Layer Normalization提前到每个子层的输入,能够提供更稳定的输入分布,进而改善训练的稳定性。相比之下,Post-LN结构在深层网络中可能导致训练依赖于更复杂的初始化和学习率策略。
RMSNorm的应用场景
RMSNorm作为Layer Normalization的变体,简化了计算过程,特别适用于decoder-only的语言模型。它在控制激活尺度方面表现良好,且计算开销更小,适合在资源受限的环境中使用。尽管如此,标准的Layer Normalization在许多其他场景中仍然是不可或缺的。
延伸问答
Layer Normalization(LN)在Transformer中的作用是什么?
LN确保每层输出的数值尺度稳定,避免训练过程中的敏感性问题。
为什么Transformer选择使用Layer Normalization而不是Batch Normalization?
因为LN独立于batch大小和序列长度,适合变长序列和自回归推理,而BN在这些场景下存在局限性。
什么是Pre-LN结构,它有什么优势?
Pre-LN结构将LN放在每个子层输入之前,提升了训练稳定性,通常更容易训练更深的模型。
RMSNorm与Layer Normalization有什么区别?
RMSNorm去掉了中心化步骤,只保留按均方根缩放,计算更简化,适用于特定场景。
Layer Normalization如何影响Transformer中的attention机制?
LN控制Q/K的尺度,确保attention分数的统计特性更可控,避免数值不稳定。
在使用Layer Normalization时需要注意哪些常见误区?
常见误区包括认为LN会损失表达力,以及误解LN和BN的适用场景。