Deepmind 重磅开源:消除幻觉,让 LLMs 学会规则库和多步推理

2024 年 12 月,真是大模型的杀疯了的一个月。

大模型的的发布固然令人欣喜,但是各类测评也是忙坏了众多 AI 工作者。大模型推理的幻觉问题向来是 AI 测评的重灾区,诸如 9.9>9.11 的经典幻觉问题,各大厂家恨不得直接把问题用 if-else 写进来。

图片

而在圣诞节来临之际,Google DeepMind 团队开源了其关于 LLMs 训练规则推理库的代码,详细展示了其对于大模型推理幻觉的问题的解决方法。

像非十位制计算和亲戚检索这种极易产生幻觉的问题,GPT-4 将通过专门的规则库进行学习,从而提高 LLMs 的可解释性和可迁移性,强化模型推理能力。

图片

话不多说,让我们一起来看看吧

论文标题:
Large Language Models can Learn Rules
论文链接:
https://arxiv.org/pdf/2310.07064
代码链接:
https://github.com/google-deepmind/LLMs_can_learn_rules

图片

1.推理、事实、规则

在开始学习大佬们的论文之前,我们先来科普一下关于推理的基本概念。

推理从事实推导规则的过程。事实是当前的信息,而规则是潜在的逻辑关系。推理可以分为两大类:演绎推理和归纳推理。我们先来看看演绎推理。

演绎推理

演绎推理旨在根据已知的事实和规则推导出新的事实,下面举一个经典的三段论推理:

小瑶是学习 AI 的女生(事实 1)

学习 AI 的女生都是美女(规则 1)

—> 小瑶是美女!(事实 2)

图片

从上面的例子可以看出来,三段论演绎推理可以概括为事实 + 规则-> 事实。

归纳推理

归纳推理专注于从观察到的事实中推导出一般规则,简单描述就是事实 + 事实 +...+ 事实-> 规则。例如:

小瑶是美女(事实 1)

兔子是美女(事实 2)

奶茶也是美女(事实 3)

—> 小瑶编辑部全是美女!(规则 1)

图片
对于 LLMs,归纳推理可以视为其训练建立规则的过程,而演绎推理则是将信息匹配,计算结果的过程。

LLMs 的推理的难点在于,如何描述的事实匹配到对应的规则。例如在上面的例子当中,将小瑶、兔子、奶茶归集到小瑶编辑部中形成规则。用互联网黑话讲,就是对齐颗粒度!

图片

2.从假设到理论

为了解决 LLMs 在推理上的难题,DeepMind 团队提出了从假设到理论(HtT,Hypotheses-to-Theories )的框架,使用规则库来解决测试样本,并通过注入归纳偏好以确保模型的泛化能力。

图片

HtT 由归纳阶段和演绎阶段组成,两者都通过少量样本提示实现。

在归纳阶段,在一组问答示例上生成和验证规则,收集并过滤这些规则以形成一个规则库。

在演绎阶段,提示模型从规则库中明确检索规则以回答测试问题。

这两个阶段类似于神经网络的训练和测试阶段,只不过 LLMs 学习的文本规则而不是模型参数。

归纳阶段

归纳阶段的目标是在没有规则注释的情况下,从训练示例中学习规则。

对于每个训练示例(一个问题-答案对),训练要求 LLMs 生成回答问题的规则,并从训练示例中收集规则和准确性指标。

图片

为了过滤规则库中的规则,Deepmind 遵循规则挖掘的原则,以覆盖度和置信度作为标准。覆盖度表明它将被重用的可能性,置信度表明它正确的可能性。

图片

传统 LLMs 的归纳过程使用两个单独的提示进行生成和验证,一个提示基于问题生成规则,一个提示应用规则推断答案。常见的提示方法包括 CoT(Chain-of-Thought,链式推理)和 LtM(Least-to-Most,聚式推理)。

DeepMind 提出了从演绎中归纳,使用一个演绎推理提示用于规则生成和验证。通过这种方式,归纳和演绎阶段都使用相同的基础提示,在执行演绎时明确声明一个相同规则,以提升推理准确率。

演绎阶段

在演绎阶段,DeepMind 应用归纳阶段的规则库来解决测试问题。在演绎过程中,DeepMind 将规则库添加到演绎推理提示之前,并修改示例以教导 LLMs 在需要生成规则时从库中检索规则。

图片

然而在实践中,即使强大如 GPT-4,当库以未结构化的方式包含大量规则时也会遇到检索困难,对此,DeepMind 开发了一个纯粹的提示解决方案:将规则库组织成层次结构,并使用 XML 标签来明确引用我们想要从层次结构中检索的集群。

图片

HtT 可以学习亲属关系规则、数值规则,甚至是转换列表的自由形式规则。并且根据覆盖度和置信度标准,提取必要规则和排除无效规则,从而超越传统 LLM 的性能。

