(论文阅读)Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

news2025/2/24 15:06:33

论文地址

https://openreview.net/pdf?id=_VjQlMeSB_J

摘要

        我们探索如何生成一个思维链——一系列中间推理步骤——如何显著提高大型语言模型执行复杂推理的能力。 特别是,我们展示了这种推理能力如何通过一种称为思维链提示的简单方法自然地出现在足够大的语言模型中,其中提供了一些思维链演示作为提示中的示例。
        对三种大型语言模型的实验表明,思维链提示提高了一系列算术、常识和符号推理任务的性能。 实证收益可能是惊人的。 例如,仅使用八个思维链范例来提示 PaLM 540B 在数学单词问题的 GSM8K 基准测试中实现了最先进的准确性,甚至超过了带有验证器的微调 GPT-3。

图一:思维链提示使大型语言模型能够处理复杂的算术、常识和符号推理任务。 突出显示了思维链推理过程。

 1 简介

        语言模型最近彻底改变了 NLP 领域。 扩大语言模型的规模已被证明可以带来一系列好处,例如提高性能和样本效率。 然而,单靠扩大模型规模并不足以在算术、常识和符号推理等具有挑战性的任务上实现高性能。

        这项工作探索了如何释放大型语言模型的推理能力 通过一种由两个想法驱动的简单方法。 首先,算术推理技术可以受益于生成导致最终答案的自然语言基本原理。 除了使用形式语言的神经符号方法之外,先前的工作已经使模型能够通过从头开始训练或微调预训练模型来生成自然语言中间步骤 而不是自然语言。 其次,大型语言模型通过提示提供了上下文中的小样本学习的令人兴奋的前景。 也就是说,不是为每个新任务微调一个单独的语言模型检查点,而是可以简单地用一些演示任务的输入输出范例来“提示”模型。 值得注意的是,这在一系列简单的问答任务中取得了成功。

图 2:PaLM 540B 使用思维链提示在 GSM8K 数学单词问题基准测试中实现了最新的性能。 Finetuned GPT-3 和之前最好的来自 Cobbe 等人。 (2021)。

         然而,上述两种想法都有关键的局限性。 对于基本原理增强训练和微调方法,创建大量高质量基本原理的成本很高,这比普通机器学习中使用的简单输入-输出对复杂得多。 对于 Brown 等人使用的传统小样本提示方法。 (2020),它在需要推理能力的任务上表现不佳,并且通常不会随着语言模型规模的增加而大幅改善 (Rae et al., 2021)。 在本文中,我们以一种避免其局限性的方式结合了这两种想法的优势。 具体来说,我们探索了语言模型执行推理任务的小样本提示的能力,给定一个由三元组组成的提示:〈输入、思维链、输出〉。 思维链是导致最终输出的一系列中间自然语言推理步骤,我们将这种方法称为思维链提示。 图 1 显示了一个示例提示。
        我们对算术、常识和符号推理基准进行了实证评估,表明思维链提示优于标准提示,有时甚至达到惊人的程度。 图 2 说明了这样一个结果——在 GSM8K 数学单词问题基准测试中(Cobbe 等人,2021 年),使用 PaLM 540B 的思维链提示大大优于标准提示,并达到了新的最先进水平 表现。 仅提示方法很重要,因为它不需要大型训练数据集,而且单个模型检查点可以执行许多任务而不失一般性。 这项工作强调了大型语言模型是如何通过一些关于任务的自然语言数据的例子来学习的(参见通过大型训练数据集自动学习输入和输出的模式)。

2 连锁思维提示

        在解决复杂的推理任务(例如多步数学单词问题)时,请考虑自己的思维过程。 通常将问题分解为中间步骤并在给出最终答案之前解决每个步骤:“在简给她妈妈 2 朵花后,她有 10 朵花。 . . 然后在她把 3 给她爸爸之后,她会得到 7 。 . . 所以答案是 7。” 本文的目标是赋予语言模型生成类似思维链的能力——一系列连贯的中间推理步骤,这些步骤会导致问题的最终答案。如果在范例中为小样本提示提供了思维链推理的演示,我们将证明足够大的语言模型可以生成思维链。
        图 1 显示了一个模型的示例,该模型生成了一条思路来解决数学单词问题,否则它会变得不正确。 在这种情况下,思维链类似于一个解决方案,可以解释为一个解决方案,但我们仍然选择将其称为思维链,以更好地捕捉它模仿逐步思考过程以得出答案的想法(和 此外,解决方案/解释通常在最终答案之后出现(Narang 等人,2020 年;Wiegreffe 等人,2022 年;Lampinen 等人,2022 年等)。
        作为一种促进语言模型推理的方法,思维链提示具有几个吸引人的特性。

  1. 首先,思维链原则上允许模型将多步问题分解为中间步骤,这意味着可以将额外的计算分配给需要更多推理步骤的问题。
  2. 其次,思维链为模型的行为提供了一个可解释的窗口,表明它可能是如何得出特定答案的,并提供了调试推理路径错误位置的机会(尽管完全表征了支持模型的计算) 答案仍然是一个悬而未决的问题)。
  3. 第三,链式思维推理可用于数学单词问题、常识推理和符号操作等任务,并且可能(至少在原则上)适用于人类可以通过语言解决的任何任务。
  4. 最后,只要将思维序列链的例子包含到少样本提示的范例中,就可以很容易地在足够大的现成语言模型中引出思维链推理。

        在实证实验中,我们将观察思维链提示在算术推理(第 3 节)、常识推理(第 4 节)和符号推理(第 5 节)中的效用。

