CoT[1]作为LLM提示中的关键技术,构成CoT提示的基本原则和结构是什么?本文试图做一个拆解。内容来自论文:《Towards Understanding Chain-of-Thought Prompting: An Empirical Study of What Matters》[2]。
CoT明确鼓励LLM在解决问题时生成中间理由。这是通过在示范中提供一系列推理步骤以供LLM模仿来实现的。
尽管CoT取得了成功,但直到最近,人们对于是什么让CoT提示有效以及演示推理步骤的哪些方面有助于CoT成功还知之甚少。
近来出现了许多类似“Chain of X”实现(CoX),展示了大型语言模型(LLMs)如何能够将复杂问题分解为一系列中间步骤。
Cox方法在与大型语言模型交互时,在某一些特定的场景,非常成功。
CoT 的组成部分
研究发现,推理的有效性对性能只有很小一部分影响。即使提供了完全无效的推理步骤的理由,LLM仍然能够达到CoT性能的80%到90%。
所以产生一个问题:
真实桥接对象/语言模板重要吗?如果不重要,那么对于大型语言模型正确推理所需的关键方面是什么?
在进一步的检查之后,研究识别并阐述了CoT理由的其他方面,并发现与查询相关以及正确排序推理步骤对于CoT提示的有效性至关重要。
桥接对象
桥接是指模型在得出最终结论时所遍历的象征性项目。在算术任务中,桥接可以由数字和方程式组成,或者在事实任务中由实体的名称组成。
语言模板
语言模板是文本提示,它指导语言模型在推理过程中派生和情境化正确的桥接对象。
如果粗浅的理解,就是出现那些对象,以什么样的方式链接在一起。
图是一个实际例子,展示了用于创建CoT推理的桥接对象(蓝色)和语言模板(红色)。
连贯性
连贯性指的是在理由中正确排序步骤,并且对于成功的思维链条是必要的。具体来说,由于思维链条是一个顺序推理过程,后续步骤不可能是早期步骤的先决条件。
相关性
相关性指的是论证是否包含问题中的对应信息。例如,如果问题提到一个名叫Leah的人在吃巧克力,那么讨论另一个人剪头发就是不相关的。
我们看一些具体的结论:
上图我们展开说一下:
1. 总的来说,相关性是很重要的。
2. 对桥接对象来说,相关性的重要性多于一致性。
3. 对语言模板来说,一致性的重要性多余相关性。
深入理解 第2,第 3 点,还是很有意思的。这是否可以理解为 LLMs 学到的形式多过语义呢?
进一步思考,提升 LLMs 能力方向,在不改变 Transformer 的情况下:
1. 增加合成数据。极端一些,遍历可能的形式,这样 LLMs 的泛化能力会进一步加强。对 Prompt 的形式的要求就会降低。
2. 增加参数量。现在的趋势,是对小模型进行微调,适应各种任务。再大,是否会有新的能力出现呢?
引用:
[1]https://arxiv.org/abs/2201.11903
[2]https://aclanthology.org/2023.acl-long.153.pdf
原文:
https://cobusgreyling.medium.com/the-anatomy-of-chain-of-thought-prompting-cot-b7489c925402
继续阅读
阅读原文