文章目录
- Abstract
- Introduction
- Chain-of-thought prompting
- Arithmetic Reasoning
- Commonsense Reasoning
- Symbolic Reasoning
- Limitation
- Appendix
Abstract
本文通过Chain of Thoughts(CoT,即推理中间过程),提升大型语言模型(LLM)推理能力。
在三个LLM上证明了CoT能够显著提升算术、常识、符号推理能力。
Introduction
本文要探究如何提升大型语言模型执行少样本提示推理的能力。
已有研究提供了两个思路:① 算术推理任务能够通过
生成中间推理过程的自然语言
得到提升;② 基于LLM的
提示学习
在少样本推理任务中表现出色。
本文结合了这两个思路:使用
LLM生成中间推理过程
执行推理任务。
本文提出的
prompt exemplar
是一个三元组:<input, chain-of-thought, output>。其中chain-of-thought就是推理过程的中间步骤。
Chain-of-thought prompting
本文证明,只要推理链被包含在exemplar中,足够大的语言模型是可以生成chain-of-thought的。
下图(左)为standard prompting,exemplary为<input, output>;
下图(右)为本文prompt的例子,exemplary为<input, chain-of-thought, output>,高亮部分为chain-of-thought。
下文通过算术、常识、符号推理三个实证分析解释推理链的作用。
Arithmetic Reasoning
experimental setup
-
dataset(math word problem)
- GSM8K, SVAMP, ASDiv, AQuA, MAWPS baseline
- standard prompting
chain-of-thought
:作者人工构建了用于求解math word problem的exemplar,共8个few-shot样例(原文Table20)
LLM
:基于5个LLM(GPT-3, LaMDA, PaLM, UL2 20B, Codex)分别对standard prompting和chain-of-thought进行实验。
result
(1)chain-of-thought对大规模模型有帮助,但小规模模型会产生通顺但不合逻辑的推理链,从而使得效果差于standard prompting;
(2)问题越复杂,chain-of-thought提升效果越好;
(3)一些数据集的结果是state-of-the-art的。
(4)随机抽取最终答案正确的样本进行人工检验,推理链几乎都是正确的;对于最终答案错误的样本,推理链大多也只有一些小细节错误。
ablation study
这一部分对推理链进行了三种变式,检验chain-of-thought成功的原因。
(1)
Equation only
:prompt只包含数学公式,没有自然语言。
对于复杂问题效果差,简单问题(只有一步或两步)效果好。说明了自然语言表述的必要性。
(2)
Variable only
:prompt只包含一个dot序列(…),与最终答案的计算所需的字符数相等。
表现与baseline(standard prompting)相同。同样说明了自然语言表述的必要性。
(3)
Reasoning after answer
:将推理过程放在answer之后,检验推理链是不是通过帮助模型在预训练中提取相关的信息得到最终答案。
表现与baseline(standard prompting)相同,说明推理链和答案的顺序很重要,答案是基于推理链得出的。
Commonsense Reasoning
experimental setup
-
dataset
- CSQA, StrategyQA, Date, Sports, SayCan prompt
- 同上
Result
与math problem类似,效果有提升,且随着模型规模增大和问题复杂度增加。提升越来越明显。
Symbolic Reasoning
experimental setup
task
:Last letter concatenate and coin flip
其余设置同上。
result
与前两个任务类似。
Limitation
(1)尽管推理链显示了推理过程,但事实上并不能证明神经网络本身是否存在推理过程;
(2)本文没有对LLM进行微调,这样的few-shot标注对于微调来说不可行;
(3)不能保证推理路径的正确性。
Appendix
- chain-of-thought的适用范围:①问题具有挑战性且具有多步骤推理;②需要应用大规模语言模型;③scaling curve相对平滑。
- full prompt examples
- full experimental results
- other details