数学推理中的上下文学习
一个上下文的样本通常包含一个输入 - 输出对和一些 prompt 词,例如,请从列表中选择最大的数字。
输入:[2, 4, 1, 5, 8]
输出:8。
少样本学习会给出多个样本,然后模型在最后一个输入样本时预测输出。然而这种标准的少样本 prompting,即在 test-time 样本前给大型语言模型提供输入 - 输出对的上下文样本,还没有被证明足以在数学推理等挑战性任务上取得良好表现。
思维链(Chain-of-thought prompting,CoT)利用中间的自然语言解释作为 prompt,使大型语言模型首先生成推理链,然后预测一个输入问题的答案。例如,一个解决应用题的 CoT prompt 可以是
Kojima et al.(2022)提出,为模型提供「让我们一步一步地思考!(Let’s think step by step!)」的 prompt 会让大型语言模型成为良好的零样本推理器。除此之外,近期的大部分工作都集中在如何在零样本推理的设置下改进思维链推理。这类工作主要分为两部分:(i)选择更好的上下文样本和(ii)创造更好的推理链。
上下文样本选择
早期的思维链工作是随机地或启发式地选择上下文样本。最近的研究却表明,在不同的上下文例子选择中,这种类型的少样本学习可能是非常不稳定的。因此,哪些上下文的推理样本能做出最高效的 prompt,在学术上仍是一个未知的问题。
为了解决这个局限,最近的一些工作研究了各种方法来优化上下文样本的选择过程。例如,Rubin et al.(2022)试图通过检索语义相似的样本来解决这个问题。然而,这种方法在数学推理问题上效果不佳,而且如果包含结构化信息(如表格)就很难衡量相似性。此外,Fu et al.(2022)提出了基于复杂性的 prompt,选择具有复杂推理链的样本(即具有更多推理步骤的链)作为 prompt。Lu et al.(2022b)提出了一种通过强化学习来选择上下文样本的方法。具体来说,智能体学习从候选池中找到最佳的上下文样本,目的是在与 GPT-3 环境互动时,使给定的训练样本的预测奖励最大化。此外,Zhang et al.(2022b)发现示例问题的多样化也可以提高模型性能。他们提出了一个两步法来构建上下文中的示例问题:首先,将给定数据集的问题划分为几个群组;其次,从每个群组中选择一个有代表性的问题,并使用具有简单启发式的零样本思维链生成其推理链。
高质量推理链
早期的思维链工作主要依靠单一的人类注释推理链作为 prompt。然而,人工创建推理链有两个缺点:首先,随着任务变得越来越复杂,目前的模型可能不足以学会执行所有必要的推理步骤,而且不能轻易推广到不同的任务;其次,单一的解码过程很容易受到错误推理步骤的影响,导致最终的答案是不正确的预测。为了解决这个限制,最近的研究主要集中在两个方面:(i)手工制作更复杂的示例,称为基于过程的方法;(ii)利用类似集合的方法,称为基于结果的方法。
在评估现有的基准和方法之后,作者还讨论了这一领域的未来研究方向。更多研究细节,可参考原论文。