全面碾压AdamW!谷歌新出优化器内存小、效率高,网友:训练GPT 2果然快

简介: 全面碾压AdamW!谷歌新出优化器内存小、效率高,网友:训练GPT 2果然快

谷歌的 Lion 优化器将成为训练大模型或大批量的「福音」。


优化器即优化算法,在神经网络训练中起着关键作用。近年来,研究者引入了大量的手工优化器,其中大部分是自适应优化器。Adam 以及 Adafactor 优化器仍然占据训练神经网络的主流,尤其在语言、视觉和多模态领域更是如此。

除了人工引入优化器外,还有一个方向是程序自动发现优化算法。此前有人提出过 L2O(learning to optimize),该方法通过训练神经网络来发现优化器。然而,这些黑盒优化器通常是在有限数量的小任务上训练而成,很难泛化到大模型。

还有人尝试了其他方法,他们应用强化学习或蒙特卡罗采样来发现新的优化器。然而,为了简化搜索,这些方法通常会限制搜索空间,从而限制发现其他优化器的可能性。因此,目前方法尚未达到 SOTA 水平。

最近几年,值得一提的是 AutoML-Zero,它试图在评估任务时搜索机器学习 pipeline 的每个组件,对优化器的发现很有借鉴意义。

在本文中,来自谷歌、 UCLA 的研究者提出了一种通过程序搜索发现深度神经网络训练的优化算法的方法,进而发现 Lion(EvoLved Sign Momentum)优化器。实现这一目标面临两个挑战:首先是在无限稀疏的程序空间中寻找高质量的算法,其次是选择可以从小型任务泛化到更大、SOTA 任务的算法。为了应对这些挑战,该研究采用了一系列技术,包括具有热启动和重启的进化搜索、抽象执行、funnel 选择和程序简化。


与 AdamW 和各种自适应优化器(这些优化器需要同时保存一阶和二阶矩)相比,Lion 只需要动量并利用符号操作来计算更新,并且将额外的内存占用减半。这在训练大模型或大批量时很有用。例如,AdamW 需要至少 16 个 TPU V4 来训练图像大小为 224、批大小为 4096 的 ViT-B/16,而 Lion 只需要 8 个。另一个实际好处是,由于 Lion 的简单性,Lion 在实验中具有更快的运行时间(steps /sec),通常比 AdamW 和 Adafactor 提速 2-15%,具体取决于任务、代码库和硬件。

论文一作 Xiangning Chen 表示:我们的符号程序搜索发现了一个只跟踪动量的有效优化器 ——Lion。与 Adam 相比,它获得了 88.3% 的零样本和 91.1% 的微调 ImageNet 准确率,以及高达 5 倍(与 ViT 相比)、2.3 倍(与扩散模型相比)和 2 倍(与 LM 想比)训练效率。

Lion 在一系列模型(Transformer、MLP、ResNet、U-Net 和 Hybrid)和任务(图像分类、视觉 - 语言对比学习、扩散、语言建模和微调)中展示了出色的性能。值得注意的是,通过在 BASIC 中用 Lion 替换 Adafactor,该研究在 ImageNet 上实现了 88.3% 的零样本和 91.1% 的微调精度(Pham 等人,2021),分别超过之前的 SOTA 结果 2% 和 0.1%。

此外,Lion 将 JFT 上的预训练计算量减少了多达 5 倍,将扩散模型的训练效率提高了 2.3 倍,并获得了更好的 FID 分数,并在语言建模方面提供了类似或更好的性能,节省了多达 2 倍的计算量。

推特用户 crumb 表示:自己使用谷歌的 Lion 优化器训练了一个 124M 参数 GPT2 模型,发现达到与 Adam 相同的损失所需的 step 数减少了 37.5%。

图源:https://twitter.com/aicrumb/status/1626053855329898496

算法的符号发现

本文使用程序形式的符号表示具有以下优点:(1)它符合算法必须作为程序来执行的事实;(2) 与神经网络等参数化模型相比,程序等符号表示更易于分析、理解和迁移到新任务;(3) 程序长度可用于估计不同程序的复杂性,从而更容易选择更简单、通常更具通用性的程序。这项工作侧重于深度神经网络训练的优化器,但该方法通常适用于其他任务

