SelfAug: Mitigating Catastrophic Forgetting in Retrieval-Augmented Generation via Distribution Self-Alignment

📄 arXiv: 2509.03934v1 📥 PDF

作者: Yuqing Huang, Rongyang Zhang, Qimeng Wang, Chengqiang Lu, Yan Gao, Yi Wu, Yao Hu, Xuyang Zhi, Guiquan Liu, Xin Li, Hao Wang, Enhong Chen

分类: cs.CL, cs.AI

发布日期: 2025-09-04

🔗 代码/项目: GITHUB


💡 一句话要点

提出SelfAug,通过自对齐分布缓解RAG中的灾难性遗忘问题

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 灾难性遗忘 检索增强生成 自分布对齐 大型语言模型 持续学习

📋 核心要点

  1. RAG微调虽能提升特定任务性能,但易导致灾难性遗忘,模型丧失原有知识和泛化能力。
  2. SelfAug通过自对齐输入序列logits,保持模型语义分布,从而缓解灾难性遗忘。
  3. 实验表明,SelfAug在下游任务学习和通用能力保持间取得更好平衡,有效缓解灾难性遗忘。

📝 摘要(中文)

大型语言模型(LLMs)的最新进展,通过其在理解和执行各种任务方面的卓越能力,彻底改变了自然语言处理。虽然有监督的微调,特别是在检索增强生成(RAG)场景中,有效地提高了特定任务的性能,但它通常会导致灾难性遗忘,即模型丢失了先前获得的知识和通用能力。现有的解决方案要么需要访问通用指令数据,要么在保持模型原始分布方面面临限制。为了克服这些限制,我们提出了一种自分布对齐方法SelfAug,该方法对齐输入序列logits以保持模型的语义分布,从而减轻灾难性遗忘并提高下游性能。大量的实验表明,SelfAug在下游学习和通用能力保持之间取得了卓越的平衡。我们全面的实证分析揭示了分布偏移与RAG场景中灾难性遗忘的严重程度之间的直接相关性,突出了通用指令调整中缺乏RAG能力如何导致微调期间的显着分布偏移。我们的发现不仅加深了对RAG上下文中灾难性遗忘的理解,而且还提供了一种适用于各种微调场景的实用解决方案。我们的代码已在https://github.com/USTC-StarTeam/SelfAug上公开发布。

🔬 方法详解

问题定义:论文旨在解决检索增强生成(RAG)场景下,大型语言模型(LLMs)在进行有监督微调时出现的灾难性遗忘问题。现有方法要么依赖于通用指令数据,这在实际应用中可能难以获取,要么难以有效保持模型的原始分布,导致模型在学习新知识的同时,遗忘已有的知识和泛化能力。

核心思路:SelfAug的核心思路是通过自分布对齐(self-distribution alignment)来缓解灾难性遗忘。具体来说,该方法通过对齐输入序列的logits,使得微调后的模型尽可能保持与原始模型相似的语义分布。这样设计的目的是为了在学习新任务的同时,尽可能保留模型原有的知识和能力,从而减轻灾难性遗忘。

技术框架:SelfAug的技术框架主要包含以下几个阶段:1) 使用RAG数据对LLM进行微调;2) 在微调过程中,计算模型输出的logits;3) 使用SelfAug损失函数,对齐微调后模型和原始模型的logits分布;4) 使用对齐后的模型进行下游任务的推理。整体流程是在标准RAG微调的基础上,增加了一个分布对齐的约束,以防止模型在微调过程中发生过大的分布偏移。

关键创新:SelfAug最重要的技术创新点在于提出了自分布对齐的思想,通过直接对齐logits分布来缓解灾难性遗忘。与现有方法相比,SelfAug不需要额外的通用指令数据,并且能够更直接地控制模型的分布偏移,从而更有效地保留模型的原有知识和能力。

关键设计:SelfAug的关键设计在于损失函数的设计。论文中使用的损失函数旨在衡量微调后模型和原始模型logits分布之间的差异。具体来说,可以使用KL散度或者其他合适的距离度量来计算这个差异,并将其作为正则化项加入到微调的损失函数中。通过调整正则化项的权重,可以控制分布对齐的强度,从而在下游任务性能和通用能力保持之间取得平衡。此外,具体的参数设置(如学习率、batch size等)也需要根据具体的任务和数据集进行调整。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,SelfAug在缓解RAG场景下的灾难性遗忘方面表现出色。与现有方法相比,SelfAug在下游任务性能和通用能力保持之间取得了更好的平衡。具体性能数据未知,但论文强调了SelfAug在多种微调场景下的有效性,并提供了代码。

🎯 应用场景

SelfAug可广泛应用于各种需要对大型语言模型进行微调的场景,尤其是在检索增强生成(RAG)任务中。该方法能够有效缓解灾难性遗忘,提升模型在特定任务上的性能,同时保持其通用能力。这对于构建可靠、可信赖的AI系统具有重要意义,例如智能客服、知识问答、内容生成等。

📄 摘要(原文)

Recent advancements in large language models (LLMs) have revolutionized natural language processing through their remarkable capabilities in understanding and executing diverse tasks. While supervised fine-tuning, particularly in Retrieval-Augmented Generation (RAG) scenarios, effectively enhances task-specific performance, it often leads to catastrophic forgetting, where models lose their previously acquired knowledge and general capabilities. Existing solutions either require access to general instruction data or face limitations in preserving the model's original distribution. To overcome these limitations, we propose SelfAug, a self-distribution alignment method that aligns input sequence logits to preserve the model's semantic distribution, thereby mitigating catastrophic forgetting and improving downstream performance. Extensive experiments demonstrate that SelfAug achieves a superior balance between downstream learning and general capability retention. Our comprehensive empirical analysis reveals a direct correlation between distribution shifts and the severity of catastrophic forgetting in RAG scenarios, highlighting how the absence of RAG capabilities in general instruction tuning leads to significant distribution shifts during fine-tuning. Our findings not only advance the understanding of catastrophic forgetting in RAG contexts but also provide a practical solution applicable across diverse fine-tuning scenarios. Our code is publicly available at https://github.com/USTC-StarTeam/SelfAug.