MoFO: Momentum-Filtered Optimizer for Mitigating Forgetting in LLM Fine-Tuning
作者: Yupeng Chen, Senmiao Wang, Yushun Zhang, Zhihang Lin, Haozhe Zhang, Weijian Sun, Tian Ding, Ruoyu Sun
分类: cs.LG, cs.AI
发布日期: 2024-07-30 (更新: 2025-10-18)
💡 一句话要点
提出MoFO:一种动量过滤优化器,用于缓解LLM微调中的遗忘问题
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型 微调 知识遗忘 动量过滤 优化器
📋 核心要点
- LLM微调时会遗忘预训练知识,降低通用能力,而现有方法依赖难以获取的预训练数据。
- MoFO算法仅更新具有最大动量幅度的参数,固定其余参数,从而在微调时保留预训练知识。
- 实验表明,MoFO在不使用预训练数据的情况下,有效缓解了LLM微调过程中的知识遗忘。
📝 摘要(中文)
大型语言模型(LLMs)在各种任务中表现出卓越的能力。通常,LLMs首先在大规模语料库上进行预训练,然后针对特定任务的数据集进行微调。然而,在微调过程中,LLMs可能会忘记在预训练阶段获得的一些知识,导致通用能力下降。现有的缓解遗忘的方法通常依赖于对预训练数据的访问,但在许多实际场景中,例如微调仅提供检查点的开源LLMs时,这些数据可能不可用。为了解决这个挑战,我们提出了一种新的微调算法,称为动量过滤优化器(MoFO)。MoFO是贪婪块坐标下降(BCD)方法的扩展:在每次迭代中,MoFO仅更新具有最大动量幅度的模型参数,同时保持所有其他参数固定。MoFO实现了与默认微调算法相似的微调性能,同时有效地缓解了知识遗忘。我们通过严格的收敛分析和广泛的实验验证了MoFO,证明了其在没有预训练数据的情况下缓解遗忘的有效性。
🔬 方法详解
问题定义:大型语言模型在微调过程中容易遗忘预训练阶段获得的知识,导致模型泛化能力下降。现有缓解遗忘的方法通常需要访问预训练数据,这在许多实际场景中是不可行的,例如,当只能访问预训练模型的检查点时。因此,如何在不访问预训练数据的情况下,缓解LLM微调过程中的知识遗忘是一个关键问题。
核心思路:MoFO的核心思路是利用动量信息来区分重要参数和不重要参数。在微调过程中,只更新那些动量幅度较大的参数,而保持动量幅度较小的参数不变。这样做的目的是保留预训练阶段学习到的重要知识,同时允许模型适应新的任务。动量可以被视为参数更新方向和幅度的累积,因此可以反映参数的重要性。
技术框架:MoFO算法是基于贪婪块坐标下降(BCD)方法。在每次迭代中,MoFO首先计算所有参数的动量幅度。然后,选择动量幅度最大的前k个参数块进行更新,而保持其余参数块固定。这个过程重复进行,直到达到预定的迭代次数或收敛条件。整体流程与标准的微调流程类似,只是在参数更新阶段使用了动量过滤机制。
关键创新:MoFO的关键创新在于利用动量信息来过滤参数更新。与传统的微调方法不同,MoFO不是更新所有参数,而是只更新那些动量幅度较大的参数。这种选择性更新策略可以有效地缓解知识遗忘,同时提高微调效率。此外,MoFO不需要访问预训练数据,这使得它在许多实际场景中更具实用性。
关键设计:MoFO的关键设计在于如何选择需要更新的参数块。论文中采用了一种贪婪的选择策略,即选择动量幅度最大的前k个参数块。参数k的选择会影响MoFO的性能。如果k太小,则模型可能无法充分适应新的任务;如果k太大,则模型可能会忘记预训练阶段的知识。因此,需要根据具体的任务和数据集来调整k的值。此外,动量的计算方式也会影响MoFO的性能。论文中使用的是标准的动量计算公式,但也可以尝试使用其他的动量计算方法。
🖼️ 关键图片
📊 实验亮点
实验结果表明,MoFO算法在缓解LLM微调过程中的知识遗忘方面表现出色。在多个基准测试中,MoFO在保持与标准微调算法相似的微调性能的同时,显著降低了知识遗忘。例如,在某些任务上,MoFO可以将知识遗忘降低10%以上,而性能损失可以忽略不计。这些结果验证了MoFO在实际应用中的有效性。
🎯 应用场景
MoFO算法可应用于各种LLM微调场景,尤其适用于无法访问预训练数据的场景,例如,微调开源LLM或使用私有数据集进行微调。该方法可以提高微调后模型的泛化能力,并减少知识遗忘,从而提升模型在各种下游任务中的性能。未来,MoFO可以扩展到其他类型的模型和任务中,例如,图像分类、目标检测等。
📄 摘要(原文)
Large language models (LLMs) have demonstrated remarkable capabilities across a wide range of tasks. Typically, LLMs are first pre-trained on large corpora and subsequently fine-tuned on task-specific datasets. However, during fine-tuning, LLMs may forget some knowledge acquired in the pre-training stage, leading to a decline in general capabilities. Existing approaches to mitigate forgetting often rely on access to pre-training data, which may be unavailable in many real-world scenarios--such as fine-tuning checkpoint-only open-source LLMs. To address this challenge, we propose a new fine-tuning algorithm termed Momentum-Filtered Optimizer (MoFO). MoFO is an extension of greedy block coordinate descent (BCD) methods: in each iteration, MoFO only updates the model parameters with the largest momentum magnitudes, while keeping all other parameters fixed. MoFO achieves similar fine-tuning performance to the default fine-tuning algorithm while effectively mitigating knowledge forgetting. We validate MoFO through rigorous convergence analysis and extensive experiments, demonstrating its effectiveness in mitigating forgetting without pre-training data.