ICLR24大模型提示(8) | 退一步思考:在大型语言模型中通过抽象引发推理

【摘要】我们提出了一种简单的提示技术,即后退提示法,它使 LLM 能够进行抽象,从包含特定细节的实例中得出高级概念和第一原理。通过使用概念和原理来指导推理,LLM 显著提高了遵循正确推理路径解决问题的能力。我们使用 PaLM-2L、GPT-4 和 Llama2-70B 模型进行了后退提示法实验,并观察到在各种具有挑战性的推理密集型任务(包括 STEM、知识问答和多跳推理)上的性能显著提升。例如,后退提示法分别将 PaLM-2L 在 MMLU(物理和化学)上的性能提高了 7% 和 11%,将 TimeQA 提高了 27%,将 MuSiQue 提高了 7%。

原文:Take a Step Back: Evoking Reasoning via Abstraction in Large Language Models
地址:https://arxiv.org/abs/2310.06117
代码:无
出版:ICLR 2024
机构: Google, DeepMind

1 研究问题

本文研究的核心问题是: 如何通过抽象的方式唤起大语言模型中的推理能力
::: block-1
假设一个学生在做物理题时遇到这样一个问题:“如果一个理想气体的温度增加2倍,体积增加8倍,那么压强会发生什么变化?”。如果学生直接利用大语言模型去解决这个问题,模型很可能在推理过程中出错。但如果学生先让模型抽象出解决这个问题需要用到的理想气体定律原理,再基于这个原理进行推理,就更有可能得到正确答案。
:::
本文研究问题的特点和现有方法面临的挑战主要体现在以下几个方面:

  • 许多复杂任务包含大量细节信息,大语言模型很难直接从中检索出相关事实来解决任务。
  • 大语言模型在多步推理任务中容易在中间步骤出错,难以遵循正确的推理路径。
  • 现有的提示工程方法如思维链(CoT)提示,虽然一定程度上改善了大语言模型的推理能力,但对于许多复杂任务来说效果仍然有限。
    针对这些挑战,本文提出了一种分两步走的"后退提示"(Step-Back Prompting)方法:
    ::: block-1
    第一步是通过上下文学习向大语言模型展示如何"后退一步",对问题进行抽象,提取出解决问题所需的高层次概念和原理。这一过程就像人类在遇到棘手问题时,会先退一步从更高的视角来审视问题。第二步是基于第一步抽象出的概念和原理,发挥大语言模型的推理能力去解决原始问题。这种做法巧妙地将复杂任务分解为相对简单的抽象步骤和推理步骤,减少了模型在推理过程中出错的可能性。同时,通过让模型自己总结概念和原理,而不是像思维链那样直接给出推理步骤,可以更好地发挥大语言模型的知识和理解能力。
    :::

2 研究方法

2.1 STEP-BACK PROMPTING概述

论文提出了一种名为STEP-BACK PROMPTING的新方法,旨在通过抽象和推理两个步骤来提高大型语言模型在复杂推理任务上的表现。这一方法的灵感来源于人类在面对复杂问题时常常会先退一步,从更高的层次上进行抽象,得到指导问题求解的概念或原理。STEP-BACK PROMPTING的第一步是通过少量示例来演示如何进行抽象,即提示模型从给定的具体问题中抽取出高层次的概念或原理。第二步是在这些高层次概念或原理的基础上进行推理,以得出原始问题的答案。

2.2 第一步:抽象

在抽象步骤中,论文通过少量的示例来演示如何从原始问题中抽取高层次的概念或原理。以物理学问题为例,给定一个关于理想气体压强、体积和温度关系的问题,模型需要首先识别出其中涉及的物理学原理,如理想气体状态方程 P V = n R T PV=nRT PV=nRT。这一步骤并不需要人工定义高层次的概念或原理,而是通过向模型展示一些问题-原理对来引导模型自动抽象。

2.3 第二步:推理

在得到高层次的概念或原理之后,推理步骤则在此基础上进行,以得出原始问题的答案。继续以理想气体问题为例,模型需要将给定的条件(如温度增加到原来的2倍,体积增加到原来的8倍)代入理想气体状态方程,通过一系列推导得出压强的变化。这一步骤并不需要对模型进行微调,而是利用了大型语言模型本身已有的推理能力。

2.6 实验细节

