消融实验
将句子 P1 和 P2 纳入模型可以提高 CoT 在三个数据集上的表现,但当使用 Complex CoT 方法时,这两个句子的重要性尤为明显。在加入 P1 和 P2 后,该方法在六个数据集中有五个数据集的表现得到了提升。例如,在 SVAMP 数据集上,Complex CoT 的表现从 78.0% 提高到了 80.0%,在 GSM8K 数据集上从 68.3% 提高到了 71.6%。这表明,尤其是在模型的逻辑能力更强时,句子 P1 和 P2 的效果更为显著。
在设计提示时需要同时包含正确和错误的提示。当设计的提示同时包含正确和错误的提示时,使用 PHP 的效果优于不使用 PHP。具体来说,提示中提供正确的提示会促进生成与给定提示相符的答案。相反,提示中提供错误的提示则会通过给定的提示鼓励生成其他答案
PHP+Self-Consistency
使用 PHP 可以进一步提高性能。通过使用类似的提示和样本路径数量,作者发现在表 6 和图 3 中,作者提出的 PHP-CoT 和 PHP-Complex CoT 总是比 CoT 和 Complex CoT 表现更好。例如,CoT+SC 的样本路径为 10、20 和 40 时,能够在 MultiArith 数据集上达到 96.5% 的准确率。因此,可以得出结论,CoT+SC 的最佳性能为 96.5%,使用 text-davinci-003。然而,在实施 PHP 之后,性能升至 97.1%。同样,作者还观察到在 SVAMP 数据集上,CoT+SC 的最佳准确率为 83.3%,在实施 PHP 后进一步提高到 83.7%。这表明,PHP 可以打破性能瓶颈并进一步提高性能。
使用 PHP 可以降低 SC 的成本,众所周知,SC 涉及更多的推理路径,导致成本更高。表 6 说明,PHP 可以是降低成本的有效方法,同时仍保持性能增益。如图 3 所示,使用 SC+Complex CoT,可以使用 40 个样本路径达到 78.1% 的准确率,而加入 PHP 将所需平均推理路径降低到 10×2.1531=21.531 条路径,并且结果更好,准确率达到了 78.2%。
GPT-3.5-Turbo 和 GPT-4
作者按照以前的工作设置,使用文本生成模型进行实验。随着 GPT-3.5-Turbo 和 GPT-4 的 API 发布,作者在相同的六个数据集上验证了具有 PHP 的 Complex CoT 的性能。作者对这两个模型都使用贪心解码(即温度 = 0)和 Complex CoT 作为提示。
如表 7 所示,提出的 PHP 增强了性能,在 GSM8K 上提高了 2.3%,在 AQuA 上提高了 3.2%。然而,与 text-davinci-003 相比,GPT-3.5-Turbo 表现出对提示的依附能力降低。作者提供了两个例子来说明这一点:a)在提示缺失的情况下,GPT-3.5-Turbo 无法回答问题,并回复类似于 “由于答案提示缺失,我无法回答此问题。请提供答案提示以继续” 的声明。相比之下,text-davinci-003 在回答问题之前会自主生成并填充缺失的答案提示;b)当提供超过十个提示时,GPT-3.5-Turbo 可能会回复 “由于给出了多个答案提示,我无法确定正确的答案。请为问题提供一个答案提示。”
在部署 GPT-4 模型后,作者能够在 SVAMP、GSM8K、AQuA 和 MATH 基准测试上实现新的 SOTA 性能。作者提出的 PHP 方法不断改善了 GPT-4 的性能。此外,与 GPT-3.5-Turbo 模型相比,作者观察到 GPT-4 所需的交互次数减少了,这与 “当模型更加强大时,交互次数会减少” 的发现相一致。
总结
本文介绍了 PHP 与 LLMs 交互的新方法,具有多个优点:1)PHP 在数学推理任务上实现了显著的性能提升,在多个推理基准测试上领先于最先进的结果;2)使用更强大的模型和提示,PHP 可以更好地使 LLMs 受益;3)PHP 可以与 CoT 和 SC 轻松结合,进一步提高性能。
为了更好地增强 PHP 方法,未来的研究可以集中在改进问题阶段的手工提示和答案部分的提示句子的设计上。此外,除了将答案当作 hint,还可以确定和提取有助于 LLMs 重新考虑问题的新 hint。