【Chain-of-Thought Prompting】链式思考(CoT)提示、零样本 COT 提示、自动思维链(Auto-CoT)

简介: 链式思考(CoT)提示是一种通过中间推理步骤实现复杂推理能力的方法,由Wei等人(2022)引入。它能够与少样本提示结合,提高任务处理效果。通过逐步推理,即使是大型语言模型也能展示出更强的推理能力。例如,在解决数学问题或逻辑判断上,CoT提示能显著提升正确率,尤其是在缺乏大量训练数据的情况下。


链式思考(CoT)提示 image.gif 编辑

图片来源:Wei等人(2022)(opens in a new tab)

Wei等人(2022)(opens in a new tab) 中引入的链式思考(CoT)提示通过中间推理步骤实现了复杂的推理能力。您可以将其与少样本提示相结合,以获得更好的结果,以便在回答之前进行推理的更复杂的任务。

提示:

这组数中的奇数加起来是偶数:4、8、9、15、12、2、1。A:将所有奇数相加(9、15、1)得到25。答案为False。这组数中的奇数加起来是偶数:17、10、19、4、8、12、24。A:将所有奇数相加(17、19)得到36。答案为True。这组数中的奇数加起来是偶数:16、11、14、4、8、13、24。A:将所有奇数相加(11、13)得到24。答案为True。这组数中的奇数加起来是偶数:17、9、10、12、13、4、2。A:将所有奇数相加(17、9、13)得到39。答案为False。这组数中的奇数加起来是偶数:15、32、5、13、82、7、1。A:

image.gif

输出:

将所有奇数相加(15、5、13、7、1)得到41。答案为False。

image.gif

哇!我们可以看到在提供推理步骤时得到了完美的结果。实际上,我们可以通过提供更少的示例来解决此任务,即仅一个示例似乎就足够了:

提示:

这组数中的奇数加起来是偶数:4、8、9、15、12、2、1。A:将所有奇数相加(9、15、1)得到25。答案为False。这组数中的奇数加起来是偶数:15、32、5、13、82、7、1。A:

image.gif

输出:

将所有奇数相加(15、5、13、7、1)得到41。答案为False。

image.gif

请记住,作者声称这是足够大的语言模型才会出现的新兴能力。

零样本 COT 提示 image.gif 编辑

图片来源:Kojima等人(2022)(opens in a new tab)

最近提出的一个新想法是 零样本CoT(opens in a new tab)( Kojima 等人,2022年),它基本上涉及将“让我们逐步思考”添加到原始提示中。让我们尝试一个简单的问题,看看模型的表现如何:

提示:

我去市场买了10个苹果。我给了邻居2个苹果和修理工2个苹果。然后我去买了5个苹果并吃了1个。我还剩下多少苹果?

image.gif

输出:

11个苹果

image.gif

答案是不正确的!现在让我们尝试使用特殊提示。

提示:

我去市场买了10个苹果。我给了邻居2个苹果和修理工2个苹果。然后我去买了5个苹果并吃了1个。我还剩下多少苹果?让我们逐步思考。

image.gif

输出:

首先,您从10个苹果开始。您给了邻居和修理工各2个苹果,所以您还剩下6个苹果。然后您买了5个苹果,所以现在您有11个苹果。最后,您吃了1个苹果,所以您还剩下10个苹果。

image.gif

令人印象深刻的是,这个简单的提示在这个任务中非常有效。这在您没有太多示例可用于提示时特别有用。

自动思维链(Auto-CoT)

当使用思维链提示时,这个过程需要手工制作有效且多样化的例子。这种手动工作可能会导致次优解决方案。Zhang et al. (2022)(opens in a new tab) 提出了一种消除人工的方法,即利用 LLMs “让我们一步一步地思考” 提示来生成一个接一个的推理链。这种自动过程仍然可能在生成的链中出现错误。为了减轻错误的影响,演示的多样性很重要。这项工作提出了Auto-CoT,它对具有多样性的问题进行采样,并生成推理链来构建演示。

Auto-CoT 主要由两个阶段组成:

  • 阶段1:问题聚类:将给定问题划分为几个聚类
  • 阶段2:演示抽样:从每组数组中选择一个具有代表性的问题,并使用带有简单启发式的 Zero-Shot-CoT 生成其推理链

简单的启发式方法可以是问题的长度(例如,60 个 tokens)和理由的步骤数(例如,5 个推理步骤)。这鼓励模型使用简单而准确的演示。

该过程如下图所示: image.gif 编辑

图片来源:Zhang等人(2022)