下图中,程序 2 这个简化代码片段使用与 AdamW 相同的 signature ,以确保发现的算法具有更小或相等的内存占用空间;程序 3 中给出了 AdamW 的示例表示。

该研究采用以下技术来解决无限和稀疏搜索空间带来的挑战。首先应用正则化,因为它简单,可扩展,并在许多 AutoML 搜索任务中很成功;其次是简化程序空间中的冗余;最后,为了降低搜索成本,该研究通过减少模型大小、训练示例的数量和距离目标任务的 step 使成本降低。

左:显示了五次进化搜索实验的均值和标准误差。右:随着搜索的进行,冗余语句的百分比和缓存命中率都在增加。

Lion 的推导与分析

研究者表示,优化器 Lion 具有简洁性、高内存效率以及在搜索和元验证方面的强大性能。

推导

搜索和 funnel 选择过程促成了程序 4,它通过从原始程序 8(附录)自动删除冗余语句获得。研究者进一步简化并得到程序 1 中的最终算法(Lion)。在简化过程中从程序 4 中删除了几个不必要的元素。其中 cosh 函数被删除,因为 m 将在下一次迭代中重新分配(第 3 行)。使用 arcsin 和 clip 的语句也被删除,因为研究者观察到没有它们质量不会下降。三个红色语句转换为一个符号函数。

尽管程序 4 中同时使用了 m 和 v,但 v 仅改变了动量的更新方式(两个具有常数∼0.9 和 ∼1.1 的插值函数等同于一个具有 ∼0.99 的函数)并且不需要单独跟踪。注意不再需要偏差校正,因为它不会改变方向。

如下算法 2 显示了伪代码。

分析

符号更新和正则化。Lion 算法通过符号操作在所有维度上产生了具有统一幅度的更新,这在原理上不同于各种自适应优化器。直观来看,符号操作为更新添加了噪声,作为了一种正则化形式并有助于泛化。下图 11(右)展示了一个证据。

动量跟踪。与 AdamW 和动量 SGD 中常用的 0.9 相比,Lion 中用于跟踪动量的默认 EMA 因子为 0.99 (β_2)。EMA 因子和插值的这种选择,使得 Lion 在记住动量梯度的 10 倍 history 和在更新中对当前梯度施加更多权重之间取得平衡。

超参数和批大小选择。与 AdamW 和 Adafactor 相比,Lion 更简单并且超参数更少,因为它不需要 ϵ 和因式分解相关的参数。Lion 需要更小的学习率,进而需要更大的解耦权重衰减才能达到类似的有效权重衰减强度 (lr * λ)。

内存和运行时优势。Lion 只保存动量,比 AdamW 等流行的自适应优化器占用的内存更小,这在训练大模型和 / 或使用大批量时非常有用。例如,AdamW 需要至少 16 个 TPU V4 芯片来训练图像分辨率为 224 且批大小为 4,096 的 ViT-B/16,而 Lion 只需要 8 个(均具有 bfloat16 动量)。

Lion 评估结果

在实验部分,研究者在各种基准上对 Lion 进行了评估,主要将它与流行的 AdamW(或者当内存成为瓶颈时的 Adafactor)进行比较。

图像分类

研究者在图像分类任务上执行涵盖各种数据集和架构的实验。除了在 ImageNet 上从头开始训练之外,他们还在两个更大的成熟数据集 ImageNet-21K 和 JFT 上进行预训练。图片大小默认为 224。

首先在 ImageNet 上从头开始训练。研究者训练 ResNet-50 达到 90 个 epoch,批大小为 1,024,其他模型训练 300 个 epoch,批大小为 4,096。如下表 2 所示,Lion 在各种架构上显著优于 AdamW

其次在 ImageNet-21K 上进行预训练。研究者在 ImageNet-21K 上对 ViT-B/16 和 ViT-L/16 进行了 90 个 epoch 的预训练,批大小为 4,096。下表 2 显示,即使训练集扩大 10 倍,Lion 仍然优于 AdamW