3 算术推理

        我们首先考虑图 1 中形式的数学单词问题,这些问题衡量语言模型的算术推理能力。 尽管对人类来说很简单,但算术推理是语言模型经常遇到困难的任务(Hendrycks 等人,2021 年;Patel 等人,2021 年等)。 引人注目的是,当与 540B 参数语言模型一起使用时,思维链提示在多项任务上的表现与特定于任务的微调模型相当,甚至在具有挑战性的 GSM8K 基准测试中达到了最新的技术水平(Cobbe 等人,2021)。


3.1 实验装置

        我们在多个基准测试中探索了各种语言模型的思维链提示。

图 3:算术、常识和符号推理基准的〈输入、思维链、输出〉三元组示例。 思想链被突出显示。 附录 G 中的完整提示。


        基准。 我们考虑以下五个数学单词问题基准:(1)GSM8K 数学单词问题基准(Cobbe 等人,2021),(2)具有不同结构的数学单词问题的 SVAMP 数据集(Patel 等人,2021) ,(3)各种数学单词问题的 ASDiv 数据集(Miao 等人,2020),(4)代数单词问题的 AQuA 数据集,以及(5)MAWPS 基准(Koncel-Kedziorski 等人,2016)。 示例问题在附录表 12 中给出。
        标准提示。 对于基线,我们考虑标准的小样本提示,由 Brown 等人推广。 (2020),其中语言模型在输出测试时间示例的预测之前给出了输入-输出对的上下文示例。 范例被格式化为问题和答案。 模型直接给出了答案,如图1(左)所示。
        连锁思维提示。 我们提出的方法是用相关答案的思维链来增强小样本提示中的每个范例,如图 1(右)所示。 由于大多数数据集只有一个评估拆分,我们手动组成了一组八个带有思想链的小样例用于提示——图 1(右)显示了一个思想链范例,完整的范例集在 附录表 20。(这些特定范例没有经过提示工程;稳健性在第 3.4 节和附录 A.2 中进行了研究。)调查这种形式的思维链提示是否可以成功地引发一系列数学单词的成功推理 问题,我们对除 AQuA 以外的所有基准测试都使用了这组八个思维链范例,AQuA 是多项选择而不是自由响应。 对于 AQuA,我们使用了训练集中的四个样本和解决方案,如附录表 21 中所示。
        语言模型。 我们评估了五种大型语言模型。 第一个是 GPT-3 (Brown et al., 2020),为此我们使用 text-ada-001、text-babbage-001、text-curie-001 和 text-davinci-002,它们大概对应于 InstructGPT 模型 350M、1.3B、6.7B、175B参数模型(Ouyang et al., 2022)。其次是LaMDA(Thoppilan et al., 2022),有422M、2B、8B、68B、137B参数模型。 三是PaLM,有8B、62B、540B参数型号。 第四个是 UL2 20B(Tay 等人,2022),第五个是 Codex(Chen 等人,2021,OpenAI API 中的代码-davinci-002)。 我们通过贪婪解码从模型中采样(尽管后续工作表明可以通过在许多采样代中采用多数最终答案来改进思维链提示(Wang 等人,2022a))。 对于 LaMDA,我们报告了五个随机种子的平均结果,其中每个种子都有不同的随机打乱顺序的样本。 由于 LaMDA 实验没有显示不同种子之间的大差异,为了节省计算,我们报告了所有其他模型的单个示例订单的结果。

3.2 结果

