《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》【大模型思维链】

news2024/11/17 11:24:36

目录

  • 前言
  • 一、思维链介绍
    • 1-1、指令
    • 1-2、逻辑依据
    • 1-3、示例
  • 二、Cot一般分类
    • 2-1、Zero-Shot-CoT
    • 2-2、Few-Shot-CoT
  • 三、Cot的好处&缺陷&适用
    • 3-1、Cot的好处
    • 3-2、Cot的缺陷
    • 3-3、Cot的适用
  • 四、变体
    • 4-1、自我验证(self-consistency checking)
  • 总结


前言

思维链,是一系列中间推理步骤,可以显著提高大语言模型执行复杂推理的能力。

一、思维链介绍

思维链:一种简单的提示方法,通过一系列的中间推理步骤,可以大大提高大语言模型执行复杂推理的能力。下图为使用标准提示词和使用思维链提示词的输出的区别:

在这里插入图片描述
与传统Prompt的区别: 传统Prompt的流程是直接从输入到输出的映射,而Cot则是输入——思维链——输出。

一个完整的包含Cot的Prompt往往由指令、逻辑依据、示例三部分组成。一般来说,指令用于描述问题并且告知大模型的输出格式;逻辑依据指的是Cot的推理过程(一般包含问题的解决方案、中间推理步骤以及外部知识);示例指的是以少样本的方式为大模型提供输入输出对的基本格式,每一个示例都包含:问题、推理过程与答案。以下为更详细的介绍。

下图为COT实例:《输入——思维链——输出》
在这里插入图片描述

1-1、指令

指令 (Instruction)

  • 作用:明确告知模型需要解决的问题或执行的任务,以及期望的输出格式。
  • 重要性:指令帮助模型理解任务的具体需求,确保输出的相关性和准确性。

示例:

问题:解释什么是光合作用?
指令:简要描述光合作用的过程,并列出它的主要作用。

1-2、逻辑依据

逻辑依据 (Rationale)

  • 作用:包括解决问题的中间步骤、相关知识的引入或理由的阐述。
  • 重要性:逻辑依据帮助模型展现推理过程,使答案更具解释性和可靠性。

示例

问题:解释什么是光合作用?
逻辑依据:光合作用是植物、藻类和某些细菌使用阳光将二氧化碳和水转化为氧气和葡萄糖的过程。这是一个复杂的多步骤过程,涉及到光反应和暗反应等阶段,主要作用是产生氧气和为生物提供能量。

1-3、示例

示例 (Exemplars)
作用:提供具体的问题、推理过程和答案实例,作为模型处理类似问题的参考。
重要性:示例可以帮助模型学习如何格式化其回答,理解问题的深层含义,以及如何引入适当的推理来支持其结论。

示例

问题:解释什么是蒸馏?
推理过程:蒸馏是一种分离混合物的技术,常用于分离液体或提纯物质。在这个过程中,混合物加热至沸点,使最易挥发的组分蒸发,然后通过冷凝再将其分离出来。
答案:蒸馏是利用物质之间沸点的差异来分离它们的过程。

二、Cot一般分类

以是否包含示例为区分,可以将Cot分为Zero-Shot-CoT 与 Few-Shot-CoT。如下图所示:

在这里插入图片描述

2-1、Zero-Shot-CoT

Zero-Shot-CoT (零样本CoT)

  • 定义:在这种模式下,没有提供具体的示例来引导模型的行为。指令通常包括“Let’s think step by step”这样的语句来激励模型展开逐步推理。(进阶:Let’s first understand the problem and devise a plan to solve the problem. Then, let’s carry out the plan and solve the problem step by step)
  • 应用:Zero-Shot-CoT适用于那些模型已经有足够知识理解和解答的情况,不需要通过额外的示例来学习如何回答。
  • 优点:能够快速部署,无需额外准备示例,节省时间。
  • 局限:可能不如Few-Shot-CoT准确,特别是在处理非常复杂或专业性强的问题时。

案例如下所示:
在这里插入图片描述

2-2、Few-Shot-CoT

Few-Shot-CoT (少样本CoT)

  • 定义:在指令中添加具体的示例(案例),这些示例显示了问题、推理过程和答案。这样做可以让模型模仿这些示例来提高解决问题的能力。
  • 应用:Few-Shot-CoT适用于需要模型理解特定格式或复杂问题的场景,特别是在模型原本不太可能准确回答的领域。
  • 优点:通过提供具体示例,模型可以学习特定的回答风格和推理方法,通常能够产生更准确和相关的输出。
  • 局限:需要花费更多的时间来准备有效的示例,且依赖于这些示例的质量。

案例如下所示:

在这里插入图片描述

三、Cot的好处&缺陷&适用

3-1、Cot的好处

