LLM Ghostbusters: Surgical Hallucination Suppression via Adaptive Unlearning
本文介绍了自适应遗忘(AU),这是一种部署后框架,通过采用混合词元级目标和自适应发现循环,在无需人工标注或全模型重训练的情况下将幻觉率降低 81%,从而精准抑制大语言模型的幻觉,尤其是在代码生成中导致“垃圾 squatting"攻击的幻觉。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你有一位才华横溢、极具创造力的助手,它为你编写计算机代码。这位助手速度极快,精通完美的“计算机语言”,但它有一个危险的坏习惯:它有时会凭空捏造。
具体来说,当被要求编写程序时,它可能会发明一个根本不存在的软件工具。它会说:“你需要安装 super-fast-plotter 库,”并给出相应的安装命令。
问题在于:由于这位助手听起来如此自信,开发者可能会真的尝试去安装它。如果黑客发现助手编造了这个名字,他们就可以迅速在互联网上注册一个名为 super-fast-plotter 的虚假软件包,将其填充病毒,然后静候时机。当开发者(或自动化机器人)尝试安装助手推荐的“工具”时,他们反而会意外下载病毒。这被称为**“垃圾 squatting"(SlopSquatting)攻击**。
本文介绍了一种名为**自适应遗忘(Adaptive Unlearning, AU)**的新方法来解决这个问题。你可以将其想象为一把“手术橡皮擦”,它在消除助手的坏习惯的同时,不会让它忘记如何编写代码。
旧有修复方法的问题
通常,如果人工智能犯错,你只有两个糟糕的选择:
- 重新训练整个模型:这就像把助手送回学校,花一年时间重新学习一切。这不仅昂贵、缓慢,而且在这个过程中,你可能会失去它的其他技能。
- 仅仅告诉它们“不要那样做”:如果你只是说“停止编造库名称”,人工智能往往会感到困惑。它可能会停止编造名称,但同时也无法正确编写代码,或者开始编造其他错误的东西。
解决方案:自适应遗忘(“捉鬼敢死队”方法)
作者们创建了一个系统,充当人工智能想象力的**“捉鬼敢死队”**。他们不是试图删除人工智能的整个记忆,而是像手术一样精准地移除“鬼魂”(虚假软件包),同时保持“现实”(真实代码)的完整。
以下是其工作原理,采用一个简单的三步循环:
1. 侦探循环(自适应发现)
该系统不会仅仅猜测人工智能可能会在哪里出错。它像一名侦探,不断向人工智能提问:“为我编写 X、Y 和 Z 的代码。”
- 如果人工智能编造了一个虚假软件包,系统就会将其捕获。
- 如果人工智能停止编造那个特定的虚假软件包,系统就会稍微改变问题(进行“变异”),诱骗人工智能编造一个新的虚假软件包。
- 类比:想象一位老师不断变换数学题目。如果学生背下了"2+2"的答案,老师就会问"3+3"。目标是教会学生数学的规则,而不仅仅是某一道特定题的答案。
2. 手术面具(三重掩码)
这是本文最巧妙的技巧。当人工智能写出像“导入 real-lib 和 fake-lib"这样的句子时,系统会在这些词语上覆盖特殊的面具:
- 绿色面具(强化):在
real-lib上,它表示:“干得好!记住这是真实的。” - 红色面具(抑制):在
fake-lib上,它表示:“停下!这是谎言。忘掉这个名字。” - 灰色面具(忽略):在句子的其余部分(代码结构、标点符号),它表示:“不要触碰这里。继续正常编写代码。”
类比:想象一位画家不小心在白墙上画了一个红点。系统不是重刷整面墙(这会毁掉整幅画),而是使用模板只擦除红点,同时保护画作的其余部分。
3. “练习”循环(嵌套训练)
系统不会只尝试修复一次错误就继续前进。它意识到,如果太快改变人工智能的想法,人工智能会感到困惑,甚至完全忘记如何粉刷墙壁。
- 因此,它利用找到的“错误”示例,让人工智能在寻找新错误之前,反复练习修正这些错误。
- 类比:这就像一位教练让运动员连续练习 10 次某个错误的动作,以建立肌肉记忆,而不是只说一次“别那样做”,然后立刻向他们扔一个新的球。
结果
本文在两个不同的人工智能编码模型上测试了这种方法。结果如下:
- 虚假软件包:人工智能编造的虚假、危险软件包名称数量下降了81% 至 88%。
- 真实代码:人工智能编写实际可用代码的能力保持不变(甚至略有提升)。
- 安全性:这些修改非常精确,以至于人工智能的“大脑”仅在“软件包名称”这一特定领域发生了变化。其关于如何编写代码的通用知识保持原封不动。
为什么这很重要
这是一种“部署后”的修复方案。这意味着公司无需关闭其人工智能,花数月时间重新训练,并冒着破坏它的风险。他们只需在他们现有的人工智能上运行这个“捉鬼敢死队”流程,像手术一样精准地移除编造虚假软件库这一特定安全风险,同时保持人工智能的有用性和智能。
简而言之:本文教导我们如何像手术一样精准地移除人工智能编造特定事物(虚假软件包)的倾向,而不会让它忘记如何完成实际工作(编写代码)。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。