在实验中,论文使用了1到5个few-shot示例来演示如何进行抽象。通过消融实验,论文发现即使只使用1个示例,STEP-BACK PROMPTING也能够在大多数任务上取得较好的性能,这表明抽象是一种更容易学习的技能。此外,论文还讨论了扩大few-shot示例数量并不会明显提升性能。这一结果进一步证明了STEP-BACK PROMPTING的抽象步骤是sample-efficient的,即不需要大量的演示就能学会抽象。

3 实验

3.1 实验场景介绍

本文提出了一种简单的提示方法STEP-BACK PROMPTING,通过抽象化和推理两个步骤,在大型语言模型中唤起深度推理能力。实验评估STEP-BACK PROMPTING在三大类任务(STEM、Knowledge QA、Multi-hop Reasoning)上的性能。

3.2 实验设置

  • Datasets:
    • STEM: MMLU Physics、Chemistry,GSM8K
    • Knowledge QA: TimeQA,SituatedQA
    • Multi-hop Reasoning: MuSiQue,StrategyQA
  • Baseline: PaLM-2L、GPT-4、Llama2-70B模型的标准提示、Chain-of-Thought(CoT)提示等
  • Implementation details: 使用greedy decoding推理
  • metric: 采用PaLM-2L作为judge模型,对目标答案和模型预测答案是否等价进行评估

3.3 实验结果

实验1、STEP-BACK PROMPTING在STEM任务上的性能

目的: 评估STEP-BACK PROMPTING在MMLU Physics、Chemistry和GSM8K等STEM任务上的有效性

涉及图表: 表1,表4

实验细节概述: 在PaLM-2L、GPT-4、Llama2-70B三个模型上,比较STEP-BACK PROMPTING与标准提示、CoT等方法的性能

结果:

  • STEP-BACK PROMPTING在三个模型上的MMLU Physics、Chemistry性能均优于其他方法,提升7%-11%
  • 在GSM8K上,STEP-BACK PROMPTING与CoT等效果相当,可能因为GSM8K原理较简单,不需要抽象化

实验2、STEP-BACK PROMPTING在Knowledge QA任务上的性能

目的: 评估STEP-BACK PROMPTING在TimeQA、SituatedQA等知识密集型问答任务上的有效性

涉及图表: 表2

实验细节概述: 在PaLM-2L上,比较STEP-BACK PROMPTING与标准提示、CoT、检索增强(RAG)等方法的性能

结果:

  • TimeQA上,Step-Back+RAG达到最佳的68.7%,比PaLM-2L提升27%
  • SituatedQA上,Step-Back+RAG达到61%,略逊于GPT-4的63.2%
  • STEP-BACK PROMPTING能更好地检索高级概念的fact,用于grounding最终的推理

实验3、STEP-BACK PROMPTING在Multi-hop Reasoning任务上的性能

目的: 评估STEP-BACK PROMPTING在MuSiQue、StrategyQA等多跳推理任务上的有效性

涉及图表: 表3

实验细节概述: 在PaLM-2L上,比较STEP-BACK PROMPTING与标准提示、CoT、RAG等方法的性能

结果:

  • MuSiQue上,Step-Back+RAG达到最佳的42.8%,显著优于GPT-4的38.5%
  • StrategyQA上,Step-Back+RAG达到86.4%,同样大幅领先GPT-4
  • 抽象化的强大作用使STEP-BACK PROMPTING能更好解决复杂推理任务

实验4、STEP-BACK PROMPTING在MMLU Physics上的消融实验和错误分析

目的: 更细致地分析STEP-BACK PROMPTING的特性

涉及图表: 图3,图4

实验细节概述:

  • 对STEP-BACK PROMPTING在不同few-shot示例数下MMLU Physics性能进行消融
  • 分析STEP-BACK PROMPTING在MMLU Physics上犯的错误类型

结果:

  • STEP-BACK PROMPTING对few-shot示例数不敏感,1个示例就能获得很好性能
  • STEP-BACK PROMPTING的错误主要属于推理错误,抽象化技能相对容易few-shot学习

实验5、STEP-BACK PROMPTING在TimeQA上的消融实验和错误分析

目的: 更细致地分析STEP-BACK PROMPTING的特性

涉及图表: 图5,图6

实验细节概述:

  • 对STEP-BACK PROMPTING在不同few-shot示例数下TimeQA性能进行消融
  • 分析STEP-BACK PROMPTING在TimeQA上的正误情况

结果:

  • STEP-BACK PROMPTING对few-shot示例数不敏感
  • Step-Back能修正39.9%baseline的错误,而只引入5.6%新错误
  • Step-Back+RAG能修正21.6% RAG的错误,而只引入6.3%新错误

