在当今的AI领域,Transformer架构无疑是王者,从自然语言处理到计算机视觉,其身影无处不在。然而,模型的性能提升往往来自于对细节的不断打磨。今天带来的是一篇由Google大脑的传奇人物Noam Shazeer发表的论文——《GLU Variants Improve Transformer》。
这篇论文提出了一个看似微小却影响深远的改动:将Transformer中标准的前馈网络(Feed-Forward Network, FFN)中的ReLU或GELU激活函数,替换为门控线性单元(Gated Linear Unit, GLU)的变体。这一改动被证明可以显著提升模型性能,并已被众多先进的大语言模型(如LLaMA、PaLM)所采纳。
在深度学习中,我们依赖于梯度下降和反向传播来优化神经网络。这些方法的核心,正如其名,是“梯度”。梯度指引着我们如何调整参数以最小化损失函数。但如果我们的函数在某些点上没有梯度呢?这在现代神经网络中其实非常普遍,例如广泛使用的ReLU激活函数在x=0处就是不可导的。
这时候,“次梯度”(Subgradient)的概念就显得尤为重要。幸运的是,像PyTorch这样的现代深度学习框架已经巧妙地为我们处理了这些情况。这篇博客将带你深入浅出地理解什么是次梯度。
今天带来的论文是2019年由Ilya Loshchilov等人发表的《Decoupled Weight Decay Regularization》,在这篇论文中提出了AdamW算法,也是目前transformer模型中主要使用的优化器算法。这篇论文之前被拒两次,但是最终还是极大影响了后来llm优化器的选择。这篇论文纠正了过去的一种正则化思想:在Adam中的梯度加入权重衰减系数等价于对损失函数做L2正则化。 实际上二者在SGD算法中是等价的,但是Adam算法中并不等价。