Cot的具体优点如下:

  • 增强大模型的推理能力: 通过将复杂问题分为多个子问题,显著提高了模型的推理能力。
  • 增强了大模型的可解释性: 相比于没有使用思维链,Cot可以向我们展示过程,让我们可以知道大模型的执行流程到底是怎样的,增加了可解释性。
  • 增强了大模型的可控性: 通过让大模型一步一步输出步骤,我们通过这些步骤的呈现可以对大模型问题求解的过程施加更大的影响,避免大模型成为无法控制的“完全黑盒”;

3-2、Cot的缺陷

Cot的缺陷如下:

  • 模型的规模太小会导致Cot失效
  • 只有对复杂任务才是有用的。
  • 示例不正确会带偏大模型。

如下图所示(使用Cot的PaLM 540B模型在GSM8K基准上表现出极高的性能):
在这里插入图片描述

3-3、Cot的适用

Cot的适用场景如下:

  • 需要使用大模型,规模太小的不适用(20B以下)
  • 复杂任务场景,如编程
  • 增加模型参数无法使模型性能得到提升。
  • 模型的训练数据针对于任务问题有较强的关联性。

四、变体

4-1、自我验证(self-consistency checking)

自我验证(self-consistency checking)是Chain of Thought (CoT) 推理中的一个重要概念。这种方法不仅在推理过程中寻找问题的答案,而且还要检查和验证这些推理过程的逻辑一致性和正确性。自我验证的目的是提高答案的可靠性和准确性,确保模型在解答复杂问题时能够自我纠正潜在的错误或不一致之处。

如何实施自我验证
在CoT框架中,自我验证通常涉及以下几个步骤:

  • 推理生成:首先,生成一个详细的推理过程,这通常包括对问题的分析、相关信息的整合以及逐步推导出答案的逻辑链。
  • 验证步骤:在得到初步答案之后,模型会重新审视整个推理过程,检查是否存在逻辑断裂、信息错误或不一致的地方。
  • 调整和改进:基于自我验证的结果,模型可能需要调整其推理链。这可以涉及修正错误的事实信息、重新评估逻辑关系或添加缺失的逻辑步骤。
  • 最终输出:完成自我验证和必要的调整后,模型输出最终的、经过验证的答案。

应用场景

  • 自我验证特别适用于需要高度准确性的应用场景,如医学诊断、法律推理、科技问题解答等领域。在这些领域,错误的信息或推理可能导致严重的后果。通过自我验证,模型能够提供更加可靠和精确的答案。

self-consistency checking 案例如下图所示:

在这里插入图片描述

参考文章:
Chain-of-Thought Prompting Elicits Reasoning
in Large Language Models论文地址.
一文读懂:大模型思维链 CoT(Chain of Thought)


总结

那女孩对我说,说我保护她的梦💤

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1615165.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

首发!Llama3纯本地部署攻略!中文方法!

引言 llama3在4月19日刚刚发布,官方的对比结果中在开源模型中堪称世界第一,整好周六日有时间,在魔搭社区上测试一下 一、启动环境 登录魔搭社区,到自己的机器资源,可以看到,可选的机器配置, …

UE5 GAS开发P31 将hud绑定在自己的角色上

在WidgetController内新建一个OverlayAuraWidgetController,然后修改HUD的初始状态 AuraHUD // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "GameFramework/HUD.h" #…

Ubuntu系统下 Nvidia驱动 + cuda驱动 + CuDNN安装与卸载

Ubuntu系统下 Nvidia驱动 cuda驱动 CuDNN安装与卸载 一、NVIDIA驱动与CUDA驱动的区别二、NVIDIA驱动安装与卸载1. 查看系统内核版本2. 查看显卡型号3. 查看是否有显卡驱动4. 禁用nouveau并重启5. 卸载旧版本6. 安装1:使用标准Ubuntu仓库进行自动化安装…

四川易点慧电子商务抖音小店:安全正规,购物新选择

在当今互联网高速发展的时代,电子商务已经成为人们日常购物的重要组成部分。四川易点慧电子商务抖音小店作为新兴的电商平台,凭借其安全正规的经营理念和便捷高效的购物体验,正逐渐赢得消费者的信赖和喜爱。 一、平台背景实力雄厚 四川易点慧…

面试十八、容器适配器

容器适配器是一种特殊类型的容器,它们提供了一种不同于常规容器的接口和行为。容器适配器通常是建立在其他容器之上,通过改变接口或添加限制来满足特定的需求或解决特定的问题。 在 C 中,标准库提供了三种常见的容器适配器: 栈&am…

在PostgreSQL中如何处理大对象(Large Objects),例如存储和检索二进制文件?

