【NLP高频面题 - LLM架构篇】大模型使用SwiGLU相对于ReLU有什么好处?
重要性:★★★ 💯
NLP Github 项目:
-
NLP 项目实践:fasterai/nlp-project-practice
介绍:该仓库围绕着 NLP 任务模型的设计、训练、优化、部署和应用,分享大模型算法工程师的日常工作和实战经验
-
AI 藏经阁:https://gitee.com/fasterai/ai-e-book
介绍:该仓库主要分享了数百本 AI 领域电子书
-
AI 算法面经:fasterai/nlp-interview-handbook#面经
介绍:该仓库一网打尽互联网大厂NLP算法面经,算法求职必备神器
-
NLP 剑指Offer:https://gitee.com/fasterai/nlp-interview-handbook
介绍:该仓库汇总了 NLP 算法工程师高频面题
使用的SwiGLU替换ReLU最重要的原因是SwiGLU可以更好的捕获序列的特征。
① 使用ReLU的FFN的计算公式:
② 使用SwiGLU的FFN的计算公式:
更直观的看下ReLU和SwiGLU的可视化对比:
Swish 激活函数在参数 β 不同取值下的形状:
SwiGLU在计算中引入了门控机制,门控机制可以使用更软性的权重筛选有用的信息,并且梯度更平滑。这么做有以下几个主要好处:
- 动态门控机制:SwiGLU继承了GLU的门控特性,通过使用sigmoid函数作为门控器,可以对输入信号进行筛选和选择性放大。这种门控机制允许模型自适应地选择哪些信息是重要的,从而有助于提高模型对数据的表示能力。
- 增加非线性和复杂度:SwiGLU通过引入Swish激活函数,为神经网络增添了更多的非线性,使得模型能够捕捉和学习数据中更为复杂的特征和模式。
- 提高信息流动的效率:SwiGLU的门控机制使得模型能够更有效地管理和调整信息的流动,减少无关信息的干扰,提高了信息处理的效率。
- 避免"dying ReLU"问题:ReLU的一个主要问题是"dying ReLU",即某些神经元在训练过程中可能永远不会被激活,导致这些神经元对网络的贡献为零。SwiGLU通过其动态门控机制,减少了这种问题的发生。
- 提高模型精度:在某些任务中,SwiGLU可以显著提高模型的精度,尤其是在自然语言处理任务中,如GLUE和SuperGLUE,SwiGLU的使用可以带来超过4%的精度提升。
拔高(举一反三):深刻理解门控机制,并且知晓门控机制在LSTM、IA3中都有应用。
门机制:控制水闸的门就能阻止或者释放水流。类似的,门机制的作用是控制数据的流动。
如上图所示,门的开合程度由 0.0 ~1.0 的实数表示,通过这个数值控制流出的水量,sigmoid 函数用于求门的开合程度(sigmoid 函数的输出范围在 0.0 ~ 1.0)。
① LSTM 中门控机制的应用:
② PEFT的IA3方法中门控机制的应用:
IA3的思想:抑制和放大内部激活,通过可学习的向量对激活值进行抑制或放大。具体来说,会对K、V、FFN三部分的值进行调整,训练过程中同样冻结原始模型的权重,只更新可学习的部分向量部分。训练完成后,与Lora类似,也可以将学习部分的参数与原始权重合并,没有额外推理开销。