
摘要
我们研究了语言模型在组合性推理任务中的表现,这类任务的最终解答依赖于对子问题答案的正确组合。我们通过衡量模型能够正确回答所有子问题但无法生成整体答案的频率,来评估这一能力,该比率被称为“组合性差距”(compositionality gap)。为评估这一差距,我们提出了需要多跳推理的复杂问题,其答案需整合多个在预训练阶段极少共同出现的事实。在GPT-3系列模型中,随着模型规模的增大,我们发现单跳问答性能的提升速度远超多跳推理性能的提升,因此组合性差距并未缩小。这一出人意料的结果表明,尽管更强大的模型能够记忆并召回更多事实性知识,但在执行此类组合性推理方面却未表现出相应的进步。随后,我们展示了通过诱发式提示(如思维链,Chain-of-Thought)可有效缩小组合性差距,因为该方法促使模型进行显式推理。我们提出了一种新方法——自问(Self-Ask),其在思维链的基础上进一步优化。在该方法中,模型在回答初始问题之前,会主动提出并回答一系列后续问题,从而逐步构建推理路径。最后,我们证明,自问所采用的结构化提示机制,使得我们能够轻松集成搜索引擎来解答这些后续问题,从而进一步提升了整体准确性。
代码仓库
ofirpress/self-ask
官方
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| question-answering-on-bamboogle | Self-ask (GPT-3; davinci-002) | Accuracy: 57.6 |
| question-answering-on-bamboogle | Self-ask (GPT-3; davinci-002) + Google Search | Accuracy: 60.0 |
| question-answering-on-bamboogle | Google Search | Accuracy: 0 |
| question-answering-on-bamboogle | Chain-of-Thought (GPT-3; davinci-002) | Accuracy: 46.4 |
| question-answering-on-bamboogle | Direct Prompting (GPT-3; davinci-002) | Accuracy: 17.6 |
| question-answering-on-fever | Self-Ask | EM: 64.2 |
| question-answering-on-webquestions | Self-Ask | EM: 31.1 |