相关文章
|
5月前
|
人工智能 自然语言处理
构建AI智能体:四十一、大模型思维链提示工程:技术原理与行业应用案例分析
本文介绍了思维链提示技术及其应用。思维链提示是一种引导大模型进行逐步推理的提示工程技术,通过结构化提示模拟人类解决问题的逻辑分析路径,使模型能够显式化中间推理步骤,从而提升推理准确性与可解释性。文章详细阐述了思维链提示的关键特征(步骤可解释性、逻辑链条完整性、问题分解能力)和工作原理,并通过数学推理、逻辑分析和多轮复杂问题三个案例展示了其具体应用流程。该技术在教育辅导、商业决策和科研分析等领域具有重要价值,能够突破传统大模型的黑箱推理瓶颈,提高AI系统的决策透明度和可靠性。
800 13
|
自然语言处理 Python
【Prompt Engineering提示:Active-Prompt、方向性刺激提示、PAL(程序辅助语言模型)】
Diao等人(2023)提出了一种名为Active-Prompt的新方法,通过自适应提示来优化大型语言模型(LLMs)在特定任务中的表现。此方法通过不确定性评估选择需标注的问题,利用少量人工标注的思维链(CoT)示例逐步优化模型,提高其解决问题的能力。相比固定范例,Active-Prompt能够更有效地针对不同任务调整提示,从而提升模型性能。
835 7
【Prompt Engineering提示:Active-Prompt、方向性刺激提示、PAL(程序辅助语言模型)】
|
搜索推荐 UED
【Prompt Engineering:自我一致性、生成知识提示、链式提示】
自我一致性是提示工程技术之一,旨在改进链式思维提示中的解码方法。通过少样本CoT采样多个推理路径并选择最一致的答案,有助于提升涉及算术和常识推理任务的性能。例如,在解决年龄相关问题时,通过多次采样并挑选多数答案来提高准确性。此外,生成知识提示技术可预先生成相关信息辅助模型做出更准确预测,进一步优化模型表现。链式提示则通过将复杂任务分解为多个子任务来逐步处理,从而提高模型的透明度和可靠性,便于定位和改进问题。
782 0
【Prompt Engineering:自我一致性、生成知识提示、链式提示】
|
12月前
|
测试技术 API 人机交互
如何让 Agent 规划调用工具
本文主要从规划的重要性、工具设计的作用、优化实践、适用场景几个方面讲述在构建多工具智能体(Agent)系统时,通过引入结构化的“思考与规划”工具和合理的提示工程,能够显著提升模型解决问题的效率和效果。
1659 26
如何让 Agent 规划调用工具
|
存储 Java Linux
32 位和 64 位 JVM 的最大堆大小是多少?
【8月更文挑战第22天】
809 0
|
11月前
|
SQL 人工智能 自然语言处理
别让你的大模型被忽悠了,聊聊prompt注入攻击
本文探讨了Prompt工程中的隐私与安全问题,重点分析了“奶奶漏洞”及更广泛的Prompt攻击现象,特别是Prompt注入的原理与防御手段。Prompt注入通过构造恶意输入突破模型限制,使LLM执行非预期操作。文章介绍了直接注入和间接注入类型,并提供了多种防御方案,如输入过滤、强化系统指令、接入第三方校验库及多模型协作防御。此外,还讨论了Prompt逆向工程及其正负影响,以及恶意MCP服务投毒的实际案例,如GitHub Copilot漏洞。最后提出了动态权限控制和持续安全监测等解决策略。
|
测试技术 UED
全新开源通义千问Qwen3,它来了!
Qwen3是通义千问系列的最新模型,融合推理与非推理模式,兼具QwQ和Instruct模型能力。提供多种尺寸,包括235B-A22B、30B-A3B及六个Dense模型,大幅提升数学、代码、逻辑推理和对话能力,达到业界领先水平。旗舰模型Qwen3-235B-A22B在多场景测试中表现优异,小型模型如Qwen3-4B性能媲美大模型。用户可在阿里云百炼平台免费体验各100万Token。
10902 4
全新开源通义千问Qwen3,它来了!
|
JSON 人工智能 数据格式
AI计算机视觉笔记二十六:YOLOV8自训练关键点检测
本文档详细记录了使用YOLOv8训练关键点检测模型的过程。首先通过清华源安装YOLOv8,并验证安装。接着通过示例权重文件与测试图片`bus.jpg`演示预测流程。为准备训练数据,文档介绍了如何使用`labelme`标注工具进行关键点标注,并提供了一个Python脚本`labelme2yolo.py`将标注结果从JSON格式转换为YOLO所需的TXT格式。随后,通过Jupyter Notebook可视化标注结果确保准确性。最后,文档展示了如何组织数据集目录结构,并提供了训练与测试代码示例,包括配置文件`smoke.yaml`及训练脚本`train.py`,帮助读者完成自定义模型的训练与评估。
6086 2

热门文章

最新文章