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

news2024/11/29 10:43:14

【摘要】我们提出了一种简单的提示技术,即后退提示法,它使 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.coloradmin.cn/o/1804446.html

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

相关文章

Android Media Framework(三)OpenMAX API阅读与分析

这篇文章我们将聚焦Control API的功能与用法,为实现OMX Core、Component打下坚实的基础。 1、OMX_Core.h OMX Core在OpenMAX IL架构中的位置位于IL Client与实际的OMX组件之间,OMX Core提供了两组API给IL Client使用,一组API用于管理OMX组件…

对Java中二维数组的深层认识

首先,在JAVA中,二维数组是一种数组的数组。它可以看作是一个矩阵,通常是由于表示二维数据节后,如表格和网格。 1.声明和初始化二维数组 声明 int[][] arr;初始化 int[][] arrnew int[3][4];或者用花括号嵌套 int[][] arr{{1,…

数据结构 -- 树状数组

前言 树状数组或二叉索引树(Binary Indexed Tree),又以其发明者命名为 Fenwick 树。其初衷是解决数据压缩里的累积频率的计算问题,现多用于高效计算数列的前缀和、区间和。它可以以 O(logn) 的时间得到任意前缀和。并同时支持在 …

Django更改超级用户密码

Django更改超级用户密码 1、打开shell 在工程文件目录下敲入: python manage.py shell再在python交互界面输入: from django.contrib.auth.models import User user User.objects.get(username root) user.set_password(123456) user.save()其中ro…

千行赏金:闲暇时间的价值创造者

在这个高速发展的信息时代,人们的生活节奏越来越快,闲暇时间似乎成为了一种奢侈品。然而,正是这些看似零散的闲暇时间,如果能够妥善利用,也能产生巨大的价值。今天,我要为大家介绍一款能够充分利用闲暇时间…

深度学习 - 梯度下降优化方法

梯度下降的基本概念 梯度下降(Gradient Descent)是一种用于优化机器学习模型参数的算法,其目的是最小化损失函数,从而提高模型的预测精度。梯度下降的核心思想是通过迭代地调整参数,沿着损失函数下降的方向前进&#…

金融领域的AI解决方案

AI可赋能金融营销、资管、风控等领域,面向金融消费者、金融机构和金融监管机构,改善金融 市场信息对称性并提升金融交易的效率和安全性。目前,金融行业各机构对于安全认证和客户身份识别的需求较为迫切,身份识别和智能客服应用和落…

深度解析:AI Prompt 提示词工程的兴起、争议与未来发展

PART1: 提示词工程的兴起 在人工智能领域中,一个新的领域——提示词工程(prompt engineering)——开始显露头角。 这个领域的核心在于精心设计输入,以引导AI模型产生特定的、期望的输出。 随着AI技术的飞速发展,特别…

值类型和引用类型在使用和存储上的区别

使用上的区别 //值类型 int a 10; //引用类型 int[] arr new int[] { 1, 2, 3, 4, 5 };//声明了一个b让其等于之前的a int b a; //声明了一个arr2让其等于之前的arr int[] arr2 arr; Console.WriteLine("a{0},b{1}", a, b); Console.WriteLine("arr[0]{0},…

【JavaEE】Spring Boot 配置文件详解

一.配置文件的相关概念. 配置文件主要用于配置应用程序的行为和属性. Spring Boot的配置文件提供了一种灵活且强大的方式,用于管理应用程序的配置信息。很多项目或框架的配置信息也放在配置文件中: 项目的启动端口.数据库的连接信息(用户名/密码/驱动等的信息).第三…

AI图书推荐:这就是ChatGPT

这本书《这就是ChatGPT》(What Is ChatGPT Doing ... and Why Does It Work )由Stephen Wolfram撰写 全书内容概要如下: **引言与预备知识** - 作者首先表达了对ChatGPT技术突破的兴奋之情,指出这不仅是技术的故事,也是…

Hadoop3:MapReduce源码解读之Map阶段的Job任务提交流程(1)

3、Job工作机制源码解读 用之前wordcount案例进行源码阅读,debug断点打在Job任务提交时 提交任务前,建立客户单连接 如下图,可以看出,只有两个客户端提供者,一个是YarnClient,一个是LocalClient。 显然&a…

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…

ssm610学生社团管理系统+vue【已测试】

前言:👩‍💻 计算机行业的同仁们,大家好!作为专注于Java领域多年的开发者,我非常理解实践案例的重要性。以下是一些我认为有助于提升你们技能的资源: 👩‍💻 SpringBoot…

Hadoop3:MapReduce源码解读之Map阶段的数据输入过程整体概览(0)

一、MapReduce中数据流向 二、MapTask并行度 1、原理概览 数据块:Block是HDFS物理上把数据分成一块一块。数据块是HDFS存储数据单位。 数据切片:数据切片只是在逻辑上对输入进行分片,并不会在磁盘上将其切分成片进行存储。数据切片是MapRed…

ctfshow解题,知识点学习

1.easy_zip(misc) 1)打开环境后是一个压缩包,解压里面有个flag.txt文件需要密码, 2)直接用工具爆破,即可找到密码 2.easy_eval 1)进入题目环境,先进行代码审计 首先说是…

「小明赠书活动」第五期“网安三剑客”套系图书《内网渗透技术》《渗透测试技术》《Web应用安全》

大模型风潮已掀起,各大巨头争相入局,从ChatGPT到Sora,全球的AI应用“卷出了花”。然而,网络安全人员在享受AI技术带来的便捷之余,也不得不面对一系列新兴的安全挑战,无法忽视。 ⭐️ 赠书 - 图书简介 人…

RabbitMQ python第三方库pika应用入门实践

1. RabbitMQ简介 RabbitMQ是一个可靠、高效的开源消息代理服务器,基于AMQP协议。它具备以下特点: 可以支持多种消息协议,如AMQP、STOMP和MQTT等。提供了持久化、可靠性和灵活的路由等功能。支持消息的发布和订阅模式。具备高可用性和可扩展…

From self-attention 2 flash-attention 数学原理与 cuda 实现优化

self attension 是transformer 编码器和解码器中共同的一个计算环节,在整个transformer 网络体系中耗费的算力比例占主导。所以节省self attention 的正向和反向的计算时间,就可以加速 transormer 的训练和推理过程。 1,self attention 的数…

学习笔记——路由网络基础——环回接口(loopback)

6、环回接口(loopback) (1)定义 环回接口(loopback) :是一种虚拟的接口,是一种纯软件性质的虚拟接口,模拟一个单独的网段。 Loopback等于在设备中模拟另外不同的网络,实现不需要物理接口连接设备,依然可以模拟的功能…