Chain of Thought (CoT) 与 Tree of Thought (ToT) | 豆包MarsCode AI刷题

176 阅读5分钟

随着大型语言模型(LLM)在自然语言处理领域的不断进步,如何使其进行更加复杂的推理和问题解决,成为了研究的热点问题。谷歌大脑的 Jason Wei 等人于 2022 年在论文《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》中提出了“思维链(Chain of Thought,CoT)”的概念,开创了这一领域的新方向。其核心思想是,通过生成一系列中间推理步骤,可以显著提升模型进行复杂推理的能力。

Chain of Thought (CoT) — 思维链推理

CoT 是指引导模型逐步生成推理过程,以便模型能够做出更加准确和符合逻辑的决策。这一方法尤其适用于处理需要多个步骤推理的问题,如数学题、常识推理、符号推理等。

Few-Shot CoT 与 Zero-Shot CoT

在 CoT 方法中,有两种常见的应用方式:Few-Shot CoTZero-Shot CoT

  1. Few-Shot CoT
    Few-Shot CoT 通过在提示中提供一些链式思考的示例来增强大语言模型的推理能力。例如,我们可以给出一两个具体的推理过程示例,帮助模型理解如何逐步推理问题,从而提高其推理准确性。在实际应用中,给出示例不仅能够增强模型的推理能力,还能让模型学习如何进行逻辑推导。
  2. Zero-Shot CoT
    Zero-Shot CoT 则是通过简单的提示,例如“让我们一步步地思考(Let's think step by step)”,直接引导模型按顺序进行推理。这种方式适用于无需提供示例的情况下,通过启发式的提示来引导模型进行深度思考。

通过实验,Wei 等人发现,CoT 显著提高了大语言模型在各种推理任务中的表现。例如,在 GSM8K 数学问题基准测试中,应用 CoT 后,大模型的准确性达到了当时的最先进水平。


CoT 的实际应用

CoT 的核心思想在实际应用中非常有启发性,尤其在需要推理的任务中。以 AI 助手为例,我们可以设计一个“AI 花店助手”,通过思维链来帮助用户选择鲜花。

AI 花店助手的思维链推理过程:

假设用户询问:“我今天要参加朋友的生日 Party,想送束花祝福她。”AI 可以按以下步骤进行推理:

  1. 问题理解
    首先,AI 需要理解用户的需求。用户需要一束适合生日派对的花。
  2. 信息搜索
    AI 需要检查适合生日派对的花种,如玫瑰、百合等。
  3. 决策制定
    根据花的种类、颜色和花语,AI 决定推荐适合派对的花卉,如玫瑰和百合。
  4. 生成销售列表
    最后,AI 生成一份销售推荐清单,列出推荐的花卉及其价格。

这种方法不仅使得 AI 的推理过程更加清晰,也能确保生成的建议更符合用户的实际需求。


Tree of Thought (ToT) — 思维树框架

在 CoT 方法的基础上,Yao 和 Long 等人在论文《思维之树:使用大型语言模型进行深思熟虑的问题解决》中提出了 思维树(Tree of Thought,ToT) 的框架,进一步扩展了思维链的应用。

ToT 是一种针对复杂问题的解决方案框架,旨在帮助模型在多步骤推理的任务中,生成并评估多个可能的思维路径,并最终找到最优解。它结合了搜索算法(如广度优先搜索和深度优先搜索),引导模型探索并验证其思维过程。


ToT 应用示例:花卉推荐

假设一个顾客在鲜花网站上询问:“我想为我的妻子购买一束鲜花,但我不确定应该选择哪种鲜花。她喜欢淡雅的颜色和花香。”

在 ToT 框架下,AI 的思维过程如下:

  1. 思维步骤 1:理解顾客需求
    顾客想为妻子购买鲜花,且妻子喜欢淡雅的颜色和花香。

  2. 思维步骤 2:考虑候选花卉

    • 百合:淡雅的颜色和花香。
    • 玫瑰:选择淡粉色或白色,通常具有花香。
    • 紫罗兰:淡雅的颜色和花香。
    • 桔梗:颜色淡雅,但不一定有花香。
    • 康乃馨:淡色系列,有花香。
  3. 思维步骤 3:筛选最佳选择
    百合和紫罗兰符合顾客需求,因为它们有淡雅的颜色和花香。淡粉色或白色的玫瑰也是不错的选择。桔梗不符合要求,因为它没有花香。

  4. 思维步骤 4:给出建议
    “考虑到您妻子喜欢淡雅的颜色和花香,我建议您可以选择百合或紫罗兰。淡粉色或白色的玫瑰也是一个很好的选择。希望这些建议能帮助您做出决策!”


总结:思维链与思维树的实际价值

CoT 和 ToT 提供了一种新的思维框架,使得大型语言模型不仅能生成答案,还能在多步骤推理过程中生成并评估其思维路径。这对于解决需要深度推理的复杂问题,如数学题、常识推理以及情境分析等,提供了极大的帮助。

  • CoT 提供了一个简单有效的框架,通过逐步思考和推理,可以显著提升语言模型的推理能力。
  • ToT 进一步扩展了这一思想,通过构建思维树并评估多个推理路径,可以帮助模型在更加复杂的任务中做出更优的决策。