AIGC算法1:Layer normalization

1. Layer Normalization

μ = E ( X ) ← 1 H ∑ i = 1 n x i σ ← Var ⁡ ( x ) = 1 H ∑ i = 1 H ( x i − μ ) 2 + ϵ y = x − E ( x ) Var ⁡ ( X ) + ϵ ⋅ γ + β \begin{gathered}\mu=E(X) \leftarrow \frac{1}{H} \sum_{i=1}^n x_i \\ \sigma \leftarrow \operatorname{Var}(x)=\sqrt{\frac{1}{H} \sum_{i=1}^H\left(x_i-\mu\right)^2+\epsilon} \\ y=\frac{x-E(x)}{\sqrt{\operatorname{Var}(X)+\epsilon}} \cdot \gamma+\beta\end{gathered} μ=E(X)H1i=1nxiσVar(x)=H1i=1H(xiμ)2+ϵ y=Var(X)+ϵ xE(x)γ+β

γ \gamma γ:可训练再缩放参数
β \beta β:可训练偏移

2. RMS Norm

R M S ( x ) = 1 H ∑ i = 1 H x i 2 x = x R M S ( x ) ⋅ γ \begin{array}{r}R M S(x)=\sqrt{\frac{1}{H} \sum_{i=1}^H x_i^2} \\ x=\frac{x}{R M S(x)} \cdot \gamma\end{array} RMS(x)=H1i=1Hxi2 x=RMS(x)xγ

RMS Norm 简化了 Layer Norm ,去除掉计算均值进行平移的部分。
对比LN,RMS Norm的计算速度更快。效果基本相当,甚至略有提升。

3. Deep Norm

Deep Norm方法在执行Layer Norm之前,
up-scale了残差连接 (alpha>1);另外,
在初始化阶段down-scale了模型参数(beta<1)。

4 不同Ln模式

在这里插入图片描述

4.1. Post LN:

  1. 位置:layer norm在残差链接之后
  2. 缺点:Post LN 在深层的梯度范式逐渐增大,导致使用post-LN的深层transformer容易出现训练不稳定的问题
  3. 举例:Transformer原生,ChatGLM6B(Deep),ChatGLM6B(RMS)

4.2. Pre LN:

  1. 位置:layer norm在残差链接中
  2. 优点:相比于Post-LN,Pre LN 在深层的梯度范式近似相等,所以使用Pre-LN的深层transformer训练更稳定,可以缓解训练不稳定问题
  3. 缺点:相比于Post-LN,Pre-LN的模型效果略差
  4. 举例:GPT3, LLaMA(RMS),baichuan(RMS),Bloom(layer),Falcon(layer)

4.3. Sandwich-LN:

Sandwich-LN:

  1. 位置:在pre-LN的基础上,额外插入了一个layer norm
  2. 优点:Cogview用来避免值爆炸的问题
  3. 缺点:训练不稳定,可能会导致训练崩溃。
  • 25
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

量化就是探索生活

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值