如何快速掌握一个行业?100个关键词就够了,跟我来一起学习吧:一天一个关键词-AIGC-100天
思维链:(Chain-of-Thought,简称CoT)
在2017-2019年间,Transformer模型的提出和大规模语料库的出现使自然语言处理(NLP)领域发生了重大变化。这一时期,传统的全监督学习方法逐渐达到瓶颈,而大规模预训练模型(如Bert和RoBERTa)引领了新的研究方向,即预训练加下游任务Fine-tune。但随着语言模型规模(如GPT-3的175B参数)的增大,Fine-tune成本上升,传统方法变得不够有效,导致提示学习的兴起。2021年,提示学习经历了从离散到连续化的发展,但同样面临资源消耗和训练不稳定等问题。到2022年,大型语言模型在多个任务上取得显著进步,但在算术推理、常识推理和符号推理等领域仍有不足。结合in-context few shot能力和中间步骤改善这些领域的能力成为新的挑战,思维链的相关研究应运而生
思维链的概念
思维链(CoT)是一种改进的提示策略,用于提高 LLM 在复杂推理任务中的性能,如算术推理、常识推理和符号推理。CoT 没有像 ICL 那样简单地用输入输出对构建提示,而是结合了中间推理步骤,这些步骤可以将最终输出引入提示。简单来说,思维链是一种离散式提示学习,更具体地,大模型下的上下文学习(即不进行训练,将例子添加到当前样本输入的前面,让模型一次输入这些文本进行输出完成任务),相比于之前传统的上下文学习(即通过x1,y1,x2,y2,....xtest
作为输入来让大模型补全输出ytest
),思维链多了中间的中间的推导提示,以下图为例:
可以看到,类似的算术题,思维链提示会在给出答案之前,还会自动给出推理步骤:
“罗杰先有 5 个球,2 罐 3 个网球等于 6 个,5 + 6 = 11”
“食堂原来有 23 个苹果,用 20 个做午餐,23-20=3;又买了 6 个苹果,3+6=9”
思维链提示给出了正确答案,而直接给出答案的传统提示学习,结果是错的,连很基本的数学计算都做不好。简单来说,语言模型很难将所有的语义直接转化为一个方程,因为这是一个更加复杂的思考过程,但可以通过中间步骤,来更好地推理问题的每个部分。
一个有效的思维链应该具有以下特点:
- 逻辑性:思维链中的每个思考步骤都应该是有逻辑关系的,它们应该相互连接,从而形成一个完整的思考过程。
- 全面性:思维链应该尽可能地全面和细致地考虑问题,以确保不会忽略任何可能的因素和影响。
- 可行性:思维链中的每个思考步骤都应该是可行的,也就是说,它们应该可以被实际操作和实施。
- 可验证性:思维链中的每个思考步骤都应该是可以验证的,也就是说,它们应该可以通过实际的数据和事实来验证其正确性和有效性。
CoT(Chain of Thought)推理对小型模型效果有限,需至少10B参数模型才显效果,100B参数模型中效果更为明显。小模型往往输出流畅但不合逻辑的CoT,导致错误结果。CoT在复杂问题上(如GSM8K)表现更佳,使GPT-3和PaLM的性能提升一倍多,但在简单任务(如MAWPS-SingleOp)上改进微小或负面。配合CoT的PaLM 540B在某些任务上超越特定监督学习模型。未使用CoT时,大型语言模型(LLM)在GSM8K和MAWPS上不如最优监督学习模型。
思维链通过分解问题为子问题逐个解决,引导推理。其好处包括:
- 允许模型对多步推理问题进行分解,将计算集中在复杂问题上。
- 增强大型语言模型的可解释性和可信度,提供调试推理路径的机会。
- 适用于数学题、常识推理和符号操作等任务,可用于任何需要语言解决的问题。
- 通过在few-shot prompting中加入CoT,引导出大型模型的推理能力。
局限性包括:
- 尽管模仿人类推理过程,模型是否真学会推理待验证。
- 人工设计思维链代价大,大规模标注不可行。
- 思维链仅在大规模模型(10B以上)中有效。