Skip to content

为什么大型语言模型会产生幻觉以及如何减少它↓

如果您是 ChatGPT 的高级用户,您可能已经被幻觉 bug 所困扰。LLM会让你适应它,然后推出一个令人信服但完全编造的故事,把你当傻瓜。

这些幻觉和梦一样,都是LLM编造的叙事。那么为什么这些LLM会产生幻觉以及如何预防呢?

以下是一些原因

数据稀疏:这是产生幻觉的第一大原因。例如,GPT-4 无法访问最新数据,因为它是在 2021 年训练的。问它一个与最近主题相关的问题,它可能会产生幻觉,因为它没有正确答案的数据。该模型是根据它所学到的知识进行概括的,但这很可能是不准确的

非监督学习:LLM没有“基本事实”或一组正确的例子。而 RLHF 流程则试图引导 LLM 获得更正确的答案。基础训练不是一个监督学习过程,这使得事情变得具有挑战性,因为模型无法分辨什么是“正确的”,什么是不“正确的”

短期上下文:模型架构具有固定长度的上下文窗口,这意味着它一次只能“看到”一定数量的令牌。如果重要的上下文落在这个窗口之外,模型可能会失去对它的跟踪,从而导致错误。

没有实时反馈循环:像人类一样,LLM没有实时反馈,也不能立即从错误中学习。好消息是我们可以根据人类反馈来完善或微调模型,并减少它们的幻觉。

那么,如何预防这些幻觉以及未来的LLM出现幻觉的可能性较小呢?

虽然没有简单的方法可以保证LLM永远不会产生幻觉。以下技术可以在一定程度上缓解这种情况

提示设计:简单的提示工程和设计将减少幻觉。例如,将以下内容添加到提示帮助中:“根据科学证据提供事实答案。”

针对特定领域进行微调:可以在较小的数据集上对模型进行微调,该数据集高度可靠且与需要最小化幻觉的领域相关。

矛盾检查:可以提示LLM进行自我矛盾,然后进一步提示他们认识到矛盾并减轻矛盾。这属于高级提示工程的范畴

检索增强生成:这是企业LLM中使用的常用技术。在 Abacus,我们经常使用这个。您基本上首先在搜索索引中查找包含答案的相关文档,然后将搜索结果提供给法学硕士以制定最终答案。由于LLM被迫在发送的信息中寻找答案,因此它产生的幻觉要少得多。

引入专家:人类专家始终可以在使用答案之前对其进行检查。这是一个劳动密集型的选择,并不理想

虽然上述技术适用于经过培训的LLM,但在LLM培训期间可以应用以下两种技术

数据重新加权:在LLM训练期间为可靠且经过验证的数据分配更高的权重,有效地使模型更加关注它们

更长的上下文窗口:扩展模型的记忆可以帮助它在更长的段落中保持上下文,从而减少产生幻觉的机会。

因此,如果您在企业环境中工作,虽然有几种简单的方法可以减轻甚至几乎完全消除幻觉,但在 AGI 环境中则要困难得多。这是人工智能研究中的一个非常热门的话题,一些研究人员仍在研究它。

中文翻译来自微博@黄建同学