大模型归一化方法排名Top5:原理与对比

2026-06-22阅读 0热度 0
ai 人工智能

大语言模型训练过程中的一个核心挑战,就是如何让网络稳定地收敛。尤其是面对NLP领域这种序列长度不一的样本,归一化(Normalization)操作就显得格外关键。这和计算机视觉(CV)领域那套方法有很大区别,CV里的归一化(比如BatchNorm)在NLP场景下常常水土不服。

长话短说,在LLM的世界里,归一化方法大致可以分为几大派别:LayerNorm、BatchNorm、RMSNorm和DeepNorm。

当然,我们还可以从归一化在Transformer结构中的位置来区分,也就是大名鼎鼎的PostNorm和PreNorm之争。实践中,PostNorm的身影更为常见,但为什么它成了主流,背后是有一番说道的。

一、归一化方法

1. BatchNorm

BatchNorm的思路,是在一个batch内,对数据的某个特定维度进行归一化。这在图像处理领域是绝对的主力,因为图像数据维度固定,且batch内的样本性质一致。但把它直接搬到NLP,就有些尴尬了。序列数据的长度是不固定的,在batch这个维度上计算均值和方差,意义不大,甚至会引入不必要的噪声。

2. LayerNorm

可以说,LayerNorm是专门为序列数据量身定做的解决方案。它的核心思想,是对整个序列(即某一层的所有激活值)进行归一化。具体来说,它会计算该层所有激活值的均值和方差,然后用它们将数据拉回到一个标准的分布上。

有时候面试会要求手撕公式,所以还是得熟悉一下。核心公式大致如下:

经过归一化后的激活值,就变成了这样:

3. RMSNorm

RMSNorm的出现,是为了解决LayerNorm在训练时的效率问题。你可以把它看作是LayerNorm的一个“轻量版”兄弟。关键区别在于归一化的方式:LayerNorm同时使用了均值和方差,而RMSNorm只用均方根(RMS)来进行缩放

公式上,它就像这样:

归一化后的值如下:

可以看到,LayerNorm包含“缩放”和“平移”两个步骤,而RMSNorm去掉了“平移”部分,只保留了“缩放”。这么做的理论依据在于,有研究指出,LayerNorm能够成功的关键,是缩放操作带来的缩放不变性,而非平移不变性。去掉平移,计算量自然就降下来了,训练速度更快,而最终效果不仅没打折扣,往往还能有所提升。

4. DeepNorm

DeepNorm是微软推出的一种归一化方法,它主要针对Transformer结构中的残差连接进行了修正。我们知道,当模型层数变得非常深(比如1000层)时,参数更新很容易出现“爆炸式”增长。DeepNorm的目标,就是把这个更新幅度限制在一个稳定的常数范围内。

它的实现思路很巧妙:在LayerNorm之前,对残差连接进行“上标度”(up-scale),同时在初始化阶段对模型参数进行“下标度”(down-scale)。这样一来,既兼顾了PreLN在浅层训练时的稳定性,又想达到PostLN在深层模型上的表现。著名的GLM-130B模型中,就采用了DeepNorm。

二、归一化位置

1. PostLN

在最初的Transformer架构中,采用的是PostLN结构——也就是在残差连接之后,再进行LayerNorm操作,原理图如下。在实际的LLM训练过程中,人们发现PostLN在靠近输出层的梯度会非常大,这会导致训练不稳定。为了解决这个问题,通常需要配合学习率的warm up策略来调整。但即便如此,PostLN依然是大模型里的主流选择之一,有些模型甚至会采用PostLN与PreLN结合的方式,比如前面提到的GLM-130B。

2. PreLN

与PostLN相反,PreLN将LayerNorm放在残差连接的过程中。如上图所示,这种结构最大的好处是,每一层的梯度范数都大致相等,极大提升了训练的稳定性。相比PostLN,使用PreLN的深层Transformer训练起来更丝滑,但代价是模型性能会有一点点折损。为了确保训练过程的绝对稳定,很多现代大模型都选择了PreLN作为标准配置。

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策