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年秋招大模型高频面试题,拆解大模型面试到底在考啥!
阿里云工作强度 676人发布