最后在 JFT 上进行预训练。为了突破极限,研究者在 JFT 上进行大量实验。下图 4 显示了 JFT-300M 上不同预训练预算下三种 ViT 模型(ViT-B/16、ViT-L/16 和 ViT-H/14)的准确率。Lion 使 ViT-L/16 能够与 AdamW 在 ImageNet 和 ImageNet V2 上训练的 ViT-H/14 性能相匹配,但预训练成本降低了 3 倍。

下表 3 显示了微调结果,具有更高的分辨率和 Polyak 平均。研究者使用的 ViT-L/16 与之前由 AdamW 训练的 ViT-H/14 结果相匹配,同时参数减少了 2 倍。在将预训练数据集扩展到 JFT-3B 后,Lion 训练的 ViT-g/14 优于之前的 ViT-G/14 结果,参数减少了 1.8 倍。

视觉语言对比学习

本节重点介绍 CLIP 风格的视觉语言对比训练。研究者没有从头开始学习所有参数,而是使用强大的预训练模型初始化图像编码器。

对于锁定图像文本调整 (LiT) ,研究者通过使用相同的 frozen 预训练 ViT 以对比方式训练文本编码器,进而在 LiT 上对 Lion 和 AdamW 进行比较。下表 4 显示了 3 种模型尺度上的零样本图像分类结果,Lion 展示出了对 AdamW 的持续改进。

下图 5(左)展示了 LiT-B/16-B 的示例零样本学习曲线,并在其他两个数据集上得到了类似的结果。

扩散模型

最近,扩散模型在图像生成方面取得了巨大的成功。鉴于其巨大的潜力,研究者测试了 Lion 在无条件图像合成和多模式文本到图像生成方面的表现。

对于 ImageNet 上的图像合成,研究者利用 2021 年论文《 Diffusion models beat gans on image synthesis 》中引入的改进 U-Net 架构,在 ImageNet 上执行 64×64、128×128 和 256×256 图像生成。如上图 5(中和右)所示,Lion 可以在 FID 分数上实现更好的质量和更快的收敛速度。

对于文本到图像的生成,下图 6 展示了学习曲线。虽然 64 × 64 base 模型没有明显改进,但 Lion 在文本条件超分辨率模型上优于 AdamW。与 AdamW 相比,Lion 获得了更高的 CLIP 分数并且具有更小的噪声 FID 指标。

语言建模和微调

本节重点介绍语言建模和微调。在纯语言任务上,研究者发现调整 β_1 和 β_2 可以提高 AdamW 和 Lion 的质量。

对于自回归语言建模,下图 7 展示了 Wiki-40B 的 token 级困惑度和 PG-19 的 word 级困惑度。Lion 始终实现比 AdamW 更低的验证困惑度。在 Wiki-40B 和 PG-19 上训练中型模型时,它分别实现了 1.6 倍和 1.5 倍的加速。当模型增加到大尺寸时,PG-19 进一步实现了 2 倍加速。

对于掩蔽语言建模,研究者还在 C4 数据集上执行 BERT 训练,其中 Lion 在验证困惑度方面的表现略好于 AdamW。相关学习曲线如下图 11(左)所示。

对于微调,研究者在 GLUE 基准上微调 Base(220M)、Large(770M)和最大的 11B T5 模型。下表 6 显示了 GLUE 开发集上的结果,平均而言,Lion 在所有 3  个模型规模上都击败了 AdamW。

与其他流行优化器的比较

该研究还使用四种流行的优化器 RAdam、NAdam、AdaBelief 和 AMSGrad 在 ImageNet 上训练 ViT-S/16 和 ViT-B/16(使用 RandAug 和 Mixup)。如下表 7 所示,Lion 仍然是表现最好的。

更多技术细节请参阅原论文。

