你好,我是Shrijith Venkatramana, 我正在建造LiveReview——一个为您的商业关键系统而建的具有爆炸意识的AI代码审查.
帮助Devs发现这个项目,尝试一下,分享你的反馈,帮助改进产品.
大多数人通过盯着模型来学习神经网络.
重量。
请注意 MLPs.
层层诺姆.
托克尼泽斯.
上下文窗口。
但当你真正训练一个LLM时, 还有一个机器每秒就做出数十亿个决定: 优化器。
一个700亿参数的模型并不"learn",因为梯度下垂告诉它哪个方向更好.
它的学习是因为一个优化者将一串巨大的,吵闹的梯度流变成参数更新,小到足以不爆炸,大到足以取得进展,以及适应性足够,不同的参数可以以完全不同的有效速度移动.
在过去十年中,占主导地位的答案主要是某种形式的亚当,并且日益地亚当W.
有趣的部分是,亚当并不是某种神秘的LLM特有发明.
最初的亚当论文由Diederik Kingma和Jimmy Ba于2014年12月提交,在"变形金刚"之前,在GPT之前,在现代LLM时代之前.
金玛当时致力于可伸缩的机器学习和基因模型;巴当时是博士生,在多伦多与杰弗里·欣顿合作.
三年后"变形金刚"报在其"训练食谱"中直接使用亚当.
亚当W后来出现,它解决了一个微妙但重要的问题,即规范化如何与适应性优化相互作用。
到2025年,亚当有足够的影响力获得ICLR Test of Time奖.
亚当到底在做什么?
为什么亚当W通常在训练变形金刚时 你真正想要的是什么? 1.第一,忘记亚当:最优化的解决方案是什么?
假设你的神经网络有参数 和你的训练批量产生损失。
反向传播给你 最简单的可能优化者是梯度下降:学习率在哪里.
看上去很简单 这确实是人们在适应性优化者 成为主导者之前所做的。
问题在于神经网络的梯度表现不好.
想象两个参数: 一个单一的学习率必须处理两者.
如果您选择 , 参数 1 几乎不会移动 : 而参数 2 得到 : 而这种情况并非异国情调。
不同的参数可以有极端不同的梯度尺度.
有些人每一步都得到密集的梯度.
其他的信号很少或断断续续。
参数空间中的一些方向很吵.
另一些则非常一致。
因此,根本的问题是:我们如何将原始梯度变成每个参数的合理更新?
时刻给出一个答案。
适应性方法给另一个。
亚当基本上兼而有之
2.
亚当的关键想法: 保持对梯度的记忆 亚当代表适应性运动估计.
最容易理解的方法就是想象每个参数都保持着两个小的内存.
第一个记得,“梯度一般指向什么方向?” 第二回回忆道:"这些梯度一般有多大?
对于每个参数,亚当坚持:更精确地说:典型的:解释令人惊讶地直观.
假设梯度超过5个步骤是: 那么移动平均值也指向强烈正数。
现在想象一下: 标志不断被取消.
因此,亚当区别于:这是动力。 : 梯度缩放 Now假设一个参数经常得到梯度,另一个则得到梯度。
它们的平方梯度因一个因素而异:亚当记得这一点.
这使得它能够实现有效更新的正常化。
稍稍忽略一些细节后,更新内容看起来是: 因此,如果一个参数具有持续的大梯度,它的分母是大的.
如果它的梯度一直很小,它的分母也很小.
因此,亚当正在做一些 质量类似的东西: 移动方向 支持的rece
