研究细节
Zero-shot-CoT 是一个基于零样本模板的 prompting 方法,用于思维链推理。它不同于最初的思维链 prompting [Wei et al., 2022],因为它不需要 step-by-step 少样本示例,它也不同于之前的大多数模板 prompting,因为它本质上与任务无关,可以通过单一模板在广泛的任务范围内进行 multi-hop 推理。该方法的核心思想非常简单,如上图 1 所示:添加「Let’s think step by step」,或者类似的文本(如下表 5 所示),然后就能让模型进行一步一步的推理。
两阶段 prompting
Zero-shot-CoT 在概念上很简单,其微妙之处在于它使用了两次 prompting,如图 2 所示。这是因为零样本基线(图 1 左下角)已经以「The answer is」的形式使用了 prompting,以正确的格式提取答案。少样本 prompting(standard 或 CoT)通过显式地设计以这种格式结尾(见图 1 右上角)的少样本示例答案来避免对此类答案提取 prompting 的需要。总而言之,Few-shot-CoT [Wei et al., 2022] 需要仔细地人为设计一些 prompt 示例,每个任务都有特定的答案格式,而 Zero-shot-CoT 不需要这样的工程,但需要两次 promp。
第一个 prompt:推理提取。在这一步中,首先使用一个简单的模板「Q: [X]. A: [Z]」将输入问题 x 修改为一个 prompt,其中,[X]是 x 的一个输入位置,[T] 是手工触发的句子 t 的位置,它将提取一个思维链来回答问题 X。例如,如果我们使用「Let’s think step by step」作为触发句,prompt 就是「Q: [X]. A: Let’s think step by step.」然后将被加工成 prompt 的文本 x’输入到语言模型中,生成后续句子 z。此处可以使用任何解码策略,但为了简单起见,研究者在整个论文中都使用了贪婪解码。
第二个 prompt:答案提取。在第二步中,使用生成的句子 z 和被加工成 prompt 的句子 x’从语言模型中提取最终答案。具体来说,我们简单地将三个元素连接起来,如 [X’] [Z] [A]:[X’] 表示第一个 prompt x’, [Z]表示第一步生成的句子,[A]表示用来提取答案的触发句。这一步的 prompt 是自增强的,因为 prompt 包含同一个语言模型生成的句子 z。在实验中,研究者会根据答案格式的不同使用不同的答案触发句。例如,他们在多项选择 QA 中使用「Therefore, among A through E, the answer is」,在需要数字答案的数学问题中使用「Therefore, the answer (arabic numerals) is」。最后,将被加工成 prompt 的文本作为输入馈入语言模型,生成句子ˆy 并解析最终答案。
实验结果
该研究在四类推理任务的 12 个数据集上评估了新方法,包括算术、常识、符号和其他逻辑推理任务。
该研究对下表所示的 13 种模型进行了实验:
Zero-shot-CoT vs Zero-shot
下表 1 比较了每个数据集上新方法 (Zero-shot-CoT) 和标准零样本 prompting 方法(Zero-shot)的准确性。Zero-shot-CoT 在四种算术推理任务(MultiArith、GSM8K、AQUA、SVAMP)、所有符号推理任务和所有逻辑推理任务上都显著优于 Zero-shot 方法。
该研究还将 Zero-shot-CoT 方法与其他基线进行了比较,在两个算术推理基准(MultiArith 和 GSM8K)上的结果如下表 2 所示。标准 prompting(第一部分)和 thought prompting(第二部分)之间的巨大差距表明,如果不使用多步骤推理,这些任务是非常困难的。
Zero-shot-CoT 自然不如 Few-shot-CoT,但它甚至在每个任务 8 个样本的情况下都能大大优于标准的 few-shot prompting 方法 。对于 GSM8K,使用 Instruct GPT-3 (175B) 的 Zero-shot-CoT 也优于微调 GPT-3 和使用大型模型 (PaLM, 540B) 的标准 few-shot prompting 方法(上表 2 第三部分)。
然后,该研究进一步实验来回答如下几个问题。
模型大小对于零样本推理是否重要?为了回答这个问题,该研究比较了各种语言模型在 MultiArith 数据集上的性能,结果如下表 3 所示。
如果没有思维链推理(chain of thought reasoning),性能不会随着模型规模的增加而增加,或者只是缓慢地增加,增长曲线大多是平坦的。相比之下,随着模型规模变大,性能随着思维链推理而迅速提升。当模型规模较小时,思维链推理无效。这一结果与 Wei et al. [2022]的 few-shot 实验结果一致。此外,研究者还手动查看了生成的思维链的质量,大模型有着更好的推理效果。
prompt 的选择对 Zero-shot-CoT 方法有什么影响?该研究针对输入 prompt 验证了 Zero-shot-CoT 的稳健性。表 5 总结了使用多个不同句子模板的性能。结果表明,如果以「鼓励」思维链推理的方式编写文本,性能就会得到提升。但是,根据句子的不同,准确性的差异很大。在这个实验中,「Let’s think step by step」达到最佳效果。有趣的是,研究者发现不同模板鼓励模型推理的方式截然不同。
prompt 的选择对 Few-shot-CoT 有什么影响呢?表 6 显示了 Few-shot-CoT 在使用来自不同数据集的样本时的性能。令人惊讶的是,来自不同域但具有相同答案格式的思维链样本提供了相对于 Zero-shot 的显著性能提升。相比之下,当使用具有不同答案类型的样本时,性能增益变少,这表明 LLM 主要利用 few-shot 样本来推断重复格式,而不是任务语境。尽管如此,这两种情况的结果都比 Zero-shot-CoT 差,这说明特定任务样本工程对 Few-shot-CoT 是至关重要的。