MEMoE: Enhancing Model Editing with Mixture of Experts Adaptors
MEMoE: Enhancing Model Editing with Mixture of Experts Adaptors
MOMoE:利用混合专家适配器增强模型编辑
作者/机构: Renzhi Wang (南京航空航天大学), Piji Li (南京航空航天大学)
A1 主要贡献
本文旨在解决大型语言模型(LLMs)在知识更新方面面临的挑战。由于现实世界的知识是动态变化的,LLMs需要定期更新以修正过时信息或整合新知识。然而,频繁地重训练或微调LLMs耗费巨大资源和时间,不切实际。因此,模型编辑(或知识编辑)技术应运而生,其目标是高效地修改LLMs对特定输入的响应,同时不影响对其他无关输入的性能。
核心问题:当前的模型编辑方法在评估的三个关键维度——可靠性(Reliability)、通用性(Generality)和局部性(Locality)上表现不佳。如图1所示,现有方法要么在通用性和局部性之间存在巨大差距,要么整体性能欠佳,未能同时实现高准确率和高平衡性。这凸显了在模型编辑中平衡通用性和局部性的挑战,并表明整体性能仍有很大的提升空间。
研究目标与创新点:为解决上述问题,本文提出了一个名为MOMoE的新型框架,该框架利用混合专家(MoE)架构和一种新颖的知识锚点路由策略来提升模型编辑的整体性能。
MOMoE的核心贡献如下:
1. 提出MOMoE框架:这是一种利用MoE架构和知识锚点路由策略进行模型编辑的新方法。
* 旁路MoE结构:MOMoE通过一个并行的MoE结构来更新知识,该结构作为适配器添加至模型的一层中,同时冻结所有原始模型参数。这种设计旨在最大程度地保留模型的通用能力,从而增强编辑的局部性。
* 知识锚点路由策略:该策略使路由器能够关注输入中的特定知识方面,确保需要相似知识的查询被路由到相同的专家。这种“专业的人做专业的事”的方法,旨在提升更新后知识的通用性。
- 实现SOTA性能:实验证明,MOMoE在批量编辑和序列批量编辑任务上均取得了当前最佳的编辑性能。它不仅实现了高准确率,还有效地平衡了通用性和局部性。
- 对通用能力影响小:进一步的实验证实,该方法对模型的通用能力影响极小,并对各种模型设置进行了详细分析。
图1:左图:除了我们的MOMoE,没有方法能同时实现高准确率和高平衡性。右图:当前方法的整体性能有显著的提升空间。
A3 模型编辑基础
模型编辑的任务定义:根据先前工作【51, A comprehensive study of knowledge editing for large language models, 2024, CoRR】, 【54, Editing large language models: Problems, methods, and opportunities, 2023, EMNLP】, 【29, Consecutive model editing with batch alongside hook layers, 2024, CoRR】,模型编辑任务旨在将一个初始的基础模型$f_{\theta}$($\theta$代表模型参数)有效地修改为一个编辑后的模型$f_{\theta'}$。其目标是根据一组指定的编辑实例$\{(x_i^e, y_i^e)\}_{i \in [1,N]}$来调整模型的响应,其中$f_{\theta}(x_i^e) \neq y_i^e$,同时保持其在所有其他实例上的行为不变。这组目标实例被称为编辑范围$I_{edit}$,而与编辑示例无关的输入集被称为范围外$O_{edit}$。一次成功的编辑可以正式表示为:
$$\begin{aligned} f_{\theta'}(x_i) = \begin{cases} y_i^e & \text{if } x_i \in I_{edit} \\ f_\theta(x_i) & \text{if } x_i \in O_{edit} \end{cases} \end{aligned}$$模型编辑的问题设置:通常分为四类【51, A comprehensive study of knowledge editing for large language models, 2024, CoRR】, 【29, Consecutive model editing with batch alongside hook layers, 2024, CoRR】:
1. 单次编辑 (Single Editing):评估模型在单次知识更新后的性能。
2. 批量编辑 (Batch Editing):评估模型在同时修改多个知识点时的性能($n \le N$代表批量大小)。
模型编辑的评估指标:成功的模型编辑器应满足以下三个属性【51, A comprehensive study of knowledge editing for large language models, 2024, CoRR】:
1. 可靠性 (Reliability):衡量编辑后模型$f_{\theta'}$在目标编辑上的平均准确率。
2. 通用性 (Generality):衡量模型$f_{\theta'}$在等价邻域$N_{edit}$(包含与$I_{edit}$相关的输入/输出对)中均匀抽取的样本上的平均准确率。
A2 方法细节
本节详细介绍MOMoE,一个基于MoE结构和知识锚点路由策略的模型编辑适配器,如图2所示。该方法旨在实现通用性与局部性之间的平衡,同时达成高精度的模型编辑。
3.1 MOMoE 架构
核心思想:旁路MoE与冻结原始参数。MOMoE的一个核心思想是通过旁路(bypasses)引入多个MoE风格的专家,以促进知识更新和学习,同时冻结LLM的所有原始参数,从而最大程度地保持其通用能力。图2的右侧展示了MOMoE的前向传播过程,它与左侧描绘的传统MoE既有相似之处也有不同之处。
与传统MoE的相似性:基于FFN的专家结构。与传统MoE相似,MOMoE在Transformer的前馈网络(FFN)中集成了一个包含多个并行专家的结构。选择FFN模块不仅因为它在MoE中的传统角色【20, Adaptive mixtures of local experts, 1991, Neural Comput.】,也符合近期知识探测技术的实验发现,即FFN内的MLP层存储了知识【7, Knowledge neurons in pretrained transformers, 2022, ACL】, 【33, Locating and editing factual associations in GPT, 2022, NeurIPS】, 【34, Mass-editing memory in a transformer, 2023, ICLR】。
图2:MOMoE的架构,与传统MoE的比较。相同颜色表示需要相同知识的输入。五角星象征输入句子中的知识锚点,而正方形和三角形分别代表编辑过程和通用性评估中的普通输入词元。FFN内词元的分布说明知识锚点将需要相同知识的输入整合到相同的专家中。
与传统MoE的差异性:旁路机制与单层适配。不同之处在于,MOMoE通过旁路机制(bypass mechanism)引入额外的并行专家,从而保留了模型的原始参数以增强模型编辑的局部性。这种旁路结构也为进一步提升模型编辑的通用性提供了潜力(详见§3.2)。此外,这种适配仅应用于模型的单层之中。选择性地在单层中添加适配器基于两个考虑:首先,之前的模型编辑技术已经证明,修改单层参数可以有效地实现知识更新【33, Locating and editing factual associations in GPT, 2022, NeurIPS】, 【34, Mass-editing memory in a transformer, 2023, ICLR】;其次,该策略进一步保持了原始模型的结构和参数,确保其通用能力得到最大程度的保留。
门控决策向量计算。具体来说,对于输入序列$X = \{x_i\}_{i=1}^L$中的词元$x_i$,拥有$E$个专家的MOMoE首先引入一个门控决策向量$G \in R^E$,它将不同的输入词元分派给不同的专家。该向量计算如下:
$$\mathcal{G}=\operatorname{top}_k\left(\operatorname{softmax}\left(\mathbf{W}_g \cdot R\left(x_i\right)+\epsilon\right)\right)$$其中,$R(\cdot)$定义了门控决策的路由策略(详见§3.2),$W_g$是门控决策中的可训练权重,而$\epsilon$表示噪声项。$\text{topk}(\cdot)$算子将除了前k个最大值之外的所有值都置为零。
专家输出的加权聚合。在获得门控决策向量$G$后,相应的输出$h_i$通过对每个专家在$x_i$上的计算结果进行加权聚合而生成,具体如下:
$$h_{i}=\sum_{e=1}^{E} \mathcal{G}_{e} \cdot \mathbf{W}_{e} \cdot x_{i}$$其中,$W_e$是第$e$个专家的线性投影权重,门控决策$G_e$决定了第$e$个专家对输出$h_i$的贡献程度。需要注意的是,对于$G_e = 0$的专家,无需进行计算,从而节省了计算资源。
MOMoE层的整体前向过程。总的来说,MOMoE层的前向传播过程,结合冻结的原始参数$W_0$,可以表示为:
$$h_i = \mathbf{W}_0 \cdot x_i + \lambda \sum_{e=1}^{E} \mathcal{G}_e \cdot \mathbf{W}_e \cdot x_i$$其中,$\lambda$是一个非负的加权系数,用于平衡新旧知识。
3.2 知识锚点路由
核心思想:基于知识锚点的路由策略。MOMoE的另一个核心思想是基于知识锚点的路由策略。受到MoE架构中专家专业化特性的启发【53, Pushing mixture of experts to the limit: Extremely parameter efficient moe for instruction tuning, 2023, CoRR】,我们的目标是在训练和测试阶段将需要相似知识的输入路由到同一个专家,从而在处理新知识时增强模型的通用性表现。
知识锚点的定义与作用。在MOMoE中,我们将输入句子中的命名实体定义为“知识锚点”。例如,在输入“Who is the president of the United States?”中,实体“president”和“United States”就是知识锚点。路由策略根据这些锚点将词元分配给合适的专家,确保需要相似知识的输入被路由到同一个专家。图2展示了FFN内部的词元分布,说明了这种效果。这种方法能更好地捕捉和保留输入数据中知识的语义关联。因此,它不仅增强了模型在处理知识时的通用性表现,也在一定程度上优化了专家的利用效率(在§5.2中得到验证)。
知识锚点路由策略的实现。具体而言,对于一个输入序列$X = \{x_i\}_{i=1}^L$,我们首先使用命名实体识别(NER)技术识别出$X$中的命名实体$x_{anchor}$。然后,我们通过模型的嵌入层获得已识别实体的向量表示,记为$\text{embed}(x_{anchor})$。为了帮助门控函数注意到知识锚点,我们使用了锚点嵌入和局部词元表示的组合。总的来说,知识锚点路由策略可以表示为:
$$R_{\text{anchor}}(x_i) = \text{concat}(x_i, \text{embed}(x_{\text{anchor}}))$$解决专家利用不平衡问题。此外,为了解决MoE中常见的专家利用不平衡问题,无论该问题是否由知识锚点的引入引起,我们都采用了辅助损失【11, Switch transformers: Scaling to trillion parameter models with simple and efficient sparsity, 2022, JMLR】来平衡路由的top-k选择。
A4 实验环境与结果
实验环境
-
数据集:
- ZsRE【26, Zero-shot relation extraction via reading comprehension, 2017, CoNLL】:一个无上下文的问答(QA)数据集,基于零样本关系抽取构建。
- COUNTERFACT【33, Locating and editing factual associations in GPT, 2022, NeurIPS】:一个更具挑战性的数据集,专注于与正确事实相比初始得分较低的反事实知识。
-
评估指标:可靠性(Reliability)、通用性(Generality)、局部性(Locality)以及这三个指标的平均分。
-
基线模型:
- 微调方法:FT-L、FT-M、LoRA。
- 定位与编辑方法:MEMIT。
- 元学习方法:MEND、COMEBA-HK。
- 基于内存的方法:SERAC、GRACE。
-
硬件配置:
- 训练使用4块NVIDIA RTX 3090 Tensor Core GPU,评估使用单块GPU。
-
软件与模型配置:
- 基础模型:GPT2-XL 和 LLaMA2-7B。
- 实验任务:批量编辑(Batch Editing)和序列批量编辑(Sequential Batch Editing)。
- 批量编辑设置:批大小为30,每次编辑后模型回滚到初始状态。
- 序列批量编辑设置:批大小为10,共进行1000次编辑,不进行回滚。
实验结果
批量编辑(Batch Editing)
在批量编辑设置下,MOMoE的性能如表1所示。
- 实验结果:在所有模型和所有指标上,MOMoE都取得了最佳分数。其可靠性得分均在90以上,通用性得分均在85以上,局部性得分更是达到了完美的100。
- 分析结论:MOMoE的改进非常显著。与GPT2-XL相比,它在LLaMA2-7B上的改进更为突出,准确率最高提升17.55点,通用性最高提升56.21点。这证明了MOMoE在批量编辑任务中的卓越性能和良好的平衡性。
表1:批量编辑结果。粗体为最佳结果,下划线为次佳结果。
序列批量编辑(Sequential Batch Editing)
在序列批量编辑设置下,对两个数据集的1000个样本进行评估,结果如表2所示。
* 实验结果:MOMoE在大多数情况下取得了最佳分数。它仅在某些指标上因GRACE【16, Aging with GRACE: lifelong model editing with discrete key-value adaptors, 2023, NeurIPS】达到100分而位居第二。
* 分析结论:与批量编辑结果相似,MOMoE在LLaMA2-7B上表现更优,在保持准确率和局部性接近100的同时,通用性优势显著。相比之下,GRACE虽然在可靠性和局部性上表现出色,但由于其使用码本记忆编辑实例,通用性表现很差,可能存在死记硬背问题。总体而言,所有方法在序列编辑任务上的可靠性和通用性普遍低于批量编辑,表明该领域仍有提升空间。
表2:序列批量编辑结果。粗体为最佳结果,下划线为次佳结果。
A7 补充细节:详细分析与讨论
本节对MOMoE的性能进行了进一步的评估和分析。首先,使用更广泛的任务数据集评估了MOMoE对模型通用能力的影响。其次,通过分析专家专业化现象,揭示了MOMoE通用性优势的潜在来源。最后,通过一系列广泛的消融研究,评估了各种模型配置(如专家数量、目标层和路由策略)的有效性。
5.1 通用能力测试
实验设置。为研究模型编辑对LLMs通用能力的潜在影响,我们遵循【14, Model editing can hurt general abilities of large language models, 2024, CoRR】的方法,选取了八个代表性的任务类别进行评估:
1. 推理:使用GSM8K数据集【5, Training verifiers to solve math word problems, 2021, CoRR】,评估解题率。
2. 自然语言推断 (NLI):使用RTE数据集【1, Machine Learning Challenges, Evaluating Predictive Uncertainty, Visual Object Classification and Recognizing Textual Entailment, 2006, First PASCAL Machine Learning Challenges Workshop, MLCW 2005】,评估双向分类准确率。
3. 开放域问答:使用Natural Question数据集【23, Natural questions: a benchmark for question answering research, 2019, TACL】,评估精确匹配(EM)。
4. 闭域问答:使用BoolQ数据集【4, Boolq: Exploring the surprising difficulty of natural yes/no questions, 2019, NAACL-HLT 2019】,评估EM。
5. 对话:使用MuTual数据集【6, Mutual: A dataset for multi-turn dialogue reasoning, 2020, ACL】,评估Recall4@1。
6. 摘要:使用SAMSum数据集【13, Samsum corpus: A human-annotated dialogue dataset for abstractive summarization, 2019, CoRR】,评估ROUGE-1, ROUGE-2, ROUGE-L的平均值。
7. 命名实体识别 (NER):使用CoNLL03数据集【42, Introduction to the conll-2003 shared task: Languageindependent named entity recognition, 2003, CoNLL】,评估实体级F1分数。
8. 情感分析:使用SST2数据集【46, Recursive deep models for semantic compositionality over a sentiment treebank, 2013, EMNLP】,评估双向分类准确率。
实验结果与分析。我们在LLaMA2-7B上基于批量编辑设置进行评估,并逐步增加批量大小。如图3所示,性能指标的任何增减都意味着对模型通用能力的影响。与MEMIT和MEND相比,MOMoE在各种批量编辑条件下均表现出持续稳定的模型性能。随着批量大小和编辑样本的增加,MEMIT和MEND都显著削弱了模型的通用能力,而MOMoE的影响波动范围较小。这进一步证实了MOMoE在§4.2中展示的局部性得分优势。
图3:使用MOMoE、MEMIT和MEND编辑后模型在通用任务上的性能,编辑时采用不同批量大小。
5.2 专家专业化
验证假设。如3.2节所述,我们假设知识锚点路由能够将需要相似或相同知识的输入引导至同一专家,从而提高通用性。此假设包含两部分:(1)相同知识由同一专家处理;(2)相似知识由同一专家处理。我们对此进行验证。
定义相似与相同知识。我们定义“需要相同知识的输入”特指目标为同一知识的编辑输入和通用性测试输入。例如,训练输入“美国总统是谁?”和通用性测试输入“谁目前担任美国总统职位?”需要相同的知识:“乔·拜登是美国总统”。相比之下,“相似知识”指包含语义相关知识的输入(基于语义距离)。我们使用传统的K-means算法,基于余弦相似度将ZsRE中的所有数据聚类成5组,定义同一组ID的知识为相似知识。
一致性指标设计。我们设计了一致性 (Consistency) 指标来评估相似或相同知识被同一专家处理的程度。具体来说,对于第$k$组中的输入序列$S_k = \{x_i\}_{i=1}^L$,处理该组中大多数知识的专家$E_k$被用作基准真值,该组的一致性定义为:
$$\mathbb{E}_{x_{i} \sim S_{k}} \mathbb{1}\left\{E_{k}=R_{\text {anchor }}\left(x_{i}\right)\right\}$$其中,$R_{anchor}$是由公式12定义的知识锚点路由。对于通用性测试输入,其基准真值是处理包含相同知识的相应训练输入的专家。总体一致性分数为所有组的平均值。
实验结果与分析。为了全面分析专家路由在处理不同知识输入时的行为,我们首先基于4.2节中训练好的MOMoE模块进行静态分析。即编辑数据固定,我们仅通过模型推理过程分析专家行为。然后,我们动态选择待编辑的知识作为输入,观察知识锚点路由的行为。结果如表3所示。随着输入知识类别集中度的增加,专家的一致性也随之提高,同时通用性也上升。此外,处理相同知识的同一专家的一致性更高,且与通用性得分紧密相关。考虑到准确率近乎完美,我们推测通用性评估中的错误可能是由于输入被错误地路由到不正确的专家所致。对通用性测试中失败案例的分析支持了这一假设。遵循“专业的人做专业的事”原则,将需要相似或相同知识的输入路由到同一专家的策略被证明能有效提高知识的通用性。
表3:专家特定实验结果。“Dynamic”表示我们动态选择输入数据,而“Static”指使用先前实验训练的模型进行评估。“id”代表组别ID。“Similar”指相似知识,“same”指相同知识。
5.3 消融研究
专家数量的影响。专家数量如何影响MOMoE的性能?图4左图展示了不同专家数量下MOMoE的性能。受计算资源限制,我们最多只能增加6个额外专家。我们发现,模型编辑的可靠性和局部性不随专家数量变化而改变,既没有下降也没有提升。然而,知识的通用性随着专家数量波动,在专家数量为4时达到峰值。受【53, Pushing mixture of experts to the limit: Extremely parameter efficient moe for instruction tuning, 2023, CoRR】启发,我们假设这个最佳专家数量与编辑的批量大小有关。当编辑样本数量不大时,更多的专家可能会引入干扰,从而降低通用性。
目标层的影响。应用MOMoE的最佳层是哪一层?如图4中图所示,与专家数量实验结果类似,可靠性和局部性得分保持不变,只有通用性得分出现波动,并在第16层达到峰值。这些验证实验中确定的最佳编辑层与【33, Locating and editing factual associations in GPT, 2022, NeurIPS】中使用知识探针技术得到的结果一致。结合以上实验发现,我们可以推断,准确率和局部性性能是由旁路MoE结构的特性内在保证的,这与§3.1中讨论的MOMoE设计原则一致。
路由策略:软性 vs 离散。MOMoE中最佳的路由策略是什么?图4右图展示了使用不同路由策略时MOMoE的性能。具体来说,我们比较了专家的软性合并【53, Pushing mixture of experts to the limit: Extremely parameter efficient moe for instruction tuning, 2023, CoRR】与离散的top-1、top-2和top-3路由策略。top-1路由设置取得了最佳性能。此外,基于§5.2中介绍的实验,我们检查了不同k值下路由的一致性得分。我们观察到,随着k的增加,参与计算的专家增多,但一致性得分下降。我们认为,这种专家利用的不一致性导致了通用性性能的下降。附录E中更详细的实验结果表明,无论专家数量和目标层如何,top-1的性能始终是最好的。此外,离散的top-1路由在计算效率上具有优势,因为它在推理时仅需激活一个专家。
图4:左图:不同专家数量下的性能。中图:不同目标模型层下的性能。右图:激活专家的有效性。所有实验均基于LLaMA2-7B,使用ZsRE数据集和批量编辑设置。
批量编辑 vs 序列编辑。从表1和表2可以看出,MOMoE在批量编辑任务上比序列编辑任务表现出显著的性能优势。为了进一步评估MOMoE在批量编辑中的能力,我们逐步增加了批量大小。实验结果如表4所示。当批量编辑的批量大小达到1000(与序列批量编辑的总数相同)时,MOMoE表现出显著的性能优势。可靠性和局部性几乎不受批量大小增加的影响,保持在接近100。同时,通用性得分高出33.07点,凸显了MOMoE在批量编辑中的性能优势。至于在序列编辑中性能下降的原因,我们对失败案例的分析表明,这可归因于灾难性遗忘:较早完成的编辑更容易出错。
表4:大批量编辑与序列批量编辑的比较。
A5 结论
本文提出了MOMoE,一个利用MoE架构和知识锚点路由策略的模型编辑适配器。MOMoE使用旁路MoE结构更新知识,并保持原始参数不变以保留模型的通用能力。知识锚点确保了需要相似知识的问题由同一专家处理,从而增强了更新知识的通用性。实验结果表明,我们的方法显著超越了所有对比基线。MOMoE展示了近乎完美的准确率和接近100的局部性得分,以及超过90的通用性得分,这为模型编辑技术的实际应用带来了令人振奋的前景。
A6 附录
A 局限性
序列批量编辑性能。首先,尽管所提方法取得了显著进步,在批量编辑中得分接近100,但其在序列批量编辑任务中的性能仍然相对较低,需要进一步提升。未来,我们将尝试设计合适的持续学习策略,以缓解序列批量编辑任务中的灾难性遗忘问题。
应用领域的局限性。其次,MOMoE的优异性能表明模型编辑技术在特定领域(如医疗和教育)具有令人兴奋的实际应用潜力。然而,本研究仅限于在主流模型编辑数据集上进行测试。未来的工作可以包括在领域特定数据集上进行性能测试,以进一步推动模型编辑技术的应用。此外,模型编辑技术可以应用于各种类型的任务。具体来说,除了事实知识编辑,它们还可以用于消除幻觉、偏见和隐私信息。然而,我们的实验仅关注于通用编辑任务(如批量编辑和序列批量编辑),这些任务在模型编辑中研究得相对充分且被普遍评估,并未涉及缓解幻觉等问题。
模型规模与架构的局限性。第三,由于硬件限制,我们主要研究了参数规模达70亿的模型。同时,我们专注于仅解码器的自回归模型,忽略了编码器-解码器结构,因为当代主流模型普遍采用自回归架构【38, GPT-4 technical report, 2023, CoRR】, 【48, Llama 2: Open foundation and finetuned chat models, 2023, CoRR】。未来的研究若能使用更大规模和不同架构的模型复制我们的研究,将有助于证实我们的发现。
B 相关工作
B.1 模型编辑
模型编辑的定义与目标。模型编辑是一个新兴且活跃的研究领域,其目标是对预训练模型的行为进行有针对性的改变【54, A comprehensive study of knowledge editing for large language models, 2024, CoRR】。鉴于大型语言模型(LLMs)参数规模的快速增长,通过重训练频繁地用新知识更新LLMs变得越来越昂贵。因此,有效地编辑LLMs的知识而不进行重训练至关重要。以往的研究探索了多种编辑LLMs知识的方法,根据是否改变原始模型参数,大致可分为两类【51, A comprehensive study of knowledge editing for large language models, 2024, CoRR】:
保留模型参数的方法。
1. 检索增强。这种方法使用外部知识库来存储新的或正确的知识。新的知识库与基础模型无缝集成,便于响应提示时检索相关信息【37, Fixing model bugs with natural language patches, 2022, EMNLP】, 【32, Memory-assisted prompt editing to improve GPT-3 after deployment, 2022, EMNLP】, 【28, Large language models with controllable working memory, 2023, ACL】。例如,IKE【55, Can we edit factual knowledge by in-context learning?, 2023, EMNLP】采用上下文学习方法,利用从语料库中根据相似性指导下源的示例来调整LLMs的输出,从而避免了梯度计算。
2. 添加额外参数。这种范式在冻结原始参数的同时,向LLMs引入代表新知识的额外可训练参数。T-Patcher【19, Transformer-patcher: One mistake worth one neuron, 2023, ICLR】和CaliNET【8, Calibrating factual knowledge in pretrained language models, 2022, EMNLP】都在前馈网络(FFN)的最后一层集成了神经元或补丁,其中T-Patcher为每个错误使用一个神经元,而CaliNET为各种知识案例集成了多个神经元。相反,GRACE【16, Aging with GRACE: lifelong model editing with discrete key-value adaptors, 2023, NeurIPS】利用离散码本随时间添加和更新元素,从而允许修改模型的预测。
修改模型参数的方法。这种方法首先识别与特定知识相关的参数,然后直接调整它们。“知识神经元”(Knowledge Neuron, KN)技术【7, Knowledge neurons in pretrained transformers, 2022, ACL】引入了一种知识归因方法,以精确定位“知识神经元”,然后更新这些神经元。ROME【33, Locating and editing factual associations in GPT, 2022, NeurIPS】采用因果中介分析来确定需要修改的区域。KN和ROME都仅限于一次编辑一个事实关联。为解决此限制,MEMIT【34, Mass-editing memory in a transformer, 2023, ICLR】在ROME的框架基础上进行了扩展,允许同时对多个案例进行编辑。在MEMIT的基础上,PMET【30, PMET: precise model editing in a transformer, 2023, CoRR】结合了注意力值以实现更优的性能。
B.2 混合专家(Mixture of Experts)
MoE的背景与发展。混合专家(MoE)在大型语言模型时代得到了深入研究【21, Mixtral of experts, 2024, CoRR】,成为一种有效增加模型参数容量,同时保持与密集模型相当的计算效率的方法【20, Adaptive mixtures of local experts, 1991, Neural Comput.】。传统上,MoE用稀疏激活的专家模块替代标准的前馈神经网络层。在MoE的背景下,有大量工作专注于改进路由机制【17, Dselect-k: Differentiable selection in the mixture of experts with applications to multi-task learning, 2021, NeurIPS】, 【27, BASE layers: Simplifying training of large, sparse models, 2021, ICML】, 【56, Mixture-of-experts with expert choice routing, 2022, NeurIPS】, 【58, Taming sparsely activated transformer with stochastic experts, 2022, ICLR】,从通过加权平均激活所有专家【10, Learning factored representations in a deep mixture of experts, 2014, ICLR】到稀疏地选择单个或k个专家【11, Switch transformers: Scaling to trillion parameter models with simple and efficient sparsity, 2022, JMLR】, 【9, Glam: Efficient scaling of language models with mixture-of-experts, 2022, ICML】。目前,词元级MoE架构广泛应用于预训练语言模型和基于视觉的模型中【44, Outrageously large neural networks: The sparsely-gated mixture-of-experts layer, 2017, ICLR】, 【25, Gshard: Scaling giant models with conditional computation and automatic sharding, 2021, ICLR】, 【9, Glam: Efficient scaling of language models with mixture-of-experts, 2022, ICML】, 【41, Scaling vision with sparse mixture of experts, 2021, NeurIPS】。
C 数据集详情
ZsRE数据集。ZsRE【26, Zero-shot relation extraction via reading comprehension, 2017, CoNLL】是一个在模型编辑文献中被广泛研究的无上下文问答(QA)数据集,它使用通过反向翻译生成的问句重述作为等价邻域。我们采用了【51, A comprehensive study of knowledge editing for large language models, 2024, CoRR】提出的ZsRE扩展版本。
COUNTERFACT数据集。与此相反,COUNTERFACT【33, Locating and editing factual associations in GPT, 2022, NeurIPS】提出了一个艰巨的挑战,它专注于反事实信息,通常与事实查询相比产生较低的预测准确率。该数据集通过用一个相似的描述符替换主要实体,同时保持相同的谓词来构建范围外实例。
数据集样本示例。图5(a)展示了ZsRE数据集的一个示例。ZsRE中的每个条目包括主语字符串、用于评估可靠性的事实提示、用于评估通用性的重述提示,以及用于评估上下文相关性的局部性提示。需要注意的是,局部性提示的目标不是预测真实答案,而是反映基础模型的预测。同样,COUNTERFACT数据集(图5(b))中每个条目内的事实、重述和局部性提示分别对应于各自指标的评估。在我们的实验中,我们使用基础模型(GPT2-XL和LLaMA2-7B)的原始输出作为评估局部性指标的基准真值。
图5:(a) ZsRE 和 (b) COUNTERFACT 的样本。
D 基线和实现细节
MOMoE实现细节。在§4.2和§4.3的主要实验中,MOMoE的专家数量为4,top-k值为1,这是在当前计算资源下取得最佳实验结果的配置。对于LLaMA2-7B,修改应用于第16层;对于GPT2-XL,修改应用于第18层(与ROME的发现一致【33, Locating and editing factual associations in GPT, 2022, NeurIPS】)。我们还遵循Switch Transformers【11, Switch transformers: Scaling to trillion parameter models with simple and efficient sparsity, 2022, JMLR】的方法,采用了辅助损失来平衡路由的top-k选择。我们使用NLTK工具包从输入文本中提取命名实体。此外,当输入中存在多个命名实体时,我们使用这些实体嵌入的平均池化作为知识锚点【49, Semantic are beacons: A semantic perspective for unveiling parameterefficient fine-tuning in knowledge learning, 2024, arXiv】。所有实验的学习率为2e-4,批量编辑任务的训练时间约为两分钟,序列编辑任务的训练时间约为一小时。
基线模型实现细节。以下是基线模型的实现细节【29, Consecutive model editing with batch alongside hook layers, 2024, CoRR】:
* 微调 (Fine-tuning):
* FT-L:遵循【34, Mass-editing memory in a transformer, 2023, ICLR】, 【33, Locating and editing factual associations in GPT, 2022, NeurIPS】的流程,对GPT-2 XL的第0层和LLaMA2-7B的第16层的mlp_proj参数进行微调。使用Adam优化器【22, Adam: A method for stochastic optimization, 2015, ICLR】,学习率为5e-4,进行25个优化步骤。
* FT-M:FT-L的一个微小变体,主要区别在于其参数优化的损失计算过程。
* LoRA【18, Lora: Low-rank adaptation of large language models, 2022, ICLR】:一种参数高效的微调方法。我们设置学习率为1e-3,秩为8,α为32,dropout率为0.1。GPT2-XL的更新步数为30,LLaMA2-7B为50。
- MEND【35, Fast model editing at scale, 2022, ICLR】:通过操纵语言模型的梯度来进行模型编辑。我们遵循默认超参数设置,为GPT-2 XL在ZsRE和COUNTERFACT数据集上分别训练了两个元网络。由于训练LLaMA2-7B的元网络需要大量计算资源,我们未对其进行训练。
- SERAC【36, Memory-based model editing at scale, 2022, ICML】:一种内存增强的编辑方法,使用外部缓存存储编辑实例。我们为GPT2-XL和LLaMA2-7B在各自的数据集上独立训练了两个模型,使用
distilbert-base-cased【43, Distilbert, a distilled version of BERT: smaller, faster, cheaper and lighter, 2019, CoRR】作为范围分类器,所有超参数保持默认设置。 - MEMIT【34, Mass-editing memory in a transformer, 2023, ICLR】:将Transformer的前馈层视为线性关联内存。我们遵循原始论文的方法,调整了已识别关键路径内的层,并根据原始研究的发现确定了平衡因子λ的最佳值。
- GRACE【16, Aging with GRACE: lifelong model editing with discrete key-value adaptors, 2023, NeurIPS】:引入了一种旨在保留初始模型参数并集成动态码本的编辑技术。我们遵循原始研究中精心设计的参数,将学习率优化值配置为1,迭代优化100个周期,初始ϵ值为1。
- COMEBA-HK:COMEBA-HK在GPT2-XL上的实验结果来源于其研究论文【29, Consecutive model editing with batch alongside hook layers, 2024, CoRR】。由于该论文未提供在LLaMA2-7B上的实验结果且未公开代码,我们研究中的某些结果不包括此方法。
E 附加实验结果
本节提供了关于不同路由输入和不同模型配置的附加实验和讨论。
E.1 不同的路由输入
词元级路由 (Token-Level Routing)。类似于原始MoE【20, Adaptive mixtures of local experts, 1991, Neural Comput.】, 【11, Switch transformers: Scaling to trillion parameter models with simple and efficient sparsity, 2022, JMLR】,词元级MoE直接使用词元表示作为路由策略,可写作:
词元级MoE的路由策略是一个恒等函数,其中门控决策仅依赖于每个词元自身的表示【57, Uni-perceivermoe: Learning sparse generalist models with conditional moes, 2022, NeurIPS】。
句子级路由 (Sentence-Level Routing)。我们采用一种比较方法,使用句子级信息而非知识锚点来引导路由行为。我们将输入句子的句子嵌入替换为知识锚点作为输入。使用句子级信息的路由策略可表示为:
其中,concat(·)表示连接操作,$X = {x_i}_{i=1}^L$是当前输入中所有词元的序列。
结果与分析。图5(应为表5)中描绘的比较结果表明,不同的输入仅影响模型的通用性能力。出乎意料的是,与句子级信息相比,更简单的词元信息似乎能产生更好的性能。我们假设这可能是由于输入中知识的稀疏性(即输入句子中有信息量的词元远少于其他词元),句子级信息引入了过多的噪声,从而产生了负面影响。
表5:不同路由输入的结果。实验基于LLaMA2-7B模型和ZsRE数据集,采用批量编辑设置。
E.2 不同的模型配置
实验结果。我们在表6中提供了不同专家数量、目标层和top-k设置下的结果。实验结果表明,在各种参数设置下,MOMoE始终表现出杰出的整体性能,充分说明了其方法的优越性。此外,模型可靠性和局部性得分的微小波动证实了准确率和局部性性能是由旁路MoE结构的特性内在保证的,这与§3.1中讨论的MOMoE设计原则一致。
表6:不同MOMoE配置的附加实验结果。
💬 评论讨论
欢迎在这里分享您的想法和见解!