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

《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。

你可能感兴趣的:(语言模型,笔记,人工智能)