技术指南

Adam 和自适应优化器

Adam 是大多数现代神经网络背后的主力优化器,自动调整每个参数的单独学习率。

听听这个指南AI叙述 · ~2 min

在本页阅读时间:2分钟
  1. 概述
  2. 深入探讨
  3. 现实世界的实施
  4. Adam 和自适应优化器的未来
  5. 付诸实践
  6. 不断探索
  7. 常见问题

概述

这很重要,因为它使深度模型的训练速度更快,并且比普通梯度下降更不挑剔。

深入探讨

Adam(自适应矩估计)由 Kingma 和 Ba 在 2014 年提出,结合了两种想法。首先,动量:它保持过去梯度(第一时刻)的指数衰减平均值,因此更新在一致的方向上构建速度。其次,每参数缩放:它跟踪梯度平方的平均值(二阶矩),并将每个步骤除以该值的平方根,因此具有大且噪声梯度的参数采用较小的步长,而很少更新的参数则采用较大的步长。这种适应性意味着您通常可以在整个网络中使用一种学习率。 AdamW 的一个变体将权重衰减与梯度更新解耦,并已成为训练大型 Transformer 和语言模型的默认设置。

现实世界的实施

训练 GPT 和 Llama 等大型语言模型,它们使用 AdamW 作为标准优化器。

仅使用默认的 Adam 学习率在自定义数据集上微调预训练的图像分类器(例如 ResNet)。

训练图像生成器背后的扩散模型,例如稳定扩散。

在位和字节等库中运行 8 位 Adam,以将优化器状态适应有限的 GPU 内存。

Adam 和自适应优化器的未来

Adam 和 AdamW 仍然占据主导地位,但研究正在提高万亿参数模型的效率,在该模型中,每个权重存储两个额外值的成本很高。诸如 Adafactor、8 位 Adam 之类的轻内存变体,以及诸如 Lion(仅使用基于符号的动量)和 Sophia 等较新的优化器,旨在以更少的内存或更快的收敛速度来匹配 Adam 的质量。预计专门针对分布式、低精度训练进行调整的自适应优化器将不断发展。

付诸实践

为什么这很重要

  • 成本与预算. 多年来,架构决策决定着性能和运营成本。
  • 更清晰的判决. 技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
  • 质量控制. 更好的工程选择可以减少生产中的可靠性事故。

留意

  • 优化一项基准测试可以隐藏更广泛的系统弱点。
  • 基础设施和维护成本常常被低估。
  • 随着系统变得更加复杂,安全性和可观察性差距可能会扩大。

后续步骤

  1. 在实施之前定义延迟、质量和成本目标。
  2. 在实际负载和数据条件下进行基准测试。
  3. 仪器监控错误、漂移和用户影响。
  4. 在扩展之前准备回滚和事件响应路径。

不断探索

免费通讯

获取每日AI简报

每个工作日早晨提供三条经过验证的AI故事,使用简明英文撰写。永久免费,无广告。

每个工作日发送一封邮件。一键退订。我们永不出售或分享您的地址。

测试一下自己

参加 Adam 和自适应优化器测验

每个答案即时反馈,课程通过后可获得可验证ID的可分享证书。

开始测验

支持免费AI教育。AI Understanding是一家501(c)(3)非营利组织——无广告,无付费墙,永不收费。 捐款

常见问题

Adam 和自适应优化器是什么?

Adam 是大多数现代神经网络背后的主力优化器,自动调整每个参数的单独学习率。这很重要,因为它使深度模型的训练速度更快,并且比普通梯度下降更不挑剔。

Adam 对每个参数跟踪哪两个量?

Adam 为每个参数保持梯度(一阶矩)和梯度平方(二阶矩)的指数衰减平均值。

为什么 Adam 对其矩估计应用偏差校正?

m 和 v 都初始化为零,因此早期估计值偏低;除以 (1 - beta^t) 可以纠正这个问题。

Adam 和 AdamW 之间的主要区别是什么?

AdamW 将权重衰减直接应用于权重,而不是将其混合到自适应梯度项中,这提高了 Transformer 的泛化能力。

小 epsilon 项在 Adam 更新规则中起什么作用?

将 Epsilon(大约 1e-8)添加到分母中,以便具有接近零平方梯度平均值的参数不会导致爆炸。

为什么亚当经常被描述为“适应性强”?

通过除以每个参数的梯度平方平均值的平方根,Adam 缩放每个参数的步长,而不是使用一个全局值。