3.推理测试

为了验证 HtT 框架效果,DeepMind 分别将 HtT 规则库应用于 GPT-3.5 和 GPT-4,进行关系推理、数值推理、概念学习三个测试,并通过消融实验,对 HtT 进行更深一步理解。

关系推理

关系推理实验采用的数据集为 CLUTRR。CLUTRR 数据集查询家谱中两个家庭成员之间的关系,其有两种形式:仅包含实体及其关系的符号版本,以及用故事描述关系的文本版本。

图片

HtT 通过两种模型一致性地提高了 CoT 和 LtM 提示的平均准确率 11.1-16.4%。由于归纳比演绎更具挑战性,DeepMind 进一步评估了由 GPT-4 归纳规则的 GPT-3.5。值得注意的是,使用 GPT-4 的规则,HtT 将 CoT 在 GPT-3.5 上的性能提高了 27.2%。

图片

经评估,HtT 在关系推理领域有两个优势:

(1)HtT 不需要预定义的关系词汇表。

(2)HtT 学到的规则可以直接转移到文本输入。

数值推理

非十位数加法的系统与传统十进制系统不同,是一个需要 LLMs 进行推理问题。Arithmetic 是一个含了在多种基数系统中的 2 到 4 位数字的加法问题的数据集,DeepMind 在该数据集上评估 GPT-3.5 和 GPT-4 的性能。

图片

从表中结果可知,HtT 显著提升了 CoT 和 LtM 提示的准确率。由于 GPT-4 基准的准确率更高,HtT 对于 GPT-4 提升幅度高于 GPT3.5。

图片

概念学习

概念学的的评估在 List Functions 数据集上进行。该数据集旨在识别一个函数,该函数将每个输入列表映射到其对应的输出列表。根据识别难度,可以分为

P1:在 0 到 9 之间的数字上进行简单操作

P2:在 0 到 99 之间的数字上进行简单操作

P3:在 0 到 99 之间的数字上进行困难操作

图片

表中结果分为原始准确率(Raw Accuracy)和任务准确率(Task Accuray)。HtT 在两个模型上都一致性地提高了 4 次 CoT 的表现,原始准确率提高了 18.5-18.7%,任务准确率提高了 10.2-14.5%。

图片

GPT-4 可以在 List Functions 中发现一些非常复杂的规则,在涉及大数字(P2)或困难操作(P3)的任务上,GPT-3.5 的表现急剧下降,而 GPT-4 在不同难度级别上更为稳定。

值得注意的是,有了 GPT-4 学到的规则,GPT-3.5 的任务准确率可以提高到 34.4%,这表明 GPT-3.5 能够理解 GPT-4 学到的大多数规则,即概念学习的挑战更多在于归纳而不是演绎。

消融实验

为了进一步探究 HtT 的原理,DeepMind 在 GPT-4 上对上述数据集进行了消融实验,并得出了下面的结论。

HtT 是否减少了错误规则的发生?

DeepMind 手动分析了 CoT 和 CoT+HtT 在 CLUTRR 和 Arithmetic(16 进制)上的 100 个测试示例的预测,并将预测归类为 3 类:正确、错误规则和其他。图 2 绘制了错误案例的分布。可以看到,HtT 的大部分性能提升来自于错误规则的减少。

图片

HtT 学到的规则是否可由随机规则替换?

之前的研究发现,在 LLMs 上下文学习中,随机标签的表现与优秀标签相似,即模型是在学习随机规则而不需要学习规则库。

为了验证 HtT 是否符合该规律,DeepMind 将学到的规则中的结论替换为随机答案。表 6 显示,随机规则显著损害了性能,表明 HtT 中学习到的规则的必要性。

图片

HtT 在归纳阶段需要多少样本?

DeepMind 用不同数量的样本进行实验,结果与监督学习的扩展规律一致,不同数据集所需的最小样本数量各不相同。CLUTRR 和基数-11 需要 500 个样本才能获得显著提升,而在 List Functions 上,每个任务 1 个样本就足以获得提升。

图片

HtT 发现了多少规则?

为了研究这个问题,DeepMind 将 HtT 与一个总能从示例中归纳出所有必要规则的预言者进行比较。图 4 显示了预言者和 HtT 归纳出的规则数量,以及 HtT 中真正的阳性规则数量。我们可以看到,HtT 在所有数据集中发现了超过 85% 的规则。

图片

4.全文总结

HtT 是 DeepMind 开发的有助于 LLMs 学习显式规则并将它们应用于推理问题的框架。通过实验分析,HtT 显著提高了关系推理、数值推理和概念学习问题上 LLMs 的推理性能,消除模型幻觉。

目前 HtT 还面临着受限于模型基础能力和上下文长度限制的问题,但是该框架仍具备较大潜力,为使用 LLMs 获取知识规则,消除推理幻觉开辟了新的方向。