来自:复旦NLP
在预训练语言模型的微调阶段,当需要在更多的下游任务上提升模型性能,或者在某一特定任务上显著增强模型的能力时,扩大微调数据集是一种直接有效的方法。
然而,复旦大学自然语言处理实验室在实验中发现:当大规模增加微调数据时,会显著破坏语言模型原本存在的世界知识,即微调数据的大规模扩增 与 模型世界知识维持 之间存在冲突。本文随后通过实验详细的分析了这一冲突现象,将知识遗忘的发生归结为模型参数的大幅度变化。
为了解决冲突问题,本文进而使用基于插件的微调方法,并提出了一种全新的类似于混合专家(Mixture of Experts, MoE)架构的微调插件 LoRAMoE。LoRAMoE在微调阶段通过引入局部平衡约束损失(Localized balancing constraint),能够在微调阶段缓解知识遗忘的同时,提高了模型在下游多任务的表现。
访问 https://arxiv.org/abs/2312.09979
或点击 阅读原文 获取原文链接
论 文 内 容
摘要:有监督微调(SFT)是大型语言模型(LLM)应用的一个关键步骤,它使语言模型模型能够与人类指令对齐,并提高其在下游任务中的能力。当模型需要与更广泛的下游任务保持一致,或者希望显著提高在特定任务上的表现时,大规模增加微调数据通常成为解决方案。然而我们发现,指令数据的大规模扩增可能会破坏LLM中之前储存的世界知识,即世界知识遗忘。在这篇论文中,我们提出使用LoRAMoE来应对上述挑战。LoRAMoE是一种专家混合(MoE)的插件版本。插件形式确保了在训练阶段冻结主模型,保证了主模型世界知识的完整性。我们进而提出使用局部平衡约束来驱使某些专家专注于下游任务,同时使其他专家能够充分利用主模型中存储的世界知识,以防止知识遗忘。实验结果表明,LoRAMoE可以在推理时基于数据类型合理地协调专家,即使大幅提高指令数据量也不会导致知识遗忘。此外,LoRAMoE还能够显著提高下游任务表现,表明我们的方法在多任务学习具有潜在的应用前景。
Findings: 大规模指令微调与模型世界知识的维持存在冲突
本文选取了跨越知识问答、代词消歧、摘要、阅读理解、NLI、机器翻译、文本分类等七种任务的,超过500万条训练数据,对LlaMA-2-7B进行微调。
本文首先验证了,虽然LIMA提出将LLM与人类对齐不需要很多指令数据,但是当任务种类显著增加,或希望显著提高任务的表现时,大规模增加指令数据仍然是一种有效的解决方案(如图1左所示)。
本文进而发现,当指令数据显著增加时,会严重降低模型在Closed-Book Question Answering (CBQA)数据集上的表现(如图1右和图2所示)。
我们猜想CBQA数据集上的表现严重降低与模型的世界知识遭到破坏有关。
为了探究上述猜想,本文通过进一步的实验发现:
1. 模型仅使用CBQA的训练集(问答形式)微调时,模型在验证集上的表现在训练前期会快速提高(这表明模型通过学习QA任务格式,与世界知识对齐)。
2. 在训练的中后期,模型在数据集上的表现则相对稳定(CBQA难以通过在训练集上训练的方式提高验证集上的能力)。即模型在知识问答任务上的能力很大程度上来自于预训练中学到的世界知识。
本文进而探究世界知识消失的原因。我们使用两个阶段来微调模型。首先使用排除知识问答的训练数据集对模型进行微调,其次继续使用知识问答数据集对模型进行微调,发现模型的知识问答能力依然很低(如下表所示)。
这表明大规模指令微调过程会显著改变模型的参数(如图1右红色线所示),从而破坏模型在预训练阶段存储的世界知识,且这一过程是不可逆的。
总的来说,大规模的指令微调会显著改变预训练模型的参数,从而降低模型的世界知识。即大规模指令微调和世界知识保留存在冲突。
LoRAMoE
为了解决上述冲突,缓解知识遗忘现象,本文提出LoRAMoE。LoRAMoE是一种类MoE架构的插件微调方式。
基于插件的微调(例如LoRA)能够将参数的改动集中在额外引入的插件中,从而保证了模型知识的完整性,有机会引入其他插件来通过与主模型的交互来缓解知识遗忘。
LoRAMoE引入了多个与前反馈神经网络并列的专家,并通过路由相连(如图4所示)。LoRAMoE在训练阶段使用局部平衡约束(详见原文),这种约束能够让专家自动划分为两个组:使一部分专家在专注于做下游任务的同时,另一部分专家专注于将指令与主模型的世界知识对齐,以缓解世界知识遗忘。
同时局部平衡约束还能防止单个专家组内的专家退化现象,即使路由平衡的关注于单个专家组的所有专家,防止个别专家长期占据优势,而其他专家未被充分训练或使用。这有助于专家之间相互配合以提高下游任务能力。
微调后的LoRAMoE中的路由能够根据数据类型灵活地关注相应的专家,并使专家们相互配合,在保证下游任务表现的同时,也几乎不丧失世界知识。
实验结果
实验结果(如表2所示)表明,基于LoRAMoE的微调能够在指令数据大规模增加时,也不会导致知识遗忘现象。同时因为专家之间的相互配合,使得在一些下游任务上也有提升。
通过可视化结果表明(如图7所示),经过微调后的LoRAMoE能够在推理不同任务时关注不同的专家组,从而缓解知识遗忘。具体而言,在进行CBQA任务时,路由更多的关注于负责调用主模型世界知识的专家组。而在推理例如ReCoRD等任务时,路由则会侧重于负责下游任务的专家组。值得注意的是,在一些语言类(例如WSC和Flores)任务中,路由则会较为平衡的使用两个专家组,使模型在这种任务上仍然具有良好的表现。
实验结果
本文首次探究了当大规模增加微调数据时,会显著破坏语言模型原本存在的世界知识这一现象,验证了微调数据的大规模扩增与模型世界知识维持之间存在冲突。本文将知识遗忘的发生归结为模型参数的大幅度变化。
为了解决冲突问题,本文提出了一种全新的类似于混合专家(Mixture of Experts, MoE)架构的微调插件 LoRAMoE。LoRAMoE在微调阶段通过引入局部平衡约束损失(Localized balancing constraint),能够在微调阶段缓解知识遗忘的同时,提高了模型在下游多任务的表现。
备注:昵称-学校/公司-方向/会议(eg.ACL),进入技术/投稿群
id:DLNLPer,记得备注呦