1. 引言
在深度学习中,归一化 (Normalization) 是一种常用的技术,它可以加速模型的训练并提高模型的性能。常见的归一化方法包括 Batch Normalization (BatchNorm)、Layer Normalization (LayerNorm) 等。Llama 模型采用了一种称为 RMS Norm 的归一化方法,它是一种对 LayerNorm 的简化和改进。
本文将深入 Llama 源码,分析 RMS Norm 的实现逻辑,并探讨其相比于其他归一化方法的优势。
2. 归一化方法回顾
2.1 Batch Normalization (BatchNorm)
BatchNorm 对每个 mini-batch 的数据进行归一化,使其均值为 0,方差为 1。它引入了两个可学习的参数:缩放因子 (scale) 和偏移因子 (shift)。
公式:
y = (x - mean(x)) / sqrt(variance(x) + epsilon) * scale + shift
优点:
- 加速训练。
- 具有一定的正则化效果。