[论文解读] Successive Prompting for Decomposing Complex Questions
本文提出 Successive Prompting 方法,通过迭代地将复杂问题分解为更简单的子问题,使用大语言模型按顺序回答每个子问题,并将问题分解的监督与答案生成的监督解耦。该方法通过在每一步中选择多个上下文示例并利用合成数据来弥补推理缺口,在 few-shot DROP 上相比最先进模型实现了 5% 的绝对 F1 提升。
Answering complex questions that require making latent decisions is a challenging task, especially when limited supervision is available. Recent works leverage the capabilities of large language models (LMs) to perform complex question answering in a few-shot setting by demonstrating how to output intermediate rationalizations while solving the complex question in a single pass. We introduce ``Successive Prompting'', where we iteratively break down a complex task into a simple task, solve it, and then repeat the process until we get the final solution. Successive prompting decouples the supervision for decomposing complex questions from the supervision for answering simple questions, allowing us to (1) have multiple opportunities to query in-context examples at each reasoning step (2) learn question decomposition separately from question answering, including using synthetic data, and (3) use bespoke (fine-tuned) components for reasoning steps where a large LM does not perform well. The intermediate supervision is typically manually written, which can be expensive to collect. We introduce a way to generate a synthetic dataset which can be used to bootstrap a model's ability to decompose and answer intermediate questions. Our best model (with successive prompting) achieves an improvement of ~5% absolute F1 on a few-shot version of the DROP dataset when compared with a state-of-the-art model with the same supervision.
研究动机与目标
- 为解决大语言模型在 few-shot 复杂问题问答中因推理步骤和潜在决策而表现不佳的挑战。
- 将问题分解的监督与答案生成的监督解耦,实现模块化训练与推理。
- 通过在每个推理步骤中允许多个上下文示例选择,提升 few-shot 性能。
- 开发一种合成数据生成器,为分解和答案生成提供监督,减少对昂贵人工标注的依赖。
- 支持在语言模型表现不佳时,使用特定组件(如微调模型或符号引擎)替代特定推理步骤。
提出的方法
- 该方法使用迭代提示:在每一步中,模型预测下一个应提出的问题,然后回答该问题,重复此过程直至得到最终答案。
- 分解与回答作为独立的模块化阶段进行,每个阶段均有独立的监督和上下文学习能力。
- 该方法允许为每个推理步骤量身定制多个上下文示例选择,而非基于原始问题使用单个固定示例集。
- 从半结构化的维基百科表格中生成合成数据集,为中间分解和答案生成提供监督。
- 模型可独立在分解和回答任务上进行微调,从而针对特定推理类型实现针对性改进。
- 该框架支持在适当情况下用符号模型或微调模型替换语言模型组件。
实验结果
研究问题
- RQ1通过为每个推理步骤分别提供监督的迭代分解,能否提升 few-shot 复杂问题问答性能?
- RQ2在每个步骤中允许多个上下文示例选择,是否能优于单次提示(single-pass prompting)?
- RQ3合成数据能否在低资源设置下有效弥补推理能力的不足?
- RQ4结合语言模型与专用组件的模块化系统,能否优于端到端语言模型方法?
- RQ5分解的粒度如何影响性能?是否可依据模型能力进行自适应调整?
主要发现
- 在 DROP 数据集的 few-shot 上下文学习中,Successive Prompting 相较于思维链(chain-of-thought)提示方法,F1 提升了 4.6 个百分点。
- 将上下文问答模块替换为针对列表型问题微调的专用模型,进一步带来 9.5 个 F1 点的提升。
- 最佳的 Successive Prompting 模型在 DROP 上相比使用相同 few-shot 监督的最先进模型,实现了约 5% 的绝对 F1 提升。
- 合成数据生成器成功覆盖了 DROP 中的大多数推理类型,使预训练和微调能够有效进行。
- 将分解与回答解耦,使得可实现针对性的模型改进,并支持集成专用组件。
- 该方法因每道问题需多次调用模型而增加计算成本,但其带来的准确率提升和模块化优势可有效抵消此代价。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。