图 4:思维链提示使大型语言模型能够解决具有挑战性的数学问题。 值得注意的是,链式思维推理是增加模型规模的一种新兴能力。先前的最佳数字来自 Cobbe 等人。 (2021) 对于 GSM8K,Jie 等人。 (2022) 用于 SVAMP,以及 Lan 等人。 (2021) 用于 MAWPS。

 
图 4 总结了思维链提示的最强结果,附录中的表 2 显示了每个模型集合、模型大小和基准的所有实验输出。 有三个关键要点。

        第一,图 4 表明,思维链提示是模型规模的一种新兴能力(Wei 等人,2022b)。 也就是说,思想链提示不会对小型模型的性能产生积极影响,并且只有在与 ∼100B 参数的模型一起使用时才会产生性能提升。 我们定性地发现,较小规模的模型产生了流畅但不合逻辑的思维链,导致性能低于标准提示。 

        第二,思维链提示对于更复杂的问题有更大的性能提升。 例如,对于 GSM8K(基线性能最低的数据集),最大的 GPT 和 PaLM 模型的性能翻了一番以上。 另一方面,对于 SingleOp,MAWPS 中最简单的子集,只需要一个步骤即可解决,性能改进要么是负面的,要么非常小(参见附录表 3)。
        第三,通过 GPT-3 175B 和 PaLM 540B 进行的思想链提示优于现有技术水平,后者通常会微调标记训练数据集上的任务特定模型。 图 4 显示了 PaLM 540B 如何使用思想链提示在 GSM8K、SVAMP 和 MAWPS 上实现最新技术水平(但请注意,标准提示已经超过了 SVAMP 的先前最佳水平)。 在另外两个数据集 AQuA 和 ASDiv 上,带有思想链提示的 PaLM 达到了现有技术水平的 2% 以内(附录表 2)。

        为了更好地理解为什么要使用思想链为了促进工作,我们手动检查了 LaMDA 137B 为 GSM8K 生成的模型生成的思维链。 在模型返回正确最终答案的 50 个随机示例中,所有生成的思维链在逻辑和数学上也是正确的,除了两个巧合地得出了正确的答案(请参阅附录 D.1 和表 8,了解正确的模型生成的思维链示例)。我们还随机检查了模型给出错误答案的 50 个随机样本。 这一分析的总结是,46% 的思维链几乎是正确的,除了小错误(计算器错误、符号映射错误或缺少一个推理步骤),另外 54% 的思维链有重大错误语义理解或连贯性错误(参见附录 D.2)。 为了深入了解为什么缩放可以提高思维链推理能力,我们对 PaLM 62B 产生的错误进行了类似的分析,以及这些错误是否通过缩放到 PaLM 540B 得到修复。 总结是将 PaLM 扩展到 540B 修复了 62B 模型中的大部分单步缺失和语义理解错误(参见附录 A.1)。

3.3 消融研究

 。。待续

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

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

相关文章

运用自动化测试脚本,测试下CSDN的登录功能模块

目录 前言 python程序目录 账号密码登录模块 测试用例执行模块 运行结果示例 前言 自动化测试的重要性越来越受到人们的重视,因为它可以提高测试效率、降低测试成本并减少人为错误的出现。为了满足这个需求,越来越多的公司开始采用自动化测试来保证…

项目跑不起来

Sa-Token/sa-token-core/src/main/java/cn/dev33/satoken/temp/SaTempUtil.java:10:8 java: 写入cn.dev33.satoken.temp.SaTempUtil时出错: Output directory is not specified 写入cn.dev33.satoken.temp.SaTempUtil时出错: Output directory is not specified 答案&#xf…

c++的概述

c是面向对象、泛型编程。 1、 第一个c程序&#xff1a; #include <iostream>using namespace std;int main(int argc, char *argv[]) {//cout代表终端输出设备 endl换行cout << "Hello World! " << endl;cout << 100 << endl;std:…

Element-Plus el-upload组件批量上传图片问题记录

上传图片组件踩坑记录 1. 第一次尝试 最初的写法如下&#xff0c;在本地跑的时候每上传一张图片调一次接口&#xff0c;虽然图片回显正常了&#xff0c;但是每次都会自动多调一个如下图所示的apply-login 报错404&#xff0c;部署到测试环境后&#xff0c;就是每次都报错&…

linux(信号产生中)代码来验证

我们应该如何理解我们调用系统接口并不是简单的调用系统接口这么简单就完事了---我们有时候也是需要使用由操作系统为我们提供的操作系统的层面的数据类型 sigset_t 我们来介绍一种类型&#xff0c;从我们之前学的图来看&#xff0c;每一个信号不管是在block表还是在pending表…

鄂尔多斯市政务协同办公平台,让全市政务更协同高效

近年来&#xff0c;国家高度重视数字政务建设&#xff0c;以数字化推进国家治理体系和治理能力现代化&#xff0c;助力建设人民满意的服务型政府。 2018年&#xff0c;国务院办公厅印发《进一步深化“互联网政务服务”推进政务服务“一网、一门、一次”改革实施方案》&#xf…