相关文章
|
4月前
|
机器学习/深度学习 算法 PyTorch
125_训练加速:FlashAttention集成 - 推导注意力优化的独特内存节省
2025年,大型语言模型的训练面临着前所未有的挑战。随着模型参数量和序列长度的不断增加,传统注意力机制的内存瓶颈问题日益突出。FlashAttention作为一种突破性的注意力算法,通过创新的内存访问模式和计算优化,显著提升了训练效率和内存利用。
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
123_自监督任务变体:Causal LM详解 - GPT-style下一词预测机制与训练优化
2025年,自监督学习已成为大型语言模型(LLM)训练的核心范式,其中因果语言建模(Causal Language Modeling, CLM)作为GPT系列模型的基础训练目标,展现出了卓越的生成能力和下游任务迁移性能。与掩码语言建模(Masked Language Modeling, MLM)不同,因果语言建模专注于预测序列中的下一个词元,这种训练方式自然地适应了自回归生成的需求,为文本生成、对话系统等任务奠定了坚实基础。
|
4月前
|
存储 机器学习/深度学习 PyTorch
119_LLM训练的高效内存管理与优化技术:从ZeRO到Flash Attention
大型语言模型(LLM)的训练面临着前所未有的计算和内存挑战。随着模型规模达到数百亿甚至数千亿参数,高效的内存管理成为训练成功的关键因素之一。2025年,LLM训练的内存优化技术已经取得了显著进展,从ZeRO优化器到Flash Attention等创新技术,为训练超大规模模型提供了可能。
|
9月前
|
数据可视化 API Swift
全模态图像模型Nexus-Gen对齐GPT-4o!同时搞定,数据、训练框架、模型全面开源
OpenAI GPT-4o发布强大图片生成能力后,业界对大模型生图能力的探索向全模态方向倾斜,训练全模态模型成研发重点。
396 17
|
10月前
|
机器学习/深度学习 存储 算法
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
反向传播算法虽是深度学习基石,但面临内存消耗大和并行扩展受限的问题。近期,牛津大学等机构提出NoProp方法,通过扩散模型概念,将训练重塑为分层去噪任务,无需全局前向或反向传播。NoProp包含三种变体(DT、CT、FM),具备低内存占用与高效训练优势,在CIFAR-10等数据集上达到与传统方法相当的性能。其层间解耦特性支持分布式并行训练,为无梯度深度学习提供了新方向。
505 1
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
|
7月前
|
人工智能 数据挖掘 API
Kimi K2开源炸场,1万亿参数碾压GPT-4.1,成本仅Claude 4的1/5!
月之暗面开源的万亿参数大模型Kimi K2引发行业震动,48小时内即登顶OpenRouter API调用榜,GitHub项目激增200%。该模型在代码生成、Agent任务及中文创作上超越Claude 4,标志着中国大模型首次在三大核心能力上达到全球顶尖水平。
|
7月前
|
数据采集 编解码 人工智能
Gemma 3n正式版开源:谷歌全新端侧多模态大模型,2GB 内存就能跑,重点提升编码和推理能力!
6月底,Google正式开源发布了全新端侧多模态大模型 Gemma 3n!相较此前的预览版,最新的 Gemma 3n 完整版进一步提升性能表现,支持在 2GB 内存的硬件上本地运行,重点提升了编码和推理方面的能力。
898 1
|
机器学习/深度学习 人工智能 PyTorch
使用PyTorch实现GPT-2直接偏好优化训练:DPO方法改进及其与监督微调的效果对比
本文将系统阐述DPO的工作原理、实现机制,以及其与传统RLHF和SFT方法的本质区别。
1180 22
使用PyTorch实现GPT-2直接偏好优化训练:DPO方法改进及其与监督微调的效果对比
|
12月前
|
算法 测试技术 Swift
Kimi开源Moonlight-16B-A3B:基于Muon优化器的高效大模型,性能与训练效率双突破!
Kimi开源Moonlight-16B-A3B:基于Muon优化器的高效大模型,性能与训练效率双突破!
492 5
|
人工智能 物联网 C语言
SVDQuant:MIT 推出的扩散模型后训练的量化技术,能够将模型的权重和激活值量化至4位,减少内存占用并加速推理过程
SVDQuant是由MIT研究团队推出的扩散模型后训练量化技术,通过将模型的权重和激活值量化至4位,显著减少了内存占用并加速了推理过程。该技术引入了高精度的低秩分支来吸收量化过程中的异常值,支持多种架构,并能无缝集成低秩适配器(LoRAs),为资源受限设备上的大型扩散模型部署提供了有效的解决方案。
894 5
SVDQuant:MIT 推出的扩散模型后训练的量化技术,能够将模型的权重和激活值量化至4位,减少内存占用并加速推理过程

热门文章

最新文章