https://arxiv.org/abs/2201.11903
作者单位:谷歌的研究团队
我们探讨了如何通过生成一个思维链——一系列中间推理步骤——显著提高大型语言模型执行复杂推理的能力。尤其是,我们展示了在足够大的语言模型中,这种推理能力如何通过一种简单的方法自然地涌现,这种方法称为思维链提示(chain-of-thought prompting),其中提供少量的思维链示例作为提示中的范例。
在三个大型语言模型上的实验表明,思维链提示在一系列算术、常识和符号推理任务上提高了性能。实证收益可能非常显著。例如,仅用八个思维链示例提示一个PaLM 540B模型,就能在数学文字题的GSM8K基准测试中达到最新的准确性,甚至超过了经过微调并带有验证器的GPT-3。
思维链提示作为促进语言模型推理的一种方法,具有几个吸引人的特性。
在实证实验中,我们将观察思维链提示在算术推理(第3节)、常识推理(第4节)和符号推理(第5节)中的效用。
成功的链式思维推理仅在某些模型规模上可预测地出现,这一发现令人着迷。据研究表明,扩大语言模型的规模能够带来诸如性能提升和样本效率提高等好处(Kaplan et al., 2020),但链式思维推理具有一种突现性,其成功不能仅通过外推小规模模型的性能来预测,因为链式思维实际上会降低大多数小于100亿参数模型的性能。为什么模型规模能够改善链式思维提示的原因无疑是多方面的,我们通过错误分析进行了初步尝试以提供一些见解。这一小型分析包括手动阅读PaLM 62B模型所犯的45个错误,并将它们分类为语义理解(20个错误)、一步缺失(18个错误)和其他错误(7个错误)。“其他类别”包括幻觉、重复输出和符号映射错误。这一分类方法是从附录D.2中对LaMDA进行的初步错误分析借用而来,分类依据是为了使链式思维正确所需的改进。
如图9所示,将PaLM扩展到540B参数修正了所有三类错误中的大部分。图10给出了通过将PaLM扩展到540B参数修正的语义理解和一步缺失错误的例子。这一结果似乎与一种假设一致,即语言模型随着模型规模的增加而获得了一系列语义理解和逻辑推理技能(尽管需要注意的是,模型规模通常与其他因素混淆,例如训练计算量)。
提示工程在语言模型的应用中扮演重要角色,因为提示的具体内容对模型的结果有显著影响。研究表明,提示会以意想不到的方式影响语言模型的表现。通过选择和调整提示的示例,以及考虑不同的注释者、不同的示例集和不同的语言模型,可以优化模型的性能。
关键发现包括:
尽管思维链提示总体上优于标准提示,但在某些任务中,提示工程仍然是必要的,以实现最佳性能。未来的研究可以探索如何以更稳健的方式生成思维链注释。
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!