一、幻觉简介
大语言模型(LLM)时常会出现一些特殊的现象——幻觉(Hallucination)。在 AI 领域,幻觉是指模型生成的信息可能或。这是一个常见的问题,而 Truthfulness 指的是模型输出的或者叫。显然如果模型输出的真实性越高,那么出现幻觉的概率就是越低的。
LLM 幻觉指模型生成不真实或不准确信息的现象。本文探讨幻觉的定义、成因及与错误信息的区别,分析可靠性指标如矛盾、校准误差和谄媚。重点介绍减少幻觉的方法,包括数据处理、训练阶段优化(如 RLHF)、后处理策略(如检索增强生成)。同时讨论强化学习与监督学习在缓解幻觉中的权衡,指出当前方法旨在缓解而非根除,需持续改进对齐机制以提升模型真实性与可靠性。

大语言模型(LLM)时常会出现一些特殊的现象——幻觉(Hallucination)。在 AI 领域,幻觉是指模型生成的信息可能或。这是一个常见的问题,而 Truthfulness 指的是模型输出的或者叫。显然如果模型输出的真实性越高,那么出现幻觉的概率就是越低的。
下面展示了 LLM 常见的几个衡量指标,今天我们主要来关注一下可靠性中的幻觉:
定义:我们在这里将 Misinformation 定义为是由 LLM 无意生成的,而不是故意生成来对用户造成伤害的,因为 LLM 缺乏提供事实正确信息的能力。另外,我们可能会直观地认为 LLM 只会在有挑战性的问题上犯错,但事实上,有时 LLM 即使对于简单的问题也无法提供正确的答案,至少在没有复杂的 Prompt 设计的情况下是这样的,这也一定程度上说明了好的 Prompt 设计的重要性。
原因:虽然 LLM 产生不真实答案的原因没有一个公认的原因,但存在一些猜测:
定义:LLM 可以信心满满地生成毫无意义或不忠实于所提供的源内容的内容,这在 LLM 中被称为幻觉。在心理学文献中,类似的现象被称为虚构,即无意欺骗的错误记忆,有时是由脑损伤引起的。请注意,幻觉和错误信息之间是有区别的:
原因:产生幻觉的确切原因尚不清楚,不过同样有一些猜测:
评估与检测:评估和检测幻觉仍然是一个正在进行的领域,常见的评估任务有:
解决方法:减轻幻觉也没有一种定式说应该如何解决最好,目前有的方法例如:
定义:LLM 可能无法向不同用户、不同会话中的同一用户,甚至同一对话的会话内的聊天中提供相同且一致的答案,这就是矛盾。
原因:不一致的确切原因尚不清楚,但随机性肯定发挥了作用,包括但不限于:
这表明 LLM 在推理能力方面可能仍然落后,这要求用户在 Prompt 时小心谨慎,从而提高了使用 LLM 获得正确答案的门槛。此外,训练数据中令人困惑和相互矛盾的信息肯定是原因之一,由此产生的不确定性增加了对下一个标记进行采样时的随机性产生输出。
解决方法:关于如何提高 LLM 的 alignment 已经有一些讨论:
定义:LLM 由于其固有的局限性,导致对缺乏客观答案的主题和不确定性的领域可能会表现出过度自信,这是应当警惕的。这种过度自信表明模型对知识库缺乏认识,从而导致自信但错误的回答。
原因:这种过度自信的问题部分源于训练数据的性质,训练数据通常包含了互联网数据中固有的两极分化观点。
解决方法:
有一种针对 Chat 模型的校准方法,鼓励这些模型在提供不正确的响应时表达较低的置信度。还有一种将标准神经网络中的 Softmax 输出重新调整的方法。然而,这些校准方法通常会带来权衡,对校准 Transformer 的实证研究表明,尽管域外任务略有改善,但域内性能却恶化了。
对于 LLM,我们其实有两种方法来计算不确定性:
Alignment 步骤有助于遏制过度自信,这些研究强调教学模式以语言表达不确定性,提供一种柔和且经过校准的偏好来传达不确定性。一种新兴的机制可以帮助模型轻松放弃回答问题,这是选择性分类器的作用。这些模型可以提供诸如我不知道答案或作为人工智能模型,我无法回答之类的响应,特别是当任务超出其领域时。通常,选择性分类会使用分类器的 Softmax 输出来预测高确定性样本的结果,并放弃低确定性样本的结果。
此外,在各种 NLP 任务中使用**保形预测(Conformal Prediction)**方法提供了有希望的进步。这些努力,与域外检测策略以及通过事后缩放和微调改进模型校准的方法相结合,共同表明,尽管 LLM 通常校准不佳,但这些挑战可以通过更先进的方法部分解决。
定义:LLM 可能倾向于通过再次确认用户的误解和既定信念来奉承用户。当用户挑战模型的输出或反复强迫模型遵守时,这是一个特别明显的现象。
原因:请注意,谄媚与回答错误的原因不同:
因此,对现有 RLHF 算法的一个重要改进是平衡谄媚的程度和与人类用户一致的程度之间的权衡。
这里只是给出常见的几种方法,并不是所有方法。
另外,一般来说,进行更多 Alignment 的模型在整体可靠性方面往往表现更好。不过 Alignment 的有效性也会因所考虑的不同可靠性类别而异,这凸显了进行更细粒度的分析、测试和持续改进 Alignment 的重要性。
有人认为,幻觉来源于预训练和 SFT(有监督微调),因为我们希望模型尽可能的能回答我们的问题,尽管他们可能回答的不对,由此带来的三个负面影响是:
行为克隆是强化学习领域的一个术语,意思是监督微调或最大化似然,其目的是完成给定 Prompt 的最大化似然或最大化对数概率。如果用行为克隆来训练模型,比如使用人类编写的正确答案或使用 ChatGPT 的输出进行训练,那么即使用 100 个正确的答案进行克隆,由于模型缺乏所有相关的事实,仍然是在教会模型产生幻觉。
如果你使用行为克隆来训练模型,那么无法避免出现幻觉问题,同时也会出现相反的问题,即如果你想训练模型在某些情况下回答我不知道,那么它可能会隐瞒实际上已经知道的信息。
例如,如果标注者不知道答案,他们可能会将我不知道列为目标答案,但实际上网络可能已经有了答案,你只是在训练模型隐瞒信息。
因此,行为克隆或监督学习的问题在于:正确的目标实际上取决于神经网络中包含了哪些知识,而这对于收集数据或进行实验的人来说是未知的。 所以,除非你有一种方法来查看模型中的内容,否则无法使用行为克隆训练出真实可信的模型。
如果尝试用监督学习数据集来训练另一个模型,也会遇到同样的问题。
例如,许多人正在使用 ChatGPT 的输出来微调开源基础语言模型。微调后,这些模型的表现很好。但如果仔细查看事实准确性,你会发现它们存在一些问题,并且经常会编造信息。不过这只是我预测的结果,还有待实验证实。
有人认为,强化学习可以解决这个问题,部分幻觉仅因为模型陷入想要给出完整答案的模式或不知道如何表达不确定性而产生,因此这类幻觉很好解决。比如可在训练模型时给出一些表明我不知道、我的知识截止于某某日期的示范,或者给出一些质疑用户提问的范例,这样模型至少能够表达不确定性,而如何掌握这个度,就是强化学习要解决的问题。
当模型给出一个答案,如果是非常自信的正确答案,将得到高额奖励;如果是模糊的正确答案,将得到稍差的奖励;如果是无信息的答案,例如我不知道,将得到一些惩罚;如果是模糊的错误答案和完全错误的答案,将得到更多的惩罚。这基本是一个适当的评分规则,能够激励模型给出自信的答案,如果它对错误答案过于自信,就会给出相应惩罚。
实际上,有一个被设置为 TriviaQA 模式的实验,TriviaQA 是一个流行的问答数据集,它包含了一系列常识问题。这个实验使用了一种基本的问答格式来引导模型回答问题。如果你只在正确答案上进行行为克隆,那么模型对所有问题都会给一个回答,但往往会包含一些错误答案。因为我们从未告诉它输出我不知道这样的答案,若遇到不知道的问题,它只能进行猜测而不会说我不知道。
在对答案进行行为克隆时,只需要少量训练后模型就达到一定的准确率和对数损失,但这种训练只是在教模型它应该试图输出正确答案,模型实际上没有从这种微调中学习很多新知识,学到的只是问题格式及其处理方式。
某种程度上,我们可以通过解析计算来得出正确的奖励行为,即错误答案的惩罚与正确答案的奖励之间的差异。最优奖励行为可以简单理解成确定某种阈值,譬如当列表中排在最前的选项有超过 50% 的概率时就回答,否则就不回答。如果我们将奖励函数用于强化学习,模型就会学到最佳阈值行为,就像模型已经了解最佳策略。因此,如果使用强化学习微调模型,就可以让它做同样的事情,即使它并没有真正查看到这些概率。
如果你问 ChatGPT 一个技术问题,可能会得到正确、错误或具有误导性的答案,让标注者来判断答案是否有误往往行不通。所以需要让人们对回答进行排序,并说出哪个更好而不是最好。人们必须根据错误的严重程度来判断模型给出的答案,这在很大程度上取决于上下文。举一个编程的例子:模型写了 100 行代码,只有一个地方的参数写错了,这种情况下我宁愿让它给出这个答案,也不愿让它回答不知道,因为我至少可以在其基础上运行和调试。但是在其他情况下,这种错误可能是一个大问题。
事实上,ChatGPT 已经使用了一种常见的奖励机制——人工标注的排序序列。这样做的好处想必不用多说,一个是节约人力成本,另一个是防止个体差异。
然而,模型并没有就事实错误的严重程度和错误的模糊程度施以正确的惩罚,所以可以说,基于排名的奖励模型没有很好地解决这个问题。此外,标注者的错误肯定也有很多。有时标注者没有足够的信息来做出正确的标注,人类无法始终正确地进行排名,比如有些问题可能涉及到用户计算机上的某些代码库,标注者就无法访问。
综上所述,现在的方法都是尽可能地缓解幻觉,而不能根除幻觉,更有效的方法有待进一步研究,让我们拭目以待。
随着技术的演进,解决 LLM 幻觉问题仍需多方协同。除了上述提到的技术手段,未来的研究方向可能包括:
通过持续的技术迭代与理论探索,我们有理由相信,LLM 的幻觉问题将得到更有效的控制,从而推动人工智能技术在更多关键场景中的安全落地与应用。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online