【MeZO】《Fine-Tuning Language Models with Just Forward Passes》译读笔记

MeZO是一种针对大规模语言模型的内存高效零阶优化器,无需计算梯度,通过随机扰动参数进行优化。它兼容各种微调技术和任务,如LoRA、前缀微调,能在不同规模模型和任务中展现有效性和可扩展性。MeZO的内存消耗与推理相当,使得在大模型微调中能替代传统的反向传播方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《Fine-Tuning Language Models with Just Forward Passes》

  • MeZO 是一种内存高效的零阶优化器,它可以用于微调大规模的语言模型,而不需要计算梯度。
  • MeZO 通过在模型参数上加上随机扰动,并根据模型在数据集上的表现来调整参数,从而实现优化。
  • MeZO 可以与其他基于梯度的优化器结合使用,例如带动量的 SGD 或 Adam 优化器。
  • MeZO 可以与全参数微调和参数高效微调技术兼容,例如 LoRA 和前缀微调
  • MeZO 可以优化不可微的目标函数,例如准确率和 F1 分数。
  • MeZO 在多种模型类型(掩码语言模型和自回归语言模型)、模型规模(从 350M 到 66B)、和下游任务(分类、多选、和生成)上进行了实验,证明了它的有效性和可扩展性。
  • MeZO 的理论分析表明,它的收敛速率不依赖于参数维度,而是依赖于损失函数在局部区域内的有效秩。这解释了为什么 MeZO 可以成功地优化具有数十亿参数的语言模型。

摘要

语言模型微调(LMs)在多种下游任务上取得了成功,但随着 LM 的规模增大,反向传播需要大量的内存。Zeroth-order(ZO)方法原则上可以只用两次前向传播来估计梯度,但理论上认为它们对于大型模型的优化是极其缓慢的。本文提出了一种内存高效的零阶优化器(Memory-efficient Zeroth-Order optimizer, MeZO),将经典的 ZO-SGD 方法改进为原位操作,从而在微调LM时使用的内存消耗可与推理时相同。例如,使用单个 A100 80GB GPU,MeZO可以训练一个30亿参数的模型,而使用相同预算进行反向传播微调仅能训练一个27亿参数的LM。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值