今天分享的是由上海交通大学发表的一篇文章:Auto-COT
论文题目:AUTOMATIC CHAIN OF THOUGHT PROMPTING IN LARGE LANGUAGE MODELS
论文链接:https://arxiv.org/pdf/2210.03493
代码地址:https://github.com/amazon-science/auto-cot
大模型通过思维链COT将复杂问题分解为多个中间步骤,展示出了强大的推理能力,大模型的思维链COT主要分为两大范式:
这篇文章提出了自动思维链(Auto-CoT),先将问题聚类,每一类中抽出一个具有代表性的问题,利用零样本思维链为每个问题生成推理链。例如:一共有K个聚类,会抽取K个问题,用提示词“让我们一步一步地思考”,生成K套思维链步骤。当向大模型提出一个新问题后,系统将K套思维链步骤作为提示词和新问题一并输入大模型,并完成作答。
这篇论文设计了一种称为 Retrieval-Q-CoT的方法,该方法基于余弦相似性检索最相似的前 个(例如 )相似的问题。为了与这种基于相似性的方法对比,使用Random-Q-CoT方法,为每个测试问题随机抽样其他 个测试问题。这两种方法都调用 Zero-Shot-CoT 来为每个抽样的问题 生成推理链 (包括理由和答案),因为 LLM 在零样本设置下是不错的推理器。
从实验结果来看,在调用Zero-Shot-CoT时,Retrieval-Q-CoT在算术数据集MultiArith上的表现不如Random-Q-CoT,而在带有注释推理链的GSM8K和AQuA两个数据集上,Retrieval-Q-CoT甚至优于Manual-CoT。结果表明,Retrieval-Q-CoT的较差性能是由Zero-Shot-CoT的错误推理链引起的。
相似性误导指的是,Retrieval-Q-CoT中的推理链(包括基本原理和答案)是由Zero-Shot-CoT生成的,它们可能存在导致错误的答案。在检索到与测试问题类似的问题之后,由Zero-Shot-CoT引起的错误演示可能会误导同一个LLM以类似的方式推理错误的答案。
在来自MultiArith数据集的所有600个问题上调用了Zero-Shot-CoT。在这之中,我们收集了那128个Zero-Shot-CoT生成了错误答案的问题(错误率:21.3% )。在Zero-Shot-CoT失败的问题Q中,将那些即使有了额外演示后Retrieval-Q-CoT或Random-Q-CoT仍然失败的问题称为未解决的问题。将未解决问题的数量除以128(Q中的问题数量)来计算未解决率。 Retrieval-Q-CoT的未解决率为46.9%,远高于Random-Q-CoT的25.8%。这表明当为测试问题采样了相似的问题时,Retrieval-Q-CoT受到相似性误导的负面影响更大。
使用K-means聚类可以帮助识别出哪些类型的问题更难被Zero-Shot-CoT正确解答。高频错误簇的存在表明,某些问题类型对于Zero-Shot-CoT来说确实更具挑战性。
Retrieval-Q-CoT依赖于找到相似的问题来构建演示,但如果这些问题是来自高频错误簇,则可能导致错误的传播。
相比之下,Random-Q-CoT由于其随机抽样的特性,能够避免因相似性而导致的错误复制,从而表现出更低的未解决率1。
假设所有错误演示的问题都属于同一个高频错误簇,则从每个不同的簇中抽样一个问题。由于不同的簇反映了问题语义的多样性,这种基于聚类的抽样方法可以被视为基于多样性的。
通过引入基于多样性的抽样方法以及利用简单的启发式规则,我们可以有效地减少由零样本CoT产生的误导,并提高自动化生成的推理链的质量。这种方法不仅提高了正确解答的可能性,还增强了系统对不同类型问题的适应性,从而提升了整体的推理性能。
Auto-CoT主要由两个阶段组成:
由于基于多样性的聚类可能会减少由相似性导致的误导,我们针对给定的问题集合 执行聚类分析,。我们首先使用Sentence-BERT为 中的每个问题计算一个向量表示。随后,这些问题表示被 k-means 聚类算法处理,以产生 个问题簇。对于簇 中的每个问题,我们将它们按照到簇 中心的距离升序排列成列表,。
在第二阶段,为那些抽样的问题生成推理链,然后选择符合我们选择标准的演示。具体来说,对于每个簇 (),我们构建一个演示 (由一个问题、一个推理过程和一个答案组成的连接)。
对于簇 ,我们在排序后的列表中迭代问题,直到满足我们的选择标准。换句话说,离簇 中心更近的问题会被优先考虑。假设第 近的问题 正在被考虑,通过到零样本推理链,输入到大模型中,得到包含推理过程和提取的答案的推理链。然后,通过将问题、推理过程和答案连接起来,构建了第 个簇的候选演示。
所构造的范例被用来增强测试问题的上下文学习。输入所有范例,然后送入LLM获得推理链,最后得到最终的答案。
论文在来自三个类别推理任务的十个基准数据集上进行了评估:
这篇文章提出了自动思维链(Auto-CoT),先将问题聚类,每一类中抽出一个具有代表性的问题,利用零样本思维链为每个问题生成推理链。自动思维链(Auto-CoT)的优势在于,不需要手工分解解题步骤,不需要编写思维链提示词。这是一个很大的进步。但是,这种技术的也有一个明显的局限:需要对问题集划分成几个聚类,对每个聚类都要生成一组思维链提示词,并且这些提示词还要一并输入到大模型里。聚类太少,思维链的多样性不够;聚类太多,提示词太长,效率太低。