这篇论文综述来自上海交大张倬胜教授团队 的一篇论文综述,从 CoT 到 Agent 的一个综述。以此为起点吗,又看了张教授对 CoT 的一些分享,逐步加深了对 CoT 场景的理解,收货很大,记录于此:
-
CoT 的概念与应用全景图
-
CoT 什么时候有效?为什么有效?
-
Automatic CoT Generation是怎么做的
-
CoT 的推理范式有哪些
-
Multimodal Chain-of-Action的表现
-
CoT 和 Agent 的相辅相成


什么是 CoT( Chain of Thought)?****
借助 Prompt, 使得 LLM 产生了 Rational 合理化的过程 。上面那篇论文很有艺术性得起了个标题,点燃语言智能 🔥,由此可见 CoT 对于 LLM 表现的助推和催化作用。
下图源于张教授的一个分享:

再翻回原来自己记的笔记,其实所有这些范畴都可以算作是 CoT 的范畴,无论是 zero shot 还是 few shot,无论是 由少至多 还是 举一反三,其实都是思维链的定义范围。

CoT 什么时候会生效?为什么会有效?
**
**
尽管 CoT 已显示出有希望的好处,但它可能不适用于任何条件。所以论文从工程和理论的角度都进行这方面的讨论会汇总。
从工程的角度来看,Wei et al. ( 2023b) 认为 CoT 推理在三个条件下是有帮助的:(i) 使用 LLM;(ii) 该任务具有挑战性,需要多步骤推理;(iii) 在缩放模型大小时,直接提示的性能不会显着提高。值得注意的是,Tay 等人(2022 年)进一步提供了证据,证明具有 200 亿个参数的 LLM,在去噪函数的混合上进行预训练,也可以实现有效的 CoT 推理。
从理论角度来看,Prystawski & Goodman (2023) 证明,当训练数据(可能被视为 LLM 中的参数知识)由相互强烈影响的局部变量集群组成时,CoT 推理是有帮助的。这一发现意味着LLM必须具备与任务相关的知识才能支持CoT推理。我们称这种知识为原子知识。
总结起来看,CoT 在两个总体条件下表现出有效性 :
-
首先,当采用最好至少具有 200 亿个参数的 LLM 时
-
其次,当 LLM 中的参数知识包含
-
(i) 与手头任务相关和
-
(ii) 保持强大的相互联系的知识片段时
-
至于 CoT 为什么有效,最标准的说法是LLM 的涌现能力。CoT 推理的成功构成了一个多方面的现象,可能涉及各种涌现能力。这些能力包括语义理解、符号映射、主题连贯性、算术能力和忠实度。当然,从理论上讲,贝叶斯推理是从理论角度研究 CoT 工作原理的一种流行方法。CoT 可能有助于识别用于推理的原子知识片段,并通过中间推理步骤弥合原子知识片段之间的关系。
自动化 CoT 生成 Automatic CoT Generation
相比常见的 zero shot 和 few shot 概念,这个概念是第一次看到,很有启发。Zero Shot 是在 prompt 中直接加对应的提示语,比如think step by step,这样就会触发;Few Shot 是指在提示词中加对应的示例,LLM会按照对应的示例来。但是这两个都属于 Manual-CoT, 手动触发 CoT 的范畴。但是模型的表现会严重依赖在 Prompt 的表述。
那Automatic CoT 自动化的 CoT 怎么做?Auto-CoT,它保持了采样问题的多样性,并生成推理链来自动构建演示 。具体来说,Auto-CoT由两个主要阶段组成:(i)问题聚类:将给定的问题数据集划分为几个簇;(ii) 演示采样:从每个簇中选择一个有代表性的问题,并使用 Zero-Shot-CoT 生成其推理链。


Auto-CoT 的思想核心还是自动化生成样本。论文中同时还提到了一种思路,自动执行 CoT 提示的增强和选择理性链的过程。该过程包括三个步骤:增强语言模型以生成多个伪链,根据与真实答案的一致性修剪伪链,以及使用方差减少的策略梯度策略选择最有用的思想链。
CoT 的推理范式

-
Program-of-Thoughts (PoT),思维程序,PoT 使用语言模型生成文本和编程语言语句,这些语句可以在程序解释器上执行,以将复杂的计算与推理和语言理解解耦。
-
表格思维链 (Tab-CoT),它采用表格填充方法来对 CoT 进行建模。设计了 步骤 -子问题 -过程结果 的指令,以提示 LLM 在进行推理过程时生成表格。然后,在过程结束时从生成的表中提取答案。
-
Tree-of-Thought (ToT),将 CoT 分解为思维单元并将它们表述为树结构。ToT 允许 LLM 探索连贯的思维单元,作为解决问题的中间步骤 ,考虑不同的选择并评估他们的决策。通过结合不同的方法,ToT能够展望未来,确定下一步该做什么,或者追溯到正确的历史决策。
-
Graph-of-Thoughts-Rationale,GoT-rationale 将语言模型的思维生成过程建模为图形。这个结构还有多个组成部分,其中比较有特色的其实是评分员的角色,负责验证和评分LLM的回答,以确定其质量和与手头任务的相关性 。
多模态 CoT Multimodalities in CoT
多模态的分为两种,输入多模态和输出多模态,具体取决于引入多模态元素的位置。论文中形象的拿图片+文字的输入输出过程距离,数向日葵的种子数量,无论是输入还是输出。是个很有趣的点。

MM-CoT 将语言(文本)和视觉(图像)模式整合到一个两阶段框架中:理由生成和答案推理。MM-CoT 使用门控融合机制微调较小的 LLM,并集成语言和视觉模态。这种方法的结果表明,结合视觉信息可以增强LLM生成推理路径的能力,并减轻幻觉挑战,从而提高性能。
CoT 和 Agent 的结合

这个图是Agent 的一个普适框架,但是其实 CoT 能发挥的作用除了在推理层面,还有在其他层面的作用。这也就回到了论文开头最重要的那张图。

-
CoT 促进 Agent 的感知 。促使智能体一步一步地将感知解释为感知链,已被证明可以提高行动成功率。它增强了对环境或背景的理解,能大大提高了动作预测的准确性。CoT 的感知提示可以是“让我们一步一步地思考。我在 Google 应用中看到了不相关的搜索结果”。
-
CoT 对 Memory 的唤醒 。Agent 常见的有短期记忆和长期记忆。短期记忆本质上是动态的,可以通过提示轻松读取和写入。最常见的短期记忆形式是聊天记录。另一方面,长期记忆是静态的,通常存储在数据库中,可通过各种检索方法访问,包括树搜索、文本搜索和向量检索。
-
CoT 带动推理 ,这也是最常见的作用了。无论是推理范式,还是手动和自动的触发 CoT 了。
最后以论文的中文标题结尾,「点燃语言智能:从思维链推理到语言代理的搭便车指南 」。附录上 这篇论文的地址:https://arxiv.org/abs/2311.11797
