Transformer 中为什么用LayerNorm而不用BatchNorm?

无论是 BERT、GPT 还是 ViT,几乎都不用 Batch Normalization,而是清一色地用 Layer Normalization。

这不是巧合,而是 Transformer 架构中一个非常深层的设计选择。 所有相关源码示例、流程图、面试八股、模型配置与知识库构建技巧,我也将持续更新在Github:AIHub,欢迎关注收藏!

一、BN 和 LN 到底在做什么?

BN 和 LN 的出发点其实一样------稳定训练,防止梯度爆炸或消失

  • Batch Normalization(BN)
    它在一个 batch 内计算均值和方差,对同一层的所有样本的每个通道做标准化。
    换句话说,BN 关心的是这一批数据的统计特征
  • Layer Normalization(LN)
    LN 则是在同一个样本内部计算均值和方差,对该样本的所有特征维度一起归一化。
    换句话说,LN 关心的是单个样本内部的特征分布

BN 是跨样本归一化,LN 是单样本归一化。

二、BN 的问题

BN 在 CNN 时代非常成功,但为什么在 Transformer 中就变得水土不服?

根本原因有三点。

1. Transformer 是序列模型,batch 维度不稳定

BN 的计算依赖 batch 的统计量(均值和方差)。

而 Transformer 的输入往往是变长序列,不同样本长度不同,padding 数量不同,导致 batch 内统计特性不一致,BN 的均值和方差变得不可靠。

2. 自注意力机制破坏了空间独立性

在卷积中,BN 对通道归一化是合理的,因为每个通道特征相对独立。

但在 Transformer 的 Self-Attention 中,每个 token 都与其他 token 有强关联

此时再按 batch 统计均值、方差,就会让不同样本的分布互相干扰,破坏注意力机制的学习稳定性。

3. 推理阶段 BN 的统计特性难以复用

BN 在推理时会使用训练阶段的滑动均值来做归一化。

但 Transformer 的输入分布在推理阶段往往与训练时不同(比如变长文本、不同语言或领域),这会导致分布漂移(distribution shift),从而引入偏差。

LN 不依赖 batch,因此天然更稳定。

三、LN 的优势

相较 BN,LN 有三个天然优势,让它几乎成了 Transformer 的标配:

  1. 与 batch size 无关:LN 在样本内部归一化,batch 只要有一个样本都能跑。
  2. 适合变长序列:每个 token 独立归一化,不受 padding、mask 等影响。
  3. 训练和推理一致:LN 在训练和推理阶段用的统计量完全一致,不存在分布漂移问题。

这些特性让 LN 特别适合大模型------尤其是在分布式、异步、变长输入的环境下。

更深层次的,BN 的归一化粒度是 batch 维度 ,而 Transformer 想捕捉的是 token 之间的微妙关系

当每个样本长度不同、token 相关性强时,BN 的跨样本归一化反而会削弱模型的表达能力。

LN 的归一化发生在特征维度内部,保证了每个 token 的特征分布稳定,不会被其他样本的统计特征干扰。

这其实是一种从样本层面向特征层面的思维转变。

所以,总结一下:

Transformer 用 LN 而不用 BN,本质上是因为:

  1. BN 依赖 batch 统计量,不适合变长、分布差异大的序列数据;
  2. Attention 机制导致样本间特征强耦合,BN 会破坏这种结构;
  3. LN 与 batch size 无关,推理阶段也稳定一致。

关于深度学习和AI大模型相关的知识和前沿技术更新,请关注公众号 aicoting

📚推荐阅读

一览Transformer整体架构

Transformer------Attention怎么实现集中注意力

Transformer------FeedForward模块在干什么?

从0开始实现Transformer

什么是KV-Cache

Transformer注意力机制------MHA&MQA&GQA

FlashAttention怎么提升速度的?

面试官:BatchNorm、LayerNorm、GroupNorm、InstanceNorm 有什么本质区别?

面试官:Transformer如何优化到线性级?

FlashAttention2:更快的注意力机制,更好的并行效率

FlashAttention3 全解析:速度、精度、显存的再平衡

相关推荐
数科云9 小时前
AI提示词(Prompt)入门:什么是Prompt?为什么要写好Prompt?
人工智能·aigc·ai写作·ai工具集·最新ai资讯
Devlive 开源社区9 小时前
技术日报|Claude Code超级能力库superpowers登顶日增1538星,自主AI循环ralph爆火登榜第二
人工智能
软件供应链安全指南10 小时前
灵脉 IAST 5.4 升级:双轮驱动 AI 漏洞治理与业务逻辑漏洞精准检测
人工智能·安全
lanmengyiyu10 小时前
单塔和双塔的区别和共同点
人工智能·双塔模型·网络结构·单塔模型
微光闪现10 小时前
AI识别宠物焦虑、紧张和晕车行为,是否已经具备实际可行性?
大数据·人工智能·宠物
技术小黑屋_10 小时前
用好Few-shot Prompting,AI 准确率提升100%
人工智能
中草药z10 小时前
【嵌入模型】概念、应用与两大 AI 开源社区(Hugging Face / 魔塔)
人工智能·算法·机器学习·数据集·向量·嵌入模型
CCPC不拿奖不改名11 小时前
SQL基础(SQL小白教程):MySQL语句+环境一键搭建+面试习题
数据库·sql·计算机网络·mysql·oracle·面试·职场和发展
知乎的哥廷根数学学派11 小时前
基于数据驱动的自适应正交小波基优化算法(Python)
开发语言·网络·人工智能·pytorch·python·深度学习·算法
DisonTangor11 小时前
GLM-Image:面向密集知识与高保真图像生成的自回归模型
人工智能·ai作画·数据挖掘·回归·aigc