这份阿里巴巴内部Spring Cloud Alibaba全套笔记,几乎涵盖了所有操作

Spring Cloud Alibaba 是阿里巴巴提供的微服务开发一站式解决方案&#xff0c;是阿里巴巴开源中间件与 Spring Cloud 体系的融合。 Springcloud 和 Srpingcloud Alibaba 区别&#xff1f; SpringCloud&#xff1a; 部分组件停止维护和更新&#xff0c;给开发带来不便;SpringCl…

缓存数据一致性探究

缓存是一种较低成本提升系统性能的方式&#xff0c;自它面世第一天起就备受广大开发者的喜爱。然而正如《人月神话》中的那句经典的“没有银弹”中所说&#xff0c;软件工程的设计没有银弹。 就像每一次发布上线修复问题的同时&#xff0c;也极易引入新的问题&#xff0c;自缓存…

一文让你明白软件测试该怎样入门?

我认为入门软件测试需要四个方面的知识or技能&#xff0c;它们是&#xff1a;业务知识、职业素养、基础知识、技术知识。 职业素养是一切的根基&#xff0c;因为人在职场就必须拥有必要的职业素养&#xff0c;软件测试工程师也不例外。基础知识和技术知识是两大支柱&#xff0…

【正点原子STM32连载】 第二十九章 DMA实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第二十…

第26节:cesium 高程数据下载(含源码+视频)

本节主要讲解高程dem数据下载方式 下载网址1: http://srtm.csi.cgiar.org/download 下载较慢,含全球高程数据 下载网站2:地理空间数据云 下载速度快,中国科学院计算机网络信息中心公布数据,正式可靠 下面主要介绍地理空间数据云的下载方式。 1.登录 2.选择高级检索 3.选择数…

【改进的多同步挤压变换】基于改进多同步挤压的高分辨率时频分析工具,用于分析非平稳信号(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

一份配置轻松搞定表单渲染,配置式表单渲染器在袋鼠云的实现思路与实践

前段时间&#xff0c;袋鼠云离线开发产品接到改造数据同步表单的需求。 一方面&#xff0c;数据同步模块的代码可读性和可维护性较差&#xff0c;导致在数据同步模块开发新功能和定位问题的效率很低。另一方面&#xff0c;整体规划上&#xff0c;希望在对接新的数据源时&…

Mac版好用虚拟机CrossOver22.1.1,耗时时间少,加快办事效率

Mac系统仅适配自己的硬件&#xff0c;它的软件需要通过app store购买&#xff0c;所以很多Mac用户也为之烦恼。这种模式优点是稳定性与性能超强发挥&#xff0c;缺点也显而易见。 那该如何解决这一困扰呢&#xff1f;一般&#xff0c;我们会选择安装虚拟机软件&#xff0c;但这…

本地使用AutoML-nni进行超参数调优实验

目的&#xff1a;在自己的代码中NNI工具&#xff0c;进行超参数自动调优训练自己的项目&#xff0c;得到精度最高的一组超参数。 nni地址&#xff1a; GitHub - microsoft/nni: An open source AutoML toolkit for automate machine learning lifecycle, including feature e…

短视频矩阵视频智能剪辑源代码.源代码

短视频矩阵视频智能剪辑&#xff1a; * 添加/编辑视频 */ public function addVideoAction(){ $this->useLayout(dydqtshoppc-head.html); $id $this->request->getIntParam(id); //获取视频信息 $Video_model new App_Mod…

c++包管理器,不用每次都源码编译

pkg-config linux中的包管理器 例如opencv.pc文件&#xff0c;详细描述了库的使用依赖。cmake的find_package支持pc文件的查找 prefix/usr/local exec_prefix${prefix} includedir/usr/local/include libdir/usr/local/libName: OpenCV Description: Open Source Computer Vi…

矿工挖宝-第14届蓝桥杯国赛Scratch真题初中级组第4题

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第146讲。 矿工挖宝&#xff0c;本题是2023年5月28日上午举行的第14届蓝桥杯国赛Scratch图形化编程初中级组真题第4题&…

MySQL(进阶篇3.0)

锁 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中&#xff0c;除传统的计算机资源&#xff08;CPU、RAM、I/O&#xff09;的争用之外&#xff0c;数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题&…

十五、实例化

第一部分 概念&#xff1a; 1&#xff09;引入 OpenGL ES 实例化&#xff08;Instancing&#xff09;是一种只调用一次渲染函数就能绘制出很多物体的技术&#xff0c;可以实现将数据一次性发送给 GPU &#xff0c;告诉 OpenGL ES 使用一个绘制函数&#xff0c;将这些数据绘制…