更新大语言模型的直接网络层编辑方法
自动化方法利用梯度识别关键层,防止对已见数据的回归现象。
研究背景
大型语言模型(LLMs)的一大吸引力在于它们能编码现实世界的信息。但世界在不断变化,而LLM的信息新鲜度仅取决于其训练数据。训练一个LLM可能需要数月时间,即使任务在1000台服务器上并行处理,因此AI研究人员寻求更新LLM知识的替代方法。其中一种方法是直接编辑LLM的特定层,以提高其在特定基于知识的任务上的性能。这是一个特定于任务的解决方案,不是通用解决方案,但实施只需数小时而非数月。
现有技术局限
现有的直接层编辑技术通常需要手动选择要编辑的层,或者需要耗时来确定哪些层的编辑效果最佳。在计算语言学协会欧洲分会2024年会议上,我们提出了一种自动选择要编辑层的新方法,相比之前的自动化方法能产生更准确的更新。与先前手动层选择方法相比,它还限制了回归现象,即模型在先前正确处理的数据上出现更新后的倒退。在某些数据集上,我们的方法(称为SaLEM)将回归减少了一个数量级,同时在新数据上提供了等效的准确性。
层识别方法
我们考虑的情况是LLM已在特定任务上进行了微调,例如确定一个输入句子是否在逻辑上蕴含或支持另一个句子。在这种情况下,模型输入通常是一对文本,输出是诸如"蕴含"或"支持"之类的决策。
在先前的手动层选择方法(称为因果追踪)中,每个训练示例的第一个标记被馈送到模型,然后是第一个和第二个,接着是第一个、第二个和第三个,依此类推。然后重复此过程,但掩码模型的一个层。这个两步分析必须依次对网络的每个层重复,这是一个耗时的过程。
在我们的方法中,我们准备一个"编辑数据集",包含来自三组的输入-输出对:(1)通过样本,现有模型对其输出正确答案;(2)失败样本,现有模型对其输出错误答案;以及(3)适应样本,这些样本在语义上等同于失败样本但措辞不同。
对于每个样本,我们计算现有模型输出与目标输出之间的损失以及相应的梯度——使正确输出更有可能的模型权重修改。然后我们平均模型每个层和所有训练样本的梯度。具有最高平均梯度的层——即需要最大修改以适应世界新事实的层——就是我们要编辑的层。
层编辑过程
为了编辑选定的层,我们使用了某机构研究人员在2022年提出的MEND方法。使用MEND时,第二个机器学习模型(编辑器模型)被训练为基本上以梯度作为输入并输出参数编辑。
但模型的输入不是原始梯度,而是梯度的低秩近似,通过识别大多数方差发生的轴来降低数据维度。这类似于梳理出较大梯度的根本原因,有助于模型更好地泛化。我们还通过在计算其低秩近似之前将梯度聚合成10个批次来防止过拟合。
我们使用两个训练目标来训练编辑器:一个最大化失败和适应集输入上正确答案的可能性,另一个最小化通过集输入上的输出分歧。这有助于防止回归。
在原始的MEND论文中,研究人员使用这种方法编辑微调LLM的顶部三层,这是在编辑效率、输出校正和回归预防之间进行权衡的合理启发式方法。由于SaLEM识别了与新模型更新最相关的一个层,它可以匹配MEND在新数据上的性能。但由于它修改一个层而不是三个层的参数,因此减少了回归。
实验评估
我们在六个用于在自然语言处理任务上微调LLM的数据集上评估了SaLEM。其中四个数据集与自然语言推理有关,一个是问答数据集,还有一个是用于标准LLM任务的下一个标记预测的数据集。对于问答和生成任务,我们在四种不同的LLM架构上比较了SaLEM和基线方法。我们使用编辑准确性(即对新数据的编辑后准确性)和回撤(衡量对旧数据的回归)来测量性能。
在推理任务上,SaLEM匹配了表现最佳者的编辑准确性,但回撤明显更好——在两个数据集上比表现第二好的方法好四到十倍。在另外两个任务上,SaLEM在两个指标上都仅次于称为可编辑神经网络(ENN)的方法。但ENN需要同时运行两个LLM副本,这很耗费资源。实际上,对于我们测试的四种LLM架构中的两种,由于计算需求,我们无法运行ENN。
持续研究
在正在进行的工作中,我们正在研究:(1)用更好的失败样本及其语义和反事实等价物丰富编辑数据集;(2)更好的权重更新机制,以告知编辑器关于边界实例的更新程度;(3)一种无需将完整模型加载到内存中即可执行编辑的方法,就像我们当前所做的那样。