仅需一行代码即可提升训练效果!

最近新看到的一篇paper,挺有意思

在这篇文章中只做了一个出人意料的简单调整,作者建议忽略来自优化器、与最近反向传播中当前梯度符号相反的任何更新。换句话说,建议只应用与当前梯度一致的更新,使更新更稳定,并与最新数据保持一致。他们发现这个小小的调整可以显著加快训练速度,大致梳理了下内容,一起看看

背景

AdamW 成为大多数 Transformer 预训练的默认优化器,近年来虽然出现了一些改进版本,但始终没有真正挑战其主导地位。然而,随着大模型时代的到来,更高效的优化器可以加快训练速度,提高模型能力。因此,该研究提出了一种简单但有效的优化器修改方法------Cautious Optimizer

贡献

  • 提出了Cautious Optimizer,仅需一行代码修改现有动量优化器,即 C-AdamW 和 C-Lion
  • 不会破坏优化器的收敛性
  • 相比于普通动量优化器,能更快地降低损失函数
  • 能够避免"卡在"优化路径上的某些不稳定点,而普通动量优化器可能会在这些点上振荡或减缓收敛

方法

  • 仅在优化器的更新方向与当前梯度方向一致时才执行更新
  • 具体实现如下(PyTorch 代码示例)
python 复制代码
# param p, update u from OPT, grad g
m = (u * g > 0).to(g.dtype)
p.add (u * m / (m.mean() + eps), alpha=-lr)

实验

  1. LLaMA 预训练任务
  • C-AdamW 和 C-Lion 在多个参数规模(60M、100M、350M、1B)下均比原始 AdamW 和 Lion 更快地收敛
  • C-AdamW 训练效率提高 1.47 倍,C-Lion 提高 1.28 倍
  • 在 GLUE 基准测试中,C-AdamW 在多个 NLP 任务上的平均得分比 AdamW 提高 2%
  1. MAE 视觉预训练任务
  • C-AdamW 使评估损失更快下降,表明其在图像表示学习上的有效性
  1. LLM 微调(Instruction Tuning)和 RLHF 任务
  • C-AdamW 在相同训练步数和 PPO 训练回合下,取得了更低的训练损失和更高的奖励分数

TODO

  • 进一步改进 ϕ(masking)函数,使其更有效
  • 在特征空间(如特征向量的主成分)进行 mask,而非直接在参数空间操作
  • 更严格地分析对收敛速率的提升

愣着干嘛,测起来用起来,创新点+1狗头

相关推荐
在所不辞兄8 小时前
为什么神经网络对对抗扰动和分布偏移往往比较脆弱,而人类感知相对更鲁棒?
人工智能·深度学习·神经网络·机器学习
在所不辞兄10 小时前
【神经网络干货】把指数级计算拆成四条一维路径:可分离 PI-DeepONet 如何破解高维 PDE
人工智能·深度学习·神经网络·机器学习
a puppy slide 葱1 天前
ENAS | 基于参数共享的高效神经网络架构搜索
论文阅读·人工智能·深度学习·神经网络·机器学习·计算机视觉·神经网络架构搜索
漂流瓶jz1 天前
【AI】大模型参数训练原理:Softmax/损失函数交叉熵/反向传播/梯度下降优化器/学习率调度器/训练数据划分
人工智能·神经网络·llm
茗创科技1 天前
静息态fMRI预处理没有一刀切:RESTplus参数选择与常见误区
神经网络·数据分析·脑网络·神经科学
在所不辞兄2 天前
【零基础学智能仿真-53】多智能体协作——有限元自动化实战从工程需求到可审核的仿真报告
人工智能·深度学习·神经网络·机器学习·有限元
田里的水稻2 天前
PyTorch_TensorBoard展示
人工智能·pytorch·python·深度学习·神经网络
zh路西法2 天前
【生成式模型入门】(四):Flow Matching——从速度场学习到生成路径
python·深度学习·神经网络·生成式模型·diffusionpolicy·flowmatching
老唐7772 天前
Transformer原理大白话讲解
人工智能·python·深度学习·神经网络·计算机视觉·ai·transformer
梦帮科技3 天前
Linux 内存取证学与 Rootkit 猎杀——Volatility 核心剖析与内核隐藏模块逆向清除
linux·运维·服务器·神经网络·算法·网络安全