Chain of Thought

Chain of Thought

参考:https://www.bilibili.com/video/BV1TecTeoErX

随着大模型参数量、算力开销、数据量协同增长,在标准提示下,其在 System-1 任务上性能显著增强。然而,在 System-2 任务上,大模型表现出了 "Flat Scaling Curves" 现象——即模型规模增长未带来预期性能提升。

  • 面对 System-1 问题,如 常识回答、情感分类、意图识别 等,随规模变大,大模型性能显著提升
  • 面对 System-2 问题,如 复杂数学计算、逻辑推理 等,大模型性能 提升缓慢甚至停滞不前。

思维链:通过在提示中嵌入一系列 中间推理步骤,引导大语言模型模拟人类解决问题时的思考过程,以提升模型处理 System2任务的能力。

在标准的 CoT 方法上,出现了许多扩展的方法:按部就班、三思后行、集思广益

  • 按部就班:在按部就班模式中,模型一步接着一步地进行推理,推理路径形成了一条逻辑连贯的链条。以 CoT、Zero-Shot CoT、Auto-CoT 等方法为代表。

    • 强调:逻辑的连贯性和步骤的顺序性
    • Zero-Shot CoT:使用两阶段回答问题:

      1. 第一阶段,在问题后面跟上一句“让我们一步一步思考”作为 CoT 的提示触发词,来指示大预言模型先生成中间推理步骤,再生成最后的答案
      2. 第二阶段,把原始的问题以及第一阶段生成的推理步骤拼接在一起,在末尾加上一句“因此,最终答案为”,把这些内容输给大语言模型,让它输出最终的答案

      标注成本低,算法性能差

    • Auto-CoT:

      1. 利用聚类技术从问题库中筛选出与用户提问位于一个簇中的问题
      2. 借助 Zero-Shot CoT 的方式,为筛选出的问题生成推理链,形成示例。
      3. 在这些示例基础上, 引导大语言模型生成针对用户问题的推理链和答案。
  • 三思后行:每一步都停下来评估当前的情况,然后从多个推理方向中选择出下一步的前进方向。以 ToT、GoT 等方法为代表。

    • Tree of Thoughts (ToT):将推理过程视为一棵思维树,从拆解、衍生、评估、搜索 四个方面进行构造:

      • 拆解:把复杂问题拆分成多个简单子问题,每个子问题的解答过程对应一个思维过程。
      • 衍生:模型需要根据子问题生成的可能的下一步推理方向。衍生有两种模式:样本启发和命令提示。
      • 评估:利用模型评估推理节点合理性。有投票和打分两种评估模式。
      • 搜索:从一个或多个当前状态出发,搜索通往问题解决方案的路径。
    • Graph of Thoughts (GoT):通过特定提示,自动化构造一步一步推理回答问题的例子。
  • 集思广益:同时生成多条推理路径并得到多个结果,然后整合这些结果,得到一个更为全面和准确的答案。以 Self-Consistency 等方法为代表。

    • Self-Consistency:引入多样性的推理路径,从中提取并选择最一致的答案,从而提高了模型的推理准确性。Self-Consistency 不依赖于特定的 CoT 形式,可以与其他 CoT 方法兼容,共同作用于模型的推理过程。

      1. 推理路径生成:在随机采样策略下,使用 CoT 或 Zero-Shot CoT 的方式来引导大语言模型针对解决问题生成一组多样化的推理路径
      2. 汇总答案:收集最终答案,统计每个答案在所有推理路径中出现的频率
      3. 选择答案:选择出现频率最高的答案作为最终的、最一致的答案
    • Universal Self-Consistency:利用 LLMs 自身选择最一致答案,支持更多种任务,无需答案提取过程。在多任务中性能良好且输出匹配度更高、对顺序鲁棒。
人工智能
Theme Jasmine by Kent Liao
赣ICP备2024043307号 赣公网安备36060002000103号