通过直接编辑网络层更新大语言模型
大型语言模型(LLMs)的核心吸引力在于其对现实世界信息的编码能力。然而世界持续变化,而LLMs的信息新鲜度取决于其训练数据的时间点。训练一个LLM可能需要数月时间,即使是在上千台服务器并行计算的情况下。因此研究人员寻求更新LLM知识的替代方案,其中一种方法是直接编辑LLM的特定网络层来提升其在特定知识任务上的表现。这是一种任务特定型解决方案,虽然并非通用方案,但实施仅需数小时而非数月。
技术挑战与创新
现有层编辑技术通常需要手动选择待编辑层,或通过耗时流程确定最有效的编辑层。在计算语言学协会欧洲分会2024年会议上,我们提出了一种自动选择编辑层的新方法,相比之前的自动化方法能实现更精确的更新。与人工选择层的因果追踪方法相比,该方法还能限制回归现象(即模型在更新后对先前正确处理数据的性能倒退)。在某些数据集上,我们称为SaLEM(关键层编辑模型)的方法将回归降低了一个数量级,同时在新数据上保持等效准确性。
关键层识别机制
当LLM针对特定任务(如判断句子间逻辑蕴含关系)进行微调后,模型输入通常是文本对,输出则是"蕴含"或"支持"等决策。传统因果追踪方法需要逐层掩码分析,过程耗时。SaLEM方法采用包含三组数据的编辑数据集:
- 通过样本:现有模型输出正确答案的样本
- 失败样本:现有模型输出错误答案的样本
- 适配样本:与失败样本语义相同但表述不同的样本
通过计算模型输出与目标输出的损失值及对应梯度,并跨层平均梯度值,选择平均梯度最高的层进行编辑——这是最需要修改以适应新事实的层。
层编辑实施流程
采用斯坦福大学研究人员2022年提出的MEND方法进行层编辑。该方法通过训练编辑器模型,以梯度作为输入并输出参数编辑。输入数据采用梯度的低秩近似,通过识别方差最大的轴来降低数据维度,这有助于提取大梯度的根本原因并提升模型泛化能力。为防止过拟合,在计算低秩近似前以10个样本为批次聚合梯度。
双重训练目标
编辑器训练采用两个目标:
- 最大化失败集和适配集输入的正确答案概率
- 最小化通过集的输出差异 这有效防止了回归现象。原始MEND方法编辑微调LLM的顶部三层,而SaLEM因识别出最需要更新的单层,能在保持新数据性能的同时,通过单层参数修改减少回归。
实验验证
在六个用于LLM微调的自然语言处理数据集上评估SaLEM,其中四个涉及自然语言推理,一个问答数据集和一个下一代词预测任务。针对问答和生成任务,在四种不同LLM架构上比较SaLEM与基线方法,同时衡量编辑准确性(新数据上的后编辑准确率)和回调率(旧数据上的回归程度)。
在推理任务中,SaLEM在编辑准确性上与最佳表现者持平,但回调率显著更优——在两个数据集上分别比第二名好四倍和十倍。在另外两个任务中,SaLEM在两项指标上均次于可编辑神经网络(ENN)方法,但ENN需要同时运行两个LLM副本,资源消耗巨大。事实上,在测试的四种架构中,有两种因计算需求过高无法运行ENN。
未来研究方向
当前工作重点包括:
- 通过更好的失败样本及其语义与反事实等价样本丰富编辑数据集
- 开发更好的权重更新机制以处理边界情况
- 研究无需将完整模型加载到内存的编辑方法