文章目录 存储二进制文件为大对象步骤 1:创建一个大对象步骤 2:写入数据到大对象 检索大对象为二进制文件步骤 1:打开大对象以进行读取步骤 2:从大对象读取数据 注意事项 PostgreSQL 提供了对大对象(Large Objects&…

JavaSE-15笔记【注解(+2024新)】

文章目录 1.注解概述2.几个常用的JDK内置的注解2.1 Deprecated2.2 Override2.3 SuppressWarnings2.4 FunctionalInterface 3.自定义注解3.1 注解也可以定义属性3.2 注解的使用规则补充 4.元注解4.1 Retention4.2 Target4.3 Documented4.4 Inherited4.5 Repeatable 5.通过反射获…

修改npm源--多种方式

2024年,1月22日 npm.taobao.org 域名证书已到期下线。 重置官方源 npm config set registry https://registry.npmjs.org/ 淘宝源,使用最新版,旧版停止了 npm config set registry https://registry.npmmirror.com 查看当前镜像源 npm …

精心整理的不同操作系统不同实现方案网络安全中的权限提升117种提权手法

精心整理的不同操作系统不同实现方案网络安全中的权限提升117种提权手法。 什么是网络安全中的权限提升? 在网络安全领域,了解威胁至关重要,而最关键的威胁之一就是特权升级的概念。从本质上讲,权限升级是指攻击者获得通常为高级用…

阿斯达年代记怎么下载 阿斯达年代记三强争霸下载教程

阿斯达年代记怎么下载 阿斯达年代记三强争霸下载教程 阿斯达年代记是一款三国争霸类型的游戏,在游戏中大家可以体验到三权争霸的刺激场景,在战场中大家不仅可以体验到体验到文化交织还可以感受到战场的残酷,本期小编将会给大家带来阿斯达年代…

vue-manage-system 版本更新,让开发更加简单

vue-manage-system 近期进行了一次版本升级,主要是支持了更多功能、升级依赖版本和优化样式,并且上线了官方文档网站,大部分功能都有文档或者使用示例,更加适合新手上手开发,只需要根据实际业务简单修改,就…

记录:阿里云服务器网站搭建(3)

Docker安装配置Tomcat 拉取镜像 docker pull tomcat:8启动一个tomcat容器用于拷贝配置文件 docker run -d -p 8080:8080 --name tomcat tomcat:8拷贝容器内tomcat配置文件和日志到本地准备映射 docker cp tomcat:/usr/local/tomcat/conf /mydata/tomcat/confdocker cp tomca…

【Linux系统化学习】线程控制

目录 前言 POSIX线程库 线程控制 创建线程 线程终止 pthread_exit()函数 pthread_cancel()函数(会在下面线程等待部分详解) 线程等待 pthread_join()函数 获取线程退出码 分离线程 线程取消(pthread_cancel()函数) 线程ID及进程…

http 3.0 有哪些新特性

HTTP/3 是超文本传输协议(HTTP)的最新主要版本,其显著特点是放弃了传统的TCP作为传输层协议,转而采用基于UDP的QUIC(Quick UDP Internet Connections)协议。以下是HTTP/3利用QUIC实现高性能传输的关键特性&…

街道社区信息宣传工作做的好这个投稿方法不能少

作为一名刚刚接手街道社区信息宣传工作的新人,伊始对于如何有效地向各大媒体平台投稿我可谓是一头雾水。那时的日子充满了曲折与挑战,每一步都似乎布满了荆棘。为了让更多居民了解社区的工作动态和服务亮点,我怀揣着满腔热情,着手撰写一篇篇生动详实的新闻稿件。然而,投稿的过程…

mac上VMware fusion net模式无法正常使用的问题

更新时间:2024年04月22日21:39:04 1. 问题 环境: intel芯片的macbook pro VMware fusion 13.5.1 无法将“Ethernet0”连接到虚拟网络“/dev/vmnet8”。在这里显示这个之后,应该是vmnet8的网段发生了冲突,所以导致无法正常使用…

HTML 如何实现一个带间隙的圆环

实际效果&#xff1a; ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5e634cedded9424d96fbe6d46f34f61a.png#pic_center 代码实现&#xff1a; HTML部分&#xff1a; <svg width"500" height"500" viewBox"0 0 100 100">&…

【机器学习-17】数据变换---小波变换特征提取及应用案列介绍

引言 在机器学习领域&#xff0c;数据变换是一种常见且重要的预处理步骤。通过对原始数据进行变换&#xff0c;我们可以提取出更有意义的特征&#xff0c;提高模型的性能。在众多数据变换方法中&#xff0c;小波变换是一种非常有效的方法&#xff0c;尤其适用于处理非平稳信号和…

科学中的概率大师:Avi Wigderson 教授的图灵奖探索

文章目录 前言一、图灵奖的新星二、揭秘计算随机性三、Wigderson 的研究突破四、学术与产业的共鸣五、荣誉与责任总结 前言 在计算机科学的辽阔星空中&#xff0c;随机性与伪随机性犹如迷人的双子星座&#xff0c;挑战着我们的智力边界。Avi Wigderson&#xff0c;普林斯顿大学…

创建虚拟环境(记录一下)

conda create -n name python3.8版本高于11.7&#xff1a; pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 --force-reinstall --user 检验是否为true import torch print(torch.cuda.is_available()) stable diff…