SwiGLU激活函数的数学形式与优势分析
LLaMA使用SwiGLU作为FFN的激活函数。请写出它的数学公式,解释其设计思路(门控机制),与ReLU/GELU在性能上的对比,以及为什么SwiGLU虽然多了1/3参数但LLaMA仍选择使用。
回答
孤独的心
SwiGLU公式:SwiGLU(x) = Swish(xW_gate) ⊗ (xW_up),其中Swish(x) = x · σ(βx)(β可学习或固定为1),⊗为逐元素乘。设计思路:门控机制——W_gate控制信息通路(门控信号),W_up提供信息内容,二者相乘实现选择性信息流。与ReLU/GELU对比:多项实验(PaLM、LLaMA)证明SwiGLU在相同参数量下PPL更低(约0.1-0.2的改善)。虽然SwiGLU有三个权重矩阵(gate、up、down)而非标准FFN的两个,但LLaMA通过减小d_ff压缩总参数量(如标准FFN d_ff=11008,SwiGLU调整后总参数量与标准FFN相当)。关键在于:SwiGLU的分段选择性能力比ReLU/GELU的独立非线性变换带来更强的表达能力,且训练更稳定。