引言
思维链(CoT)提示可以大大提升大型语言模型(LLMs)的推理能力。然而,当前CoT方法要么采用简单的通用提示,例如“让我们一步一步思考”,要么严重依赖手工制作的特定任务Demo来获得更好的性能,这使其在性能和泛化之间产生了不可避免的差距。
为此,上交大本文提出:Meta-CoT,它是一种在输入问题类型未知的混合任务场景中通用的CoT提示方法,弥合了性能和泛化之间的差距。在总共15个分布内/外数据集上都获得了优秀的表现,且在SVAMP上测试结果达到了SOTA(93.7%)。
Paper:https://arxiv.org/pdf/2310.06692.pdf
Code:https://github.com/Anni-Zou/Meta-CoT
背景介绍
大型语言模型(LLM)凭借思想链(CoT)提示在复杂推理方面表现出了较强的能力。CoT提示通过利用中间推理链,一步一步的来引导LLMs生成最终答案。目前的CoT提示方法主要分为两类,分别称为General Zero-Shot-CoT和Specific Few-Shot-CoT。
「General Zero-Shot-CoT」 主要是利用“让我们一步一步思考”等一般提示,并将其直接附加到输入问题中,以此来激发LLMs的逐步推理潜力。
「Specific Few-Shot-CoT」 主要提供特定于任务的输入输出对作为上下文Demo,并将它们放在输入问题之前,目的是引导LLMs通过精心选择的Demo进行多步推理。
然而,上面的研究存在两个主要局限性:一方面,通用零样本CoT模式由于不需要任何与任务相关的样本而具有良好的泛化能力,但与少样本模式相比,它在性能方面就会存在差距;另一方面,Specific Few-Shot-CoT 模式严重依赖于特定任务的Demo来获得卓越的性能,但无法提供良好的泛化能力。
尽管最近的研究工作在减少体力劳动或提高Prompt质量方面取得了进展,但迄今为止所有这些工作都停留在与任务相关的角度。然而,在实际应用中,LLMs往往会遇到混合类型问题的情况,无法明确问题属于哪个任务。
在这些情况下,当场制作几个与任务相关的Demo是不切实际的,并且在实际案例中很有可能遇到的问题与预定义任务集存在很大的差异。此外,一昧的使用一般触发提示可能会导致性能下降,因为缺乏模板化的基本原理通常会产生虚假的推理步骤。
因此,性能和泛化之间存在不可避免的差距,特别是在现实的混合任务场景中。为了缩小这种差距,一个潜在的策略是探索通用性和性能之间的权衡。
Meta-CoT
基于以上问题,本文提出了Meta-CoT:一种在输入问题类型未知的混合任务场景中的可推广的CoT提示方法。Meta-CoT主要包括三个阶段:场景识别、Demo选择、答案推理,具体如下图所示:
「场景识别」 从混合问题池中收集各种推理类型的问题,并从中采样不同的问题作为ICL演示文稿。首先,Meta-CoT使用这些演示文稿来对输入问题的场景进行分类。具体来说,Meta-CoT将输入问题与ICL演示文稿进行比较,并计算它们之间的相似度。然后,Meta-CoT将输入问题分配到与其最相似的ICL演示文稿所属的场景中。最后,Meta-CoT使用相应场景的数据池来构建多样化的演示文稿,以便对输入问题进行最终推理。
这个步骤的目的是为了确定输入问题所属的场景,以便Meta-CoT可以使用相应场景的数据池来构建多样化的演示文稿,从而提高推理的准确性和效率。
「Demo选择」 根据上一步在确定了输入问题的场景后,我们会为上下文学习构建场景特定的演示。给定输入问题的场景,我们会获取相应的场景数据组,然后从中选择几个代表性问题进行少样本演示构建。
「答案推理」 基于以上两个步骤,在确定了输入问题的场景并构建了场景特定的Demo后,执行最终推理以获取输入问题的答案。具体来说,通过构建每个演示来执行最终推理,其中每个演示由以下内容组成:问题、理由和预测答案,并将其反馈传递到混合数据池。
实验结果
作者对十个分布推理任务进行了实验,其中包括算术推理、常识推理和符号推理。Meta-CoT在推理与泛化能力方面具有出色的表现。值得注意的是,Meta-CoT在SVAMP具有最先进的结果:93.7%
除此之外,作者还对五个分布外数据集做了的实验,进一步验证了Meta-CoT的稳定性和通用性。
推荐阅读
[1]NeurIPS2023,分享10篇值得阅读的paper!
[2]伯克利提出环注意力,最高支持100M上下文!
[2]2023年9月,爆款论文总结,最新学术进展!
[3]RAIN:大模型无需微调,即可实现对齐!!
[5]猛犸象大模型!数学大模型,现已超过GPT-4!
[6]利用200条数据微调模型,怒超MiniGPT-4!
[7]干货!Prompt链式方法总结,驾驭各种大模型!