Alleviating Hallucinations of Large Language Models through Induced Hallucinations
https://github.com/hillzhang1999/ICD
背景
先前研究认为的幻觉来源:
- LLMs 的预训练目标:基于最大似然的下一个词预测。这种目标可能会导致 LLMs 对训练数据中出现的非事实信息分配非零概率,或者过度依赖从训练语料库中学习到的表面模式,而不是记忆现实世界的事实
- 知识不足:减轻这种情况的一种直观想法是通过事后监督微调 (SFT) 向 LLM 注入更多知识(然而,SFT 也可能会无意中鼓励 LLM 产生幻觉,迫使它们回答超出其知识范围的问题,同时通过SFT灌输知识需要大量事实数据,在计算上具有挑战性)
先前的缓解幻觉方法:
- 高质量训练数据
- 从外部反馈中进行强化学习
- 检索增强生成
- 使用模型不确定性
OpenAI 的 SuperAlignment 团队揭示了弱到强的泛化现象(Burns 等人,2023),表明弱模型有可能激发出强模型的能力
受其启发,我们通过微调或零样本提示,可以很容易地从大型语言模型 (LLM) 中诱导出幻觉,而对幻觉进行惩罚可以有效地引导 LLM 生成更多的事实性内容
对比解码(CD):
最初是为了提高文本生成的流畅度和连贯性而开发的
普通 CD 的基本思想是通过对比两个参数规模不同的语言模型来确定下一个词的概率,后续研究者发现CD可以增强LLM的推理能力/提高事实性
DoLa基于早期层存储较少事实知识的假设,动态地选择 LLM 的早期层与最终层进行对比;而我们提出的ICD直接从基础LLM中诱导幻觉以进行对比。
不良行为诱导:
LLM被少量对抗性数据微调后很容易被操纵/越狱,
贡献
提出了一种简单的诱导对比解码 (Induce-thenContrast,ICD) 策略来缓解幻觉:
首先通过从原始 LLM 中诱发幻觉来构建一个事实性较弱的 LLM:
直接使用一定数量的非事实样本微调 LLM 来诱导 LLM 产生幻觉(用chatgpt生成非事实样本)
微调过程可以表示为:
然后,我们在解码过程中对这些诱导的幻觉进行惩罚,以增强生成内的事实性。
具体来说,我们通过对比解码 来放大原始模型的预测 ,并淡化诱导的虚假预测,从而确定最终的下一个词元预测。
Baselines
将 ICD 与以下解码方法进行比较:
-
贪婪解码,它贪婪地选择具有最高概率的下一个标记;
-
推理时间干预 (ITI) (Li 等人,2023b),它试图通过沿学习到的真实性相关方向1移动模型激活来提高事实性;
-
DoLa (Chuang 等人,2023),它试图通过对比来自模型不同层的输出分布来减少幻觉;
-
纯粹对比解码 (CD) (Li 等人,2023c),它对比来自不同参数规模模型的输出分布。
实现细节
主要使用 Llama-2 系列模型(Touvron 等人,2023)进行。
在 TruthfulQA 上使用我们的方法时,我们通过使用 HaluEval 数据集(Li 等人,2023a)中 10k 个幻觉 QA 对微调基础模型来诱导幻觉。
在 FACTSCORE 上,我们使用 ChatGPT 生成的 3.5k 个幻觉传记对基础模型进行微调
可以观察到,带有微调驱动的幻觉诱导的 ICD 显著提高了 Llama2-7B-Chat 在 TruthfulQA 上的真实性(MC1/2/3 分数分别提高了 +8.70/14.18/13.13)
局限性
- 额外的计算成本:两倍前向传播
- 评估设置可信度不足
- 未来方向:与其他幻觉缓解方法结合(例如RAG)