遗忘"大脑?香港中文大学提出新算法MoFO助力AI记住预训练知识!

发布于 2024-8-2 15:07
浏览
0收藏

遗忘"大脑?香港中文大学提出新算法MoFO助力AI记住预训练知识!-AI.x社区

引言:大型语言模型在微调过程中的遗忘问题

在人工智能领域,大型语言模型(LLM)因其在多种任务中展示出的卓越能力而备受关注。这些模型通常先在大规模语料库上进行预训练,以掌握广泛的语言能力,然后在特定任务的数据集上进行微调,以适应具体的应用场景。然而,微调过程中一个常见且棘手的问题是模型可能会忘记在预训练阶段获得的知识,这种现象被称为“遗忘”。

遗忘问题不仅降低了模型的通用性能,还可能影响到模型在新任务上的表现。因此,如何在微调过程中尽可能保留预训练阶段的知识,成为了研究的一个重要方向。本文中,我们将介绍一种新的微调算法——动量过滤优化器(MoFO),该算法通过在每次迭代中仅更新动量最大的参数子集,有效缓解了遗忘问题,同时保持了微调任务的性能。

  • 论文标题:MoFO: Momentum-Filtered Optimizer for Mitigating Forgetting in LLM Fine-Tuning
  • 机构:The Chinese University of Hong Kong, Shenzhen, China; Shenzhen Research Institute of Big Data; Hong Kong University of Science and Technology
  • 论文链接:https://arxiv.org/pdf/2407.20999.pdf

MoFO优化器的概念和动机

1. 概念介绍

Momentum-Filtered Optimizer (MoFO) 是一种新型的微调算法,旨在解决大型语言模型(LLM)在微调过程中可能出现的知识遗忘问题。MoFO的核心思想是在每次迭代中选择并更新具有最大动量幅度的模型参数。这种方法与全参数训练相比,能够在达到类似的微调性能的同时,保持参数更接近预训练模型,从而减轻知识遗忘。

2. 动机

在微调大型语言模型时,常见的问题是模型可能会忘记在预训练阶段获得的知识,这会导致模型在通用能力上的下降。为了解决这一问题,研究者们提出了多种方法,包括基于回放的方法和正则化方法。然而,这些方法要么需要访问预训练数据,增加了计算和存储成本,要么需要修改损失函数,可能会损害模型在微调任务上的表现。

MoFO方法的提出,是基于对微调损失景观的观察,即通过选择更新动量最大的参数子集,可以使模型收敛到更接近原始损失函数的最小值,从而在不牺牲微调性能的情况下减少遗忘。此外,MoFO不需要访问预训练数据,也不会改变原始损失函数,使其特别适用于只有微调检查点的开源LLM场景。

遗忘"大脑?香港中文大学提出新算法MoFO助力AI记住预训练知识!-AI.x社区

遗忘"大脑?香港中文大学提出新算法MoFO助力AI记住预训练知识!-AI.x社区

MoFO的算法细节

1. 算法构成

MoFO算法将所有参数分为B个固定部分,每个部分包含不同的网络参数(例如权重矩阵和偏置项)。在每次迭代中,MoFO选择每个部分中动量最大的α%的参数进行更新。这种动量过滤机制可以通过PyTorch的反向传播机制自动实现,其中自动返回的梯度会根据每个参数部分进行计算。

2. 实现细节

具体来说,MoFO在每次迭代中执行以下步骤:

  • 将所有参数按照网络结构划分为不同的部分。
  • 对每个部分,计算每个参数的动量,并选择动量最大的α%的参数。
  • 只更新这些选中的参数,而保持其他参数不变。

这种基于动量的选择规则不仅简化了计算过程,还通过选择对减少微调损失最有影响的参数,提高了微调过程的效率和效果。通过这种方法,MoFO有效地选择并更新最具影响力的参数,从而在增强微调过程的同时,减轻了预训练知识的灾难性遗忘。

实验设置和数据集介绍

1. 数据集介绍

在本研究中,我们使用了两组数据集进行实验:用于指令式微调的数据集和用于持续微调的数据集。

  • 指令式微调数据集:这组数据集涵盖了不同领域的问题-答案对,特别是包括了395K数学问题-答案对的MetaMathQA数据集。我们随机选择了该数据集的10%(即33,000个问题-答案对)进行训练。
  • 持续微调数据集:我们在TRACE基准数据集上实施了MoFO方法,该数据集设计了8种不同领域的任务,包括领域特定知识、多语言能力、代码生成和数学推理等。

2. 评估指标

  • 指令式微调的评估指标:我们引入了一系列广泛使用的基准来评估LLM在指令式微调后的性能和灾难性遗忘效应。这些基准包括MMLU(大规模多任务语言理解)、Commonsense(常识推理能力评估)和GSM8K(数学能力评估)。
  • 持续微调的评估指标:我们考虑了两个关键指标:总体性能(OP)和向后转移(BWT)。这些指标提供了一个全面的评估,可以衡量模型在增量学习的同时保留过去经验的能力。

实验结果与分析