4总结

本论文针对大语言模型(LLM)在多步复杂推理任务上仍然面临挑战的问题,提出了一种名为STEP-BACK PROMPTING的两阶段方法。首先,通过抽象(abstraction)提取高层概念和原则;然后基于这些概念和原则进行推理(reasoning)得到最终答案。在多个涉及STEM、知识型问答、多跳推理的数据集上进行了实验。结果表明,所提方法可以显著提升PaLM-2L、GPT-4、Llama2-70B等多个LLM的表现,相比基线提升高达27%(如在TimeQA数据集上)。
::: block-2
疑惑和想法

  1. 除了人为设计的问题抽象模板,是否可以让LLM自主学习如何针对不同问题形成恰当的抽象?这可能需要更多的Few-shot示例。
  2. 在某些推理链很长的场景中,高层抽象可能丢失一些关键细节。如何权衡抽象粒度与推理难度,值得进一步探索。
  3. 能否将STEP-BACK思想与其他的prompting技术如思维链(Chain-of-Thought)相结合,进一步提升LLM的推理能力?
  4. 除了问答类任务,STEP-BACK是否可以应用于开放式文本生成,提升生成内容的逻辑性与连贯性?
    :::
    ::: block-2
    可借鉴的方法点
  5. 通过抽象简化问题复杂度,降低LLM推理难度的思路可以推广到其他类型任务如代码生成、对话理解等。
  6. 将复杂任务分解为两个子问题(抽象+推理)的方法可以借鉴,设计出更多Prompt形式。
  7. 结合retrieval增强LLM的事实性知识,提升问答正确率的做法值得学习。可以进一步探索如何优化retrieval问题。
  8. 在不同类型LLM上进行全面评测的实践值得借鉴,这有助于理解方法的普适性和界限。
    ::: block-2

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

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

相关文章

Facebook企业户 | Facebook公共主页经营

Facebook作为社交媒体巨头,拥有庞大的用户基数,因此,有效经营公共主页是获取持续流量、提升客户信任度和粘性、促进产品或服务销售与转化的关键。要优化Facebook主页,关注以下几点: 1、参与度是关键指标:因…

Python YOLOv5 7.0 基于深度学习的口罩检测识别系统

目录 1,演示视频和资源下载 1.1 演示视频 1.2 资源下载 2,数据集 3,代码 3.1 带 PyQt5 UI 的检测程序,基于YOLOv5 7.0 3.1.1 根据训练结果进行检测 3.1.2 自动保存每张图片/每帧的检测结果 3.1.3 筛选查看每张图片/每帧检…

Linux---sudo命令

文章目录 目录 文章目录 一.sudo命令简介 二.sudo 命令的特点 三.sudo 相关文件 四.sudo 命令授权配置 一.sudo命令简介 sudo 命令全称“SuperUser Do”,是Linux系统中的一个命令能够使普通用户以超级用户身份去执行某些命令。 二.sudo 命令的特点 sudo能够授权…

HC05蓝牙模块与笔记本蓝牙连接

文章目录 1. 电脑和蓝牙模块连接 2. 串口软件调试 1. 电脑和蓝牙模块连接 HC05支持SPP协议,使用PC主机自带蓝牙,或者笔记本加蓝牙适配器。与HC05连接后,可在电脑端虚拟出串口,这样上位机软件就可以像操作串口一样与HC05通信。对…

[ROS 系列学习教程] 建模与仿真 - 使用 Arbotix 控制机器人

ROS 系列学习教程(总目录) 本文目录 一、Arbotix 简介二、安装Arbotix三、配置Arbotix控制器四、配置launch启动文件五、数据交互接口六、在rviz中仿真控制机器人6.1 直接发topic控制6.2 使用键盘控制6.3 编写代码控制机器人移动 前面讲了机器人的建模,是静态的&…

二进制中1的个数-java

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、二进制中1的个数 二、算法思路 1.将一个整数转化成二进制形式 2.查询一个数的二进制数中的第k位是多少 3.lowbit(x)操作 三、代码如下 1.代码如下&…

ChatTTS 文字生成语言本地模型部署

