To CoT or not to CoT?
OpenAI ο1 的诞生极大地提升了人们对 LLM 推理能力和思维链(CoT)的兴趣。一时之间,似乎思维链很快就会成为所有 LLM 的标配,但思维链并非万能,就连 OpenAI 自己也提到 o1 在某些任务上的表现并不比 GPT-4o 强,尤其是以语言为中心的任务。
近日,一篇来自德克萨斯大学奥斯汀分校、约翰·霍普金斯大学和普林斯顿大学的论文引发了热议,其模仿莎士比亚《哈姆雷特》的台词提出了一个对 AI 研究者和实践者来说至关重要的问题:To CoT or not to CoT?
简单来说,这篇论文研究了思维链(CoT)技术帮助 LLM 解决各式问题的有效性。
首先,该团队分析了近期的相关文献,比较了 CoT 与直接回答方法(DA)的性能表现。
之后,他们使用 20 个数据集和 14 个当今主流的 LLM 在零样本提示和少样本提示设置下进行了实验。
图 1 简单总结了这两项研究的结果。
结果表明,CoT 能极大助益 LLM 解决涉及数学和符号推理的任务,至于其它任务,CoT 的效果并不显著甚至可能有损模型性能。
另一个发现是 CoT 能帮助提升执行计算和符号操作的执行步骤,但却比不上能使用外部工具的 LLM。这是什么意思呢?该团队发现,相比于使用直接回答方法,使用 CoT 时 LLM 能更好地生成可执行的形式化方案规划;但如果使用语言模型来生成方案规划,然后再使用外部符号解算器来求解该规划,性能表现还会更好一些。
这样的结果忽然让 CoT 的处境变得有点尴尬:在 CoT 有用的问题上,我们能使用外部工具做得更好;在另一些问题上,CoT 的能力又有限。
因此,该团队认为:「第一,很多广泛使用 CoT 解决的问题其实根本没必要使用 CoT:现在已有更高效方法,能以远远更低的推理成本取得相近的性能。第二,基于提示词的 CoT 不够用了,我们看到人们迫切地需要更复杂精妙的方法,比如基于搜索、交互式智能体或针对 CoT 进行过更好微调的模型的方法。」
首先,该团队调研了近期的相关文献,比较了使用或不用 CoT 的提示词的效果。
具体指标和流程这里就不多介绍了。总之,他们从 110 篇论文(35 篇 ICLR 论文和 75 篇 NAACL 和 EACL 论文)中整理出了 1218 个实验结果,涉及 264 个数据集。之后,他们将这些相关任务分成了 14 类,表 1 展示了其中几类的定义。
图 2 展示了 CoT 为不同类型的任务带来的性能增量,即使用 CoT 提示法取得的性能减去使用直接回答法取得的性能。
可以看到,在这些任务上,CoT 平均仅能带来 3.75% 的提升。其中 CoT 带来增益最大的三类任务分别是:符号推理、数学、逻辑推理。在这三个任务上,CoT 实现的平均性能为 56.9,而不使用 CoT 的表现为 45.5。而在其它任务上表现较好的个例(图中用黄色高亮标记出了 10 个),也或多或少与这三个任务有关。
但在其它任务上,CoT 的表现就没什么亮点了,平均成绩仅有 56.8,而就算不使用 CoT,直接回答法也能得到 56.1。该团队认为,这一点点提升甚至不能算作是提升,毕竟 CoT 的计算成本明显更高。
除了研究近期文献,该团队也执行了实验,其中涉及到 20 个数据集和 14 个模型,并测试了零样本提示和少样本提示两种设置,见表 2。
下面我们通过对一系列问题的解答来了解实验结果。
1.在哪些任务上,零样本 CoT 优于直接提示?
图 3 左展示了 CoT 在五个推理类别(见图 1 右)上带来的平均性能增益;图 3 右则是 CoT 在每个数据集上带来的平均性能增益。
可以看到,在非符号推理类别和数据集上,特别是那些主要包含常识(CSQA、PIQA、SiQA)、语言理解(WinoGrande)和阅读理解(AGI LSAT、ARC-Easy、ARC-Challenge)的问题上,零样本 CoT 和零样本直接回答的性能几乎没有区别。尽管这些数据集涉及推理,但 CoT 并没有带来增益。
相比之下,数学和符号类别(以及符号和半符号数据集)获得了更大的提升。CoT 在 MATH 和 GSM8k 上带来的增益分别高达 41.6% 和 66.9%。在 ContextHub 和 MuSR Murder Mysteries 等半符号数据集上,CoT 表现出了中等程度的增益。这些数据集需要应用逻辑规则才能得出答案,例如从简单的自然语言(ContextHub)或更复杂的常识性陈述(MuSR Murder Mysteries)中解析得到的一阶逻辑。
在少样本设置下得到的实验结果类似。
2.回答格式是否会影响 CoT 的有用性?
除了数学之外,许多常用的数据集都是多项选择题。该团队指出,对于两个非多项选择题的数据集(MuSiQue 和 BiGGen Bench,并且它们需要不同层级的非符号推理才能给出回答),CoT 的表现与直接回答相近。
因此,可以说回答格式对 CoT 的有用性的影响不大。并且,该团队还表示,预先针对正确响应进行规划或推理甚至可能妨碍 LLM 自由响应的能力。
3.CoT 在知识、软推理和常识推理方面带来的提升是否显著?
在 13 个涉及知识、软推理和常识推理的数据集上,该团队测试了 CoT 的表现,结果发现:答案是否定的,但 MMLU、StrategyQA 和 MuSR 是例外。在这三个数据集上,CoT 可以带来比较显著的增益。
MMLU 和 MMLU Pro 是两个范围广泛的数据集,因此很难简单地描述它们的特征。该团队详细研究了 CoT 在 MMLU 中每个类别上的性能表现,以了解 CoT 在不同领域的性能差异。
表 3 给出了 CoT 能为 Llama 3.1 8B 和 70B 在 MMLU 和 MMLU Pro 上带来最显著提升的三个类别。
可以看到,其中一些与数学有关,这不出人意料,但也有的属于「商业」等类别。不过更进一步研究发现,这些类别通常也涉及数学(比如资产计算等)。
因此,该团队对 MMLU 进行了更细粒度的研究(实例级)。他们发现问题或生成的响应中是否包含 = 这个符号非常关键,可以说是「符号推理的一个强有力的标志」。结果见图 4。
可以看到,当有 = 时,CoT 在 MMLU 和 MMLU Pro 上的表现明显会更好。该团队认为这是因为 = 通常出现在数学问题中。所以归根结底,CoT 依然是能在数学问题上为 MMLU 和 MMLU Pro 带来助益。
下面来解释 CoT 有助于符号推理任务的原因。很多符号和半符号推理任务都可以分成两个阶段:规划与执行。该团队也基于此思路进行了分析。
设置 1 和 2:少样本直接回答和 CoT:使用之前的少样本直接回答和 CoT 作为基线。图 5 给出了在 GSM8K 上每个设置的示例。
设置 3 和 4:规划 + 直接求解器以及计划 + CoT 求解器。
设置 5:规划+工具求解器。
图 6 展示了选出的代表性模型的结果。
可以看到,对于许多数据集和模型而言,仅仅有规划不足以带来明显的性能增益。与直接回答相比,CoT 或规划+ CoT 求解器是实现强大性能所必需的。使用其中一种方法跟踪执行情况可带来最大的准确性优势,尤其是对于含有大量数学内容的数据集。
尽管 CoT 或规划+ CoT 求解器比直接回答和规划+直接回答更强,但规划+工具求解器在大多数情况下还要更优。也就是说,很多时候,使用 CoT 还不如让 LLM 使用工具。
文章来自于“机器之心”,作者“Panda”。
【开源免费】DeepBI是一款AI原生的数据分析平台。DeepBI充分利用大语言模型的能力来探索、查询、可视化和共享来自任何数据源的数据。用户可以使用DeepBI洞察数据并做出数据驱动的决策。
项目地址:https://github.com/DeepInsight-AI/DeepBI?tab=readme-ov-file
本地安装:https://www.deepbi.com/
【开源免费】airda(Air Data Agent)是面向数据分析的AI智能体,能够理解数据开发和数据分析需求、根据用户需要让数据可视化。
项目地址:https://github.com/hitsz-ids/airda
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【免费】ffa.chat是一个完全免费的GPT-4o镜像站点,无需魔法付费,即可无限制使用GPT-4o等多个海外模型产品。
在线使用:https://ffa.chat/
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0