1. 实验结果

  • 指令式微调结果:在MetaMathQA数据集上,MoFO与其他基线方法相比,在数学任务(GSM8K)上的表现相当,但在保持一般能力方面表现更好。例如,MoFO在MMLU的准确性上不仅保持不变,甚至略有提高。
  • 持续微调结果:在TRACE基准数据集上,MoFO在OP和BWT得分上均优于全参数微调(Full FT)和半参数微调(HFT)。此外,MoFO与重放方法结合使用时,OP指标比单独使用重放方法提高了1.5%。

2. 分析

  • 参数更新分数的影响:我们发现,参数更新分数在保持模型性能和避免灾难性遗忘方面起着关键作用。较低的更新分数有助于减少遗忘,但可能限制了优化的有效性。
  • 更新策略的影响:MoFO通过选择具有最大动量幅度的参数进行更新,与基于梯度的选择相比,显示出更强的优化能力和更少的遗忘。

通过这些实验,我们验证了MoFO在减轻灾难性遗忘和提高微调性能方面的有效性。

遗忘"大脑?香港中文大学提出新算法MoFO助力AI记住预训练知识!-AI.x社区

遗忘"大脑?香港中文大学提出新算法MoFO助力AI记住预训练知识!-AI.x社区

MoFO的理论分析和收敛性

1. 理论基础

MoFO(Momentum-Filtered Optimizer)是一种优化算法,旨在减轻在微调大型语言模型(LLM)时发生的知识遗忘问题。MoFO通过在每次迭代中只更新具有最大动量幅度的参数子集,从而保持模型参数更接近于预训练模型。这种方法基于动量而非梯度来选择更新的参数,这与传统的Adam优化器有所不同。

2. 收敛性分析

在对MoFO的收敛性进行理论分析时,我们考虑了其简化版本,即作为梯度下降(GD)的变体。根据提出的定理,如果损失函数的梯度是Lipschitz连续的,并且学习率满足特定条件,则MoFO的GD版本将保证收敛到最小损失值。这一理论支持表明,MoFO能够在不牺牲微调性能的情况下,有效减轻知识遗忘。

MoFO在持续微调中的应用

1. 持续微调的实验设置

在持续微调的场景中,我们使用了TRACE基准数据集,该数据集包含多个不同领域的任务。我们在这些任务上顺序训练TinyLlama-1.1B模型,并采用MoFO进行优化。实验中,MoFO的参数更新比例设置为5%,并使用余弦衰减的学习率调度。

2. 持续微调的性能评估

我们通过两个关键指标来评估LLM在持续学习场景中的性能:整体性能(OP)和向后转移(BWT)。MoFO在这些指标上的表现优于全参数微调和其他基线方法。特别是,与单独使用重放方法相比,结合MoFO的重放方法在OP指标上有1.5%的性能提升。此外,当与GEM方法结合使用时,MoFO在OP指标上也显示出0.9%的改进。

3. 结论

MoFO不仅在持续微调任务中表现出色,而且通过选择性参数更新,有效地减轻了灾难性遗忘,保持了模型对预训练知识的保留。这些结果强调了MoFO在持续微调中的优越性能,并为未来在多模态大型语言模型中应用MoFO提供了理论和实证基础。

讨论与未来工作

1. 讨论

本研究提出的Momentum-Filtered Optimizer(MoFO)方法在减轻大型语言模型(LLM)在微调过程中的遗忘问题上显示出显著的优势。通过选择具有最大动量幅度的参数进行更新,MoFO能够在不牺牲微调任务性能的前提下,使模型参数更接近预训练模型,从而有效减轻了遗忘现象。

实验结果表明,与全参数微调(Full FT)和其他基线方法相比,MoFO在保持或甚至提升一般能力方面表现更为出色。例如,在MetaMathQA数据集上的数学推理任务(GSM8K)和一般能力保持方面,MoFO展示了优于L1和L2正则化方法的性能。

此外,MoFO在连续微调场景中也表现出色,如在TRACE基准测试中,MoFO的表现优于传统的全参数微调方法,显示出更好的整体性能(OP)和更低的后向迁移(BWT)得分。

2. 未来工作

尽管MoFO已经取得了一定的成果,但仍有一些潜在的改进和应用方向。首先,MoFO的收敛性尚未完全解决,未来的研究可以探索如何优化MoFO的动量筛选机制以确保更稳定和快速的收敛。其次,考虑到MoFO在处理遗忘问题方面的有效性,将其应用于多模态LLM可能是一个有前景的研究方向,这可能进一步提升模型在更广泛应用场景中的表现。最后,结合其他连续学习策略,如经验重放或梯度修剪,可能会进一步增强MoFO的性能和灵活性。

总结

本文介绍了一种新的微调优化算法——Momentum-Filtered Optimizer(MoFO),旨在解决LLM在微调过程中的知识遗忘问题。通过在每次迭代中仅更新动量最大的参数子集,MoFO能够有效地减少参数移动,从而减轻灾难性遗忘,并保持甚至提升模型在特定任务上的性能。实验结果验证了MoFO在多种微调场景中的有效性,包括指令微调和连续微调。未来的工作将探索MoFO的进一步优化以及在多模态LLM中的应用潜力。

本文转载自 AI论文解读​,作者:柏企

收藏
回复
举报
回复
相关推荐