ChatTTS部署 官方信息 [ChatTTS首页](https://chattts.com/)搭建步骤 1、下载源码 git clone https://github.com/2noise/ChatTTS.git 2、按照环境 pip install torch ChatTTS pip install -r requirements.txt 3、下载模型 git clone https://www.modelscope.cn/pzc163/ch…

[Vue3:axios]:实现实现登陆页面前后端请求,并用Vite解决跨域问题

文章目录 一:前置依赖查看依赖安装 axios:npm install axios 二:配置文件:创建一个用于全局使用的axios实例,并在main.js或main.ts文件中将其配置为全局属性。根目录mainjs文件引入axios 三:登录页面发送登…

Polar Web【中等】xxe

Polar Web【中等】xxe Contents Polar Web【中等】xxe思路&探索EXP运行&总结 思路&探索 如题目所示,此题考查XXE漏洞,具体细节需要逐步深挖 打开站点,提示了flag所在的文件,点击按钮,可见php的配置信息&am…

一款免费文件夹同步工具,旨在帮助用户在不同磁盘或文件夹间进行文件和目录的复制、移动和同步工作

一、简介 1、一款免费文件夹同步工具,旨在帮助用户在不同磁盘或文件夹间进行文件和目录的复制、移动和同步工作。这款工具因其简单易用、高度可定制化的特点,受到了广大用户的青睐。SyncToy支持多种同步模式,包括镜像同步、单向同步以及增量同…

Mysql使用中的性能优化——索引数对INSERT性能的影响

表的索引可以给数据检索提升效率,但是也给表的增删改操作带来代价。本文我们将关注,索引数量对INSERT操作的影响。 结论 索引数的新增会造成INSERT操作效率下降,约每增一个索引会降低10%效率。 实验数据 可以看到0个索引的效率是7个索引效…

Java Web学习笔记21——前后端分离开发

前后端混合开发: 沟通成本比较高。 分工不明确。 不便管理,不便于后期的维护和拓展。 前后端分离开发: 当前主流的开发模式:前后端分离开发: 接口文档: 接口并不是interface。 接口指的是业务功能。 …

Wireshark自定义Lua插件

背景: 常见的抓包工具有tcpdump和wireshark,二者可基于网卡进行抓包:tcpdump用于Linux环境抓包,而wireshark用于windows环境。抓包后需借助包分析工具对数据进行解析,将不可读的二进制数转换为可读的数据结构。 wires…

element-plus的el-text组件(文本组件)的介绍和使用

el-text(适合文本操作的组件) 设置文本type,如default,primary,success,info,warning,danger超出容器尺寸自动省略,tuncated属性设置size属性控制文本大小,有large,default,small设置tag属性,值为html5标签名&#xf…

Nagios的安装和使用

*实验* *nagios安装和使用* Nagios 是一个监视系统运行状态和网络信息的监视系统。Nagios 能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等. Nagios 可运行在 Linux/Unix 平台之上,同时提供一个可选的基于浏览器的 WEB 界面以方便系统管…

【创作活动】面对层出不穷的AI大模型产品我们应该怎么选择?

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

Vue CLI 4与项目构建实战指南

title: Vue CLI 4与项目构建实战指南 date: 2024/6/9 updated: 2024/6/9 excerpt: 这篇文章介绍了如何使用Vue CLI优化项目构建配置,提高开发效率,涉及配置管理、项目部署策略、插件系统定制以及Webpack和TypeScript的深度集成技巧。 categories: 前端…

五、身份与访问管理—身份管理和访问控制管理(CISSP)

目录 1.身份管理 1.1 目录技术 1.2 单点登录 1.2.1 Kerberos认证 1.2.2 SESAME认证 1.2.3 KryptoKnight认证 1.3 联合身份管理 1.3.1 SAML安全断言标记语言 1.3.2 标记语言 1.3.3 OpenID 1.3.4 OAuth 1.3.5 OIDC(OpenID Connect) 2.身份即服务(IDaaS) 2.1 AA…

Rocky linux 搭建DNS主从服务器+keepalived实现高可用

接上两篇文章,这篇文章跟上两篇没有直接关系。 第一篇:linux rocky 搭建DNS服务和禁止AD域控DNS,做到独立DNS并加域_linux 域控-CSDN博客文章浏览阅读519次,点赞20次,收藏10次。使用linux rocky 搭建DNS服务&#xff…

【个人博客搭建】(22)申请QQ开发者

这里我们要引入的一个概念是OAuth - OAuth 2.0是一个行业标准的授权协议,用于处理用户数据访问和分享的安全问题。它允许用户将他们对某些服务的访问权限授权给第三方应用,而无需分享他们的用户名和密码。以下是对OAuth 2.0的介绍: 基本概念 …