【LLM 论文】Least-to-Most Prompting 让 LLM 实现复杂推理

server/2024/12/2 4:31:32/

论文:Least-to-Most Prompting Enables Complex Reasoning in Large Language Models

⭐⭐⭐

Google Research, ICLR 2023

论文速读

Chain-of-Thought(CoT) prompting 的方法通过结合 few-show prompt 的思路,让 LLM 能够挑战更具复杂性的问题。但是 CoT 的方法存在一个关键限制:它在需要泛化性来解决比 demonstration examples 更困难的问题的 task 上,通常表现不佳

为了克服这个缺点,本论文提出了 least-to-most prompting 的方法,它先让 LLM 将原来的问题分解为多个需要预先解决的 sub-questions,然后依次按顺序让 LLM 去解决这些 sub-questions,在解决每个 sub-question 的时候,LLM 可以看到之前的每个 sub-question 以及回复。如下图:

可以看到,它包含两个 stage,每个 stage 都是通过 few-shot prompt 来实现的,并且整个过程没有任何 model 被训练:

  1. Decomposition:这个阶段的 prompt 包含固定的几个用于演示 decomposition 的 few-shot exemplars,然后跟着需要被 decomposed 的 question
  2. Subproblem solving:这个阶段的 prompt 包含三个部分:
    • 固定的几个用于演示 subproblem 如何被解决的 few-shot exemplars
    • 先前已经被 LLM 回答了的 subquestions 以及对应的生成的回答
    • 接下来需要被回答的 question

最终,原先的 user question 作为最后一个 subquestion 被 LLM 解决。

实验

论文做了 symbolic manipulation、compositional generalization 和 math reasoning tasks 三个实验,并主要与 CoT 进行了对比。

总的来说,本文提出的 Least-to-Most Prompting 相比于 CoT 的优势主要在于:

  • 在长度泛化方面更好。面对比 few-shot exemplars 更长的问题,比 CoT 解决地更好
  • 在困难泛化方面更好。面对比 few-shot exemplars 更困难的问题,也比 CoT 解决地更好

总结与分析

论文指出,该方法的 decomposition prompt 不能很好地跨域泛化,在一个 domain 上 decomposition 的示例无法有效地用在另一个 domain(task)上。

总的来说,本工作提出了 least-to-most prompting 的方法,通过自顶向下的问题分解和自底向上的子问题解决实现了最终的解决问题。在该方法中,prompt 由以前的单向与 LLM 交流变成了双向的互动。通过双向交互来指导 LLM 仍然值得探索。
pt 由以前的单向与 LLM 交流变成了双向的互动。通过双向交互来指导 LLM 仍然值得探索。


http://www.ppmy.cn/server/41833.html

相关文章

【脚本】使用脚本备份docker中部署的mysql数据库

v1版本明文密码方式: #!/bin/bash# 定义 MySQL 容器名称和数据库信息 container_name"mysql_container" db_user"root" db_password"your_password"# 定义要备份的数据库列表 databases("database1" "database2"…

【Go】Go Swagger 生成和转 openapi 3.0.3

本文档主要描述在 gin 框架下用 gin-swagger 生成 swagger.json 的内容,中间猜的坑。以及,如何把 swagger 2.0 转成 openapi 3.0.3 下面操作均在项目根目录下执行 生成 swagger 2.0 import swagger go get -u github.com/swaggo/gin-swagger go get …

【STM32 |新建一个工程】基于标准库(库函数)新建工程

目录 STM32开发方式 库函数文件夹 建工程步骤 库函数工程建立 建立工程总结 STM32开发方式 目前stm32的开发方式主要有基于寄存器的方式、基于标准库的方式(库函数的方式)、基于HAL库的方式基于库函数的方式是使用ST官方提供的封装好的函数&…

QT---day5,通信

1、思维导图 2、TCp 服务器 #ifndef MYWIDGET_H #define MYWIDGET_H #include <QWidget> #include <QTcpServer> #include <QList> #include <QTcpSocket> #include <QMessageBox> #include <QDebug> #include <QTcpServer> QT_B…

学习MySQL(二):库表的操作

库的增删改查 增 -- 创建库 create database 库名 charset 字符编码; 删 -- 删除库 drop database 库名; 改 -- 修改字符编码 alter database 库名 charset 字符编码; # 注&#xff1a;一般只改字符编码&#xff0c;数据库名称是不能改的 查 -- 查询当前账户下所有的库…

AppBuilder低代码体验:构建雅思大作文组件

AppBuilder低代码体验&#xff1a;构建雅思大作文组件 ​ 在4月14日&#xff0c;AppBuilder赢来了一次大更新&#xff0c;具体更新内容见&#xff1a;AppBuilder 2024.04.14发版上线公告 。本次更新最大的亮点就是**新增了工作流&#xff0c;低代码制作组件。**具体包括&#x…

正点原子FreeRTOS学习笔记——列表与列表项

目录 一、什么是列表和列表项 1、概念 2、FreeRTOS代码 &#xff08;1&#xff09;列表 &#xff08;2&#xff09;列表项 &#xff08;3&#xff09;迷你列表项 二、列表与列表项初始化 1、列表初始化 2、列表项初始化 三、列表插入与删除列表项 1、原理解释 2、…

AD域服务器巡检指南

Active Directory (AD) 域服务器的巡检对于确保企业网络的安全性和高效运行至关重要。以下是针对AD域服务器巡检的关键活动和其重要性的优化描述&#xff1a; 保证系统安全&#xff1a; AD域服务器储存大量敏感数据&#xff0c;包括用户账户信息、策略和访问权限数据。定期巡检…