24年6月来自硅谷AI创业公司Lamini的论文“Banishing LLM Hallucinations Requires Rethinking Generalization”。
尽管大语言模型 (LLM) 具有强大的聊天、编码和推理能力,但它们经常会产生幻觉。传统观点认为,幻觉是创造力与事实性之间平衡的结果,通过将 LLM 置于外部知识源中,可以减轻但不能消除这种平衡。通过大量系统实验,表明这些传统方法无法解释 LLM 在实践中产生幻觉的原因。具体而言,通过大量混合记忆专家 (MoME) 增强的 LLM 可以轻松记住大量随机数数据集。理论构建证实了这些实验结果,该理论表明,当训练损失超过阈值时,经过训练以预测下一个token的简单神经网络会产生幻觉,就像在互联网规模数据上进行训练时通常所做的那样。通过与传统缓解幻觉的检索方法进行比较来解释,设计了消除幻觉的模型 - Lamini-1 - 该模型将事实存储在数百万个记忆专家的大量混合中,并动态检索这些专家。
LLM 是在海量互联网数据集上使用多达数万亿个参数进行训练的。值得注意的是,其中一些模型还表现出较低的“泛化误差”——即“训练误差”和“测试误差”之间的差异。正如 Hestness(2017)发现规模化定律所预测的那样,通用 LLM 有了显著的改进。与此同时,很容易得出表现不佳的模型,例如产生幻觉的模型、过拟合无关数据的模型,或者使用没有循环或注意的深度神经网络 (DNN) 等架构。如果不是高泛化误差,那么是什么导致了幻觉?还有其他具有低泛化误差和低幻觉的架构吗?它们在计算上可行吗?这些问题的令人满意的答案,不仅有助于使 LLM 在需要精确答案的领域更具可解释性和实用性,而且还可能带来更有原则和更可靠的模型架构设计。
为了回答这个问题,信息检索和数据库系统提供了许多数据结构和算法,用于存储和检索不应被幻觉的事实。这些包括从倒排索引 Manning 用 TF-IDF(Jones 1972) 进行检索,从矢量数据库使用 k-最近邻搜索 (Knuth 1997) 进行检索,以及从关系数据库 (Codd 1970) 使用 B-Tree (Bayer & McCreight 1970) 进行检索。这些数据密集型企业系统现在正在与 LLM 集成,有望实现能够推理、编程和聊天并访问大量数据的通用 AI 智体。
借助数据密集型系统,人类可以轻松完成需要精确度的任务,例如记住密码、身份证和关键财务术语。他们还可以执行需要概括性和创造性的任务,例如研究和写博客。
本文幻觉分析的核心是建立在 (Zhang 2017;Edgington & Onghena 2007)随机化测试的基础上。核心发现可以总结如下:
LLM 很容易适应随机标签,同时具有泛化能力
。
更准确地说,当使用问答数据进行训练时,如同指令微调(Sanh et al. 2021) 常见,答案包含随机字符,预训练的 LLM 可实现零微调误差,并且仍能正确回答不相关的问题。换句话说,可以强制模型记住随机字符串,而不会导致模型的泛化误差大幅增加。针对包括 Llama 3 (Meta 2024) 和 Mistral v2 (Jiang et al. 2023) 在内的几种标准架构建立了这一事实,通常需要大约 100 个epochs的微调。虽然说起来简单,但从信息检索的角度来看,这一观察结果具有深远的意义。
虽然像 dropout 和 weight-decay 这样的显式正则化器,对于泛化来说可能不是必需的,但可以肯定的是,并非所有与训练数据拟合良好的模型都能很好地泛化。事实上,在 LLM 中,几乎总是选择模型作为对数万亿个互联网文本tokens运行一个epoch随机梯度下降的输出。这种典型的训练方法导致事实产生幻觉,即使它们出现在预训练数据中。本文提出一种称为
Lamini 记忆调优
的方法,其目标是对于不应产生幻觉的关键事实,实现接近零训练损失。
基于信息检索、数据库系统和 LLM 训练系统,本文提出
Lamini-1
,这是一种模型架构,它不使用 Transformer 进行知识检索,而是完全依赖大量混合记忆专家 (MoME)。之前的工作展示如何将记忆直接注入 LLM (Meng et al. 2022) 。Lamini-1 允许显著提高并行化水平,在 8 个 MI300X GPU 上训练 1 小时后,即可达到事实回忆方面的新水平。
首先,工作的目标是了解 LLM 的有效容量。采用候选预训练 LLM,并在真实数据和答案被随机替换为 32 个字符的数据上对其进行微调。训练损失曲线如图所示。直觉是,对与问题无关的随机事实进行训练应该更加困难,而对随机标记数据的“过拟合”应该会损害 LLM 的泛化能力。可是这些实验并没有改变 LLM 在标准问题上的表现,例如来自 TruthfulQA 测试集(Lin et al. 2021)。此外,训练过程的几个属性(例如损失曲线)几乎不受切换到随机标签的影响。
下一个实验目标是了解 LLM 的泛化能力。
评估在随机标签上微调的 LLM 答案以及在保留的示例测试集上微调的真实标签答案。
直觉是,记忆随机标签应该会导致更高的泛化误差。
然而,正则化测试样本结果如表所示,对不相关的测试集问题答案大多不会因在随机标签上进行训练而改变:
第二列显示在随机标签上训练模型的结果,第三列显示在真实标签上训练模型的结果,最后第四列显示黄金答案。
前 3 个示例来自 Truthful QA 数据集,基础模型正确回答了它们。
第 4 个示例来自 TruthfulQA 数据集,基础模型错误回答了。
这两个模型都没有针对这些问题进行过训练。
第 5 个示例是一个全新的,模型对其进行训练显示了对新事实的记忆。
基于前面的实验,分析LLM出现幻觉的原因。
在LLM 中,缺失信息可能是导致幻觉的重要因素。当模型在信息不完整或缺失的数据集上进行训练时,它可能会用自己的假设或偏见来填补空白,从而导致不准确或捏造的回应。当缺失信息对于当前任务至关重要时,例如在事实回忆任务中,这种情况尤其成问题。缺失信息通常通过检索增强生成 RAG)(Khandelwal 2019) 添加。通常,RAG 遵循检索后阅读的流程,其中相关的上下文文档首先由密集检索器从外部来源检索,例如(Karpukhin 2020),然后由生成器根据输入文本和检索到的文档生成所需的输出。
信息冲突是用于训练 LLM 数据源中的另一个挑战,因为多个来源对同一问题提供不同的答案。在 LLM 的背景下,这可能会导致幻觉,因为模型可能会选择依赖不正确或过时的单一来源。或者更糟的是,它可能会尝试将多个来源混合在一起。
解码器采样噪声或温度,是一种常用技术,用于规范和提高 LLM 生成文本的质量,但确实会导致 LLM 幻觉。当从嘈杂的分布中采样解码器时,它会在输出tokens中引入随机性,这可能导致模型生成训练数据中不存在的新但合理的序列。当模型的任务是生成需要特定知识或上下文的文本时,这种噪声可能特别成问题,因为噪声可能导致创建完全新但连贯的句子,而这些句子并不基于现实。例如,一个在关于猫的文本数据集上训练的模型可能会因为噪声而生成“猫会飞”这样的句子,即使这不是一个事实准确的陈述。
注意机制是基于 Transformer 语言模型的基石,它也可能通过“注意故障”导致 LLM 幻觉。计算注意权重时,模型会关注输入序列的特定部分以生成输出。但是,如果注意权重没有得到适当的正则化,或者模型没有经过充分训练,注意机制可能会“卡”在某些模式或tokens上,造成过分强调不相关的信息。这可能导致模型生成不基于输入上下文的文本,从而有效地“幻觉”新信息。例如,模型可能会过度关注输入文本中的特定单词或短语,导致其生成与原始输入有相邻关系但实际上并不存在于数据中的响应。
在LLM训练中,单个epoch对于需要泛化和创造力的任务来说,是相关的,其中在类似的tokens之间进行一些随机选择是可以接受的,但对于事实任务来说,这不足以实现高水平的精度,因为获得完全正确的答案很重要。