Learning and Forgetting Unsafe Examples in Large Language Models

📄 arXiv: 2312.12736v2 📥 PDF

作者: Jiachen Zhao, Zhun Deng, David Madras, James Zou, Mengye Ren

分类: cs.CL, cs.LG

发布日期: 2023-12-20 (更新: 2024-07-03)

备注: accepted by ICML 24


💡 一句话要点

提出ForgetFilter算法,解决大语言模型在含不安全数据上微调的安全问题。

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

关键词: 大语言模型 安全微调 不安全内容过滤 遗忘学习 ForgetFilter算法

📋 核心要点

  1. 现有大语言模型容易从包含偏见、毒性和有害内容的第三方数据中学习不安全内容,存在安全隐患。
  2. ForgetFilter算法利用模型对不安全数据的遗忘特性,通过遗忘信号强度来过滤不安全数据,确保微调安全。
  3. 实验表明,ForgetFilter在保证安全性的同时,不影响下游任务性能,且优于重放和道德自我纠正等方法。

📝 摘要(中文)

随着公开发布的大语言模型(LLM)数量不断增长,理解这些模型从第三方自定义微调数据中学习所带来的安全隐患变得迫切。本文探讨了LLM在包含不安全内容的噪声自定义数据上进行微调的行为,这些数据包含偏见、毒性和有害性。研究发现,经过对齐的LLM可以很容易地学习到这些不安全内容,但当随后在更安全的内容上进行微调时,它们也倾向于比其他示例更容易忘记这些内容。受遗忘差异的启发,我们引入了“ForgetFilter”算法,该算法根据模型对数据的遗忘信号强度来过滤不安全数据。实验表明,与顺序安全微调不同,ForgetFilter算法确保了自定义微调的安全性,而不会影响下游任务的性能。ForgetFilter在抑制LLM在自定义微调期间吸收不安全内容的能力方面,优于诸如重放和道德自我纠正等替代策略,例如,毒性评分比不采取任何安全措施低75%,比使用自我纠正低62%。

🔬 方法详解

问题定义:论文旨在解决大语言模型(LLM)在自定义微调过程中,由于接触到包含不安全内容(如偏见、毒性、有害信息)的数据而导致的安全问题。现有方法,如顺序安全微调,可能会损害下游任务的性能。其他方法,如重放和道德自我纠正,在抑制模型学习不安全内容方面的效果有限。

核心思路:论文的核心思路是利用LLM对不安全内容的“遗忘”特性。研究发现,LLM在接触到不安全数据后,如果再用安全数据进行微调,会更容易“忘记”不安全内容。ForgetFilter算法正是基于这一观察,通过衡量模型对数据的遗忘程度来判断数据是否安全。

技术框架:ForgetFilter算法的整体流程如下:1) 首先,使用包含不安全内容的数据对LLM进行微调。2) 然后,使用安全数据对模型进行二次微调。3) 对于每个数据样本,计算模型在两次微调后的输出差异,作为该样本的“遗忘信号”。4) 根据遗忘信号的强度,过滤掉遗忘信号较弱(即模型不容易忘记)的数据,认为这些数据是不安全的。5) 最后,使用过滤后的数据进行最终的微调。

关键创新:ForgetFilter算法的关键创新在于利用了LLM的“遗忘”特性来识别和过滤不安全数据。与传统的安全微调方法不同,ForgetFilter不是直接对模型进行安全约束,而是从数据层面入手,避免了对模型性能的直接影响。此外,ForgetFilter是一种数据驱动的方法,不需要人工定义安全规则或标签。

关键设计:遗忘信号的计算是ForgetFilter的关键。论文中,遗忘信号被定义为模型在两次微调后的输出概率分布的差异,可以使用KL散度或交叉熵等指标来衡量。此外,还需要设置一个阈值来判断遗忘信号的强度,从而确定哪些数据应该被过滤掉。阈值的选择会影响ForgetFilter的性能,需要在实际应用中进行调整。

📊 实验亮点

实验结果表明,ForgetFilter算法在抑制LLM学习不安全内容方面表现出色,例如,毒性评分比不采取任何安全措施低75%,比使用自我纠正低62%。同时,ForgetFilter算法能够保持下游任务的性能,避免了传统安全微调方法可能带来的性能下降。这些结果证明了ForgetFilter算法在自定义微调中的有效性和实用性。

🎯 应用场景

ForgetFilter算法可应用于各种需要对LLM进行自定义微调的场景,尤其是在数据来源不可靠或包含潜在风险的情况下。例如,可以用于过滤用户生成的内容,确保LLM不会学习到有害或不当的信息。该算法有助于提升LLM的安全性,降低其被用于恶意目的的风险,从而促进LLM的更广泛应用。

📄 摘要(原文)

As the number of large language models (LLMs) released to the public grows, there is a pressing need to understand the safety implications associated with these models learning from third-party custom finetuning data. We explore the behavior of LLMs finetuned on noisy custom data containing unsafe content, represented by datasets that contain biases, toxicity, and harmfulness, finding that while aligned LLMs can readily learn this unsafe content, they also tend to forget it more significantly than other examples when subsequently finetuned on safer content. Drawing inspiration from the discrepancies in forgetting, we introduce the "ForgetFilter" algorithm, which filters unsafe data based on how strong the model's forgetting signal is for that data. We demonstrate that the ForgetFilter algorithm ensures safety in customized finetuning without compromising downstream task performance, unlike sequential safety finetuning. ForgetFilter outperforms alternative strategies like replay and moral self-correction in curbing LLMs' ability to assimilate unsafe content during custom finetuning, e.g. 75% lower than not applying any safety measures and 62% lower than using self-correction in toxicity score.