Transformer如何解决梯度爆炸和消失问题?

面试题简述

训练大模型经常会遇到梯度爆炸和消失,你知道有哪些改善方法吗?softmax会不会导致梯度爆炸或消失?transformer的设计里有哪些方法用于解决这个问题?

面试官想听的

1、L2 clipping、梯度缩放、初始化模块;

2、softmax为什么会导致梯度爆炸;

3、了解 DeepNet init、RMSNorm 等提升稳定性的方法。

面试回答举例

梯度爆炸一般用梯度剪裁解决,梯度消失可以通过残差连接 + 合理初始化 + LayerNorm 减轻。

softmax 本质上确实会带来梯度集中到一个token上,从而导致梯度消失,尤其是 logits 非常大时。

详细内容可跳转该链接查看详情:http://xhslink.com/o/7UZDFwez5tJ

由浅入深分析

1、梯度爆炸的来源

(1)残差过大

(2)softmax logits 打得太狠

(3)残差未缩放

解决办法:

(1)grad clipping

(2)初始化调优

(3)attention scaling

2、梯度消失的来源

(1)sigmoid、softmax 激活压缩

(2)深度网络梯度逐层减弱

解决办法:

(1)residual connection

(2)LayerNorm/RMSNorm

(3)更合理的初始化

3、Transformer的处理方式

(1)残差(最关键)

(2)LayerNorm 稳定激活

(3)Attention缩放

(4)正交初始化、DeepNet init

面试加分点

1、softmax 引起的梯度饱和是关键点

2、提到 DeepNet init或uP

3、提到Transformer本质上是为了解决梯度传递问题而设计的。

#春招##面经##面试##实习#
2025大模型复盘 文章被收录于专栏

带你复盘2025年秋招大模型高频面试题,拆解大模型面试到底在考啥!

全部评论

相关推荐

昨天 15:01
已编辑
门头沟学院 Java
你被哪些公司挂了?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务