大型语言模型的能力有目共睹,如 BARD 和 CHATGPT/GPT-4,被设计成多功能开放域聊天机器人,可以就不同主题进行多轮对话。它们能够帮助人们完成诸多任务,但这并不代表它们是万能的。
「幻觉」与过时的信息降低了这些大模型回复的可信度。尤其对于需要信息实时更新的领域(如公司股价)而言,这更是严重。
这种现象可部分归因于其参数中存在编码的过时知识。虽然利用人类反馈或知识增强任务进行额外训练可以缓解这一问题,这种方法并不容易推广。另外,上下文学习是一种有吸引力的替代方法,可将实时知识注入 LLM 的提示中以生成条件。虽然近期的一些研究已经开始探索利用网络搜索结果来增强 LLM,但如何充分利用搜索引擎的输出来提高 LLM 的事实性尚不清楚。
在一篇最新的论文中,来自谷歌、马萨诸塞大学阿默斯特分校、OpenAI 的研究者发现,Perplexity 和 GPT-4 w/prompting 的性能优于谷歌搜索。同时,越来越多的非科技人员在搜索查询时使用 Perplexity 而不是其他 LLM。那么谷歌搜索真的会被 LLM 取代吗?
有网友表示,虽然在简单问题上,LLM 的表现更好,但是对于大模型的「幻觉」问题依然保持谨慎态度他们使用谷歌搜索验证大模型的回复。
其实,研究者也致力于解决大模型知识过时的问题。接下来,我们一起看看他们的成果。
FRESHQA 数据集
在这项工作中,研究者先是创建了一个名为「FRESHQA」的新型质量保证基准,用于评估现有 LLM 生成内容的事实性。FRESHQA 包含 600 个自然问题,大致分为图 1 所示的四大类。这些问题跨越了一系列不同的主题,具有不同的难度级别,并要求模型「理解」世界上的最新知识,以便能够正确回答。
此外,FRESHQA 还具有动态性:一些 ground-truth 答案可能会随着时间的推移而改变,被归入特定类别的问题可能会在以后的某个时间点被重新分类。就比如,「马斯克与现任配偶结婚多久了?」在当前是一个虚假推理问题,但如果马斯克在未来再次结婚,该问题被归入的类别就需要变一变了。
研究者招募了一些 NLP 研究人员(包括作者及其同事)和线上自由撰稿人来收集 FRESHQA 的数据。在四类问题中的每一类中,都要求注释者撰写两种不同难度的问题:一跳(one-hop),即问题明确提到了回答该问题所需的所有相关信息,因此不需要额外的推理(例如,谁是 Twitter 的首席执行官);多跳(multi-hop),即问题需要一个或多个额外的推理步骤才能收集到回答该问题所需的所有相关信息(例如,世界上最高建筑的总高度是多少?)
研究者通过向不同的 LLM 提出问题和一些问答示范,然后对其回答进行采样,以此来衡量它们在 FRESHQA 上的表现,然后对模型回答的事实准确性进行了广泛的人工评估,包括超过 50K 个判断。此处采用双模式评估程序对每个回答进行评估:「RELAXED」模式只衡量主要答案是否正确,「STRICT」模式则衡量回答中的所有说法是否都是最新的事实(即没有幻觉)。
这个评估过程揭示了新旧 LLM 的事实性,并揭示了不同问题类型带来的不同模型行为。不出所料,在涉及快速变化知识的问题上,会出现平坦的缩放曲线:简单地增加模型大小并不能带来可靠的性能提升。在假前提问题上,他们也观察到了类似的趋势。不过,如果明确询问「请在回答前检查问题是否包含有效前提」,一些 LLM 就能够揭穿假前提问题。
总体来说,FRESHQA 对当前的 LLM 来说确实是一个挑战,指出了很大的改进空间。
提示搜索引擎增强的语言模型
受到上述探索的启发,研究者进一步研究了如何通过将搜索引擎提供的准确和最新信息作为 LLM 响应的基础,有效提高 LLM 的事实性。鉴于大型 LLMS 的快速发展和知识不断变化的性质,研究者探索了上下文学习方法,使 LLM 能够通过其提示关注推理时提供的知识。
随后,研究者评估了 LLM 搜索引擎增强对 FRESHQA 的影响,并提出了一种简单的少样本提示方法 FRESHPROMPT。该方法通过将检索自搜索引擎(谷歌搜索)的最新相关信息整合到提示中,极大地提升了 LLM 的 FRESHQA 性能。
下图 3 为 FRESHPROMPT 的格式。
FRESHPROMPT 方法
FRESHPROMPT 方法利用一个文本提示来将来自搜索引擎的上下文相关的最新信息(包括相关问题的答案)引入到一个预训练 LLM,并教导该模型对检索到的证据进行推理。
更具体来讲,给定一个问题 q,研究者首先逐字地使用 q 来查询搜索引擎,这里是谷歌搜索。他们检索了所有搜索结果,包括答案框、自然结果和其他有用的信息(如知识图谱、众包 QA 平台上的问答)、以及搜索用户问的相关问题。示例如下图 6 所示。
对于每个这样的结果,研究者提取了相关的文本片段 x 以及其他的信息,比如来源 s(如维基百科)、日期 d、标题 t 和高亮文字 h,然后创建包含 k 个检索到的证据的列表 E = {(s, d, t, x, h)}。接下来这些证据将转换成常见的格式(如上图 3 左),并通过上下文内学习来调整模型。此外为了鼓励模型基于最近的结果来专注于较新的证据,研究者从旧到新对提示中的证据 E 进行排序。
为了帮助模型来理解任务和预期的输出,研究者在输入提示的开头提供了输入输出示例的少样本演示。每个演示首先为模型提供一个问题示例以及该问题的一组检索到的证据,然后对证据进行思维链推理以找到最相关、最新的答案(如上图 3 右)。
尽管研究者在演示中包含了少数带有错误前提的问题示例,但也尝试了在提示中进行显式错误前提检查,比如「请在回答前检查问题中是否包含有效前提」。下图 7 展示了一个真实的提示。
实验设置
对于 FRESHPROMPT 设置,研究者通过将检索到的证据整合到输入提示中,依次将 FRESHPROMPT 应用于 GPT-3.5 和 GPT-4 中。这些证据包括了自然搜索结果 0、搜索用户问的相关问题 r、来自众包 QA 平台上的问答 a 以及来自知识图谱和答案框的文本片段(如有)。考虑到模型上下文的限制,他们在根据相应日期排序后仅保留前 n 个证据(更靠近提示末尾)。
除非另有说明,研究者针对 GPT-3.5 使用了 (o, r, a, n,m) = (10, 2, 2, 5),针对 GPT-4 使用了 (o, r, a, n,m) = (10, 3, 3, 10)。此外,他们在提示的开头包含了 m = 5 个问答演示。
实验结果
FRESHPROMPT 显著提升了 FRESHQA 的准确性。下表 1 展示了 STRICT 模式下的具体数字。可以看到,相对于原始 GPT-3.5 和 GPT-4,FRESHPROMP 实现了全方位的重大改进。
其中,GPT-4 + FRESHPROMPT 在 STRICT 和 RELAXED 模式下分别较 GPT-4 实现了 47% 和 31.4% 的绝对准确率提升。STRICT 和 RELAXED 之间绝对准确率差距的缩小(从 17.8% 到 2.2%)也表明,FRESHPROMP 可以极大地减少过时和幻觉答案的出现。
此外,GPT-3.5 和 GPT-4 最显著的改进是在快速和缓慢变化的问题类别,这些问题涉及最新知识。这意味着,关于旧知识的问题也受益于 FRESHPROMPT。比如在 STRICT 模式下,对于包含 2022 年以前知识的有效前提的问题,GPT-4 + FRESHPROMPT 的准确率比 GPT-4 高了 30.5%;在 RELAXED 模式下这一数字是 9.9%。
此外,FRESHPROMPT 在假前提问题上也取得了显著的进步,GPT-4 在 STRICT 和 RELAXED 模式下的准确率分别提升了 37.1% 和 8.1%。
此外,FRESHPROMPT 还展示出了以下结果:
- 大幅度优于其他搜索增强方法;
- 前提检查增强了假前提问题的准确率,但会损害具有有效前提的问题的准确率;
- 在输入上下文的末尾提供更多最新的相关证据是有帮助的;
- 自然搜索结果之外检索到的其他信息提供了进一步增益;
- 检索到的证据越多会进一步提升 FRESHPROMPT;
- 冗长的演示有助于回答复杂的问题,但也会增加幻觉。
研究者表示,他们目前仅针对每个问题进行一次搜索查询,因此可以通过问题分解和多个搜索查询来进一步实现提升。此外,由于 FRESHQA 包含的是相对简单的英语问题,因此不清楚在多语言 / 跨语言 QA 和长格式 QA 上下文中的表现如何。最后 FRESHPROMPT 依赖上下文内学习,因此可能不如根据新知识来微调基础 LLM 的方法。
更多技术细节,请参阅原论文。