论文笔记:Large Language Models as Analogical Reasoners

iclr 2024 reviewer打分5558

1 intro

  • 基于CoT prompt的大模型能够更好地解决复杂推理问题
    • 然而传统CoT需要提供相关的例子作为指导,这就增加了人工标注的成本
    • ——>Zero-shot CoT避免了人工标注来引导推理
      • 但是对于一些复杂的任务难以完成推理,例如code generation
  • ——>论文提出一种“归纳学习”的提示方法
    • 首先设计prompt让大模型生成出与当前问题比较相关的问题和答案,以辅助问答提出的问题

2 preliminary

  • 给定一个问题x

    • 首先通过prompt将问题映射到文本输入ϕ ( x ) 

      • zero-shotϕ ( x ) 就是x
        zero-shot CoTϕ ( x ) 是[x] think step by step
        few-shot CoT

        ϕ ( x ) 是[x]和一些带label的例子 \{(x_i,r_i,a_i)\})_{i=1}^K,即

        [x1][r1][a1].....[xK][rK][aK][x]

    • 任务目标是调用LLM解决这个问题【生成目标答案y】

      • 生成的目标答案可以包含reasoning path r【推理过程】和答案a 

3 方法

3.1 Self-Generated Exemplars

  • 让大模型从在训练阶段掌握的problem-solving knowledge中生成出相关的问题和解决方法

3.1.1 prompt举例

3.1.2 大模型给的答案

大模型先生成出3个相关的且互不相同的problem,并给出相应的解决方案,然后再对目标问题进行解决。

3.1.3 self-generated instruction的三个核心部分

  • 明确地让大模型生成相关且不同的样例。
    • 因为大模型会偏向于重复地生成一些经典的问题,导致误导
  • single-pass VS independent exemplar generation
    • 所谓single-pass,就是直接prompt,让模型生成3个样例
    • independent exemplar generation:让模型生成若干样例,然后采样3个样例,之后再重新设计prompt让大模型进行生成
    • ——>通过实验,发现single-pass效果最好
  • 生成的样例数量:3~5最佳

3.2 Self-generated Knowledge + Exemplars

  • 对于像代码生成等复杂的任务,3.1这样的案例生成方法不一定能过让模型很好地解决此类问题
    • ——>论文提出一种high-level generation方法。通过设计如下指令来实现:
  • 【让模型先思考选择什么algorithm,以及algorithm对应的tutorial】

有点类似于:论文笔记:Take a Step Back:Evoking Reasoning via Abstraction in Large Language Models-CSDN博客的后退一步?

3.2.1 prompt 案例

3.2.2 大模型给的答案

4 实验

4.1 实验任务

  • 数学问题:GSM8K、MATH等;
  • 代码生成:动态规划、图算法等复杂的编程题

4.2 效果比较

4.2.1 数学问题

4.2.2 代码生成

4.3 few-shot example 数量的异同

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

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

相关文章

Prometheus+grafana环境搭建redis(docker+二进制两种方式安装)(四)

由于所有组件写一篇幅过长,所以每个组件分一篇方便查看,前三篇 Prometheusgrafana环境搭建方法及流程两种方式(docker和源码包)(一)-CSDN博客 Prometheusgrafana环境搭建rabbitmq(docker二进制两种方式安装)(二)-CSDN博客 Prometheusgrafana环境搭建m…

Android APP加固利器:深入了解混淆算法与混淆配置

Android APP 加固是优化 APK 安全性的一种方法,常见的加固方式有混淆代码、加壳、数据加密、动态加载等。下面介绍一下 Android APP 加固的具体实现方式。 混淆代码 使用 ipaguard工具可以对代码进行混淆,使得反编译出来的代码很难阅读和理解&#xff…

基于单片机多功能充电器系统设计

**单片机设计介绍,基于单片机多功能充电器系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机多功能充电器系统设计是一个集电源管理、充电控制和用户界面于一体的综合性项目。以下是对该系统设计的概…

Pnpm + Turbo 搭建 Web Component Monorepo 组件库

技术选型 使用 Pnpm Turbo 搭建 Web Component Monorepo项目 stencil-component-ui 组件库 pnpm 作为包管理器Turborepo 作为构建系统Vitepress 管理文档 pnpm 技术 什么是 pnpm? 它有哪些优势? pnpm 跟 npm、yarn一样,都是用于管理Node包依赖的管…

比nestjs更优雅的ts控制反转策略-依赖查找

一、Cabloy5.0内测预告 Cabloy5.0采用TS对整个全栈框架进行了脱胎换骨般的大重构,并且提供了更加优雅的ts控制反转策略,让我们的业务开发更加快捷顺畅 1. 新旧技术栈对比: 后端前端旧版js、egg2.0、mysqljs、vue2、framework7新版ts、egg3…

JVM基础

初识JAM JVM就是JAVA虚拟机,本质上是一个运行在计算机上的程序,他的职责是运行JAVA字节码文件. 下面是java代码执行过程 JVM的功能 1.解释和运行 对字节码文件中的指令实时的解释成机器码 2.内存管理 自动为对象,方法等分配内存自动的垃圾回…

java中大型医院HIS系统源码 Angular+Nginx+SpringBoot云HIS运维平台源码

java中大型医院HIS系统源码 AngularNginxSpringBoot云HIS运维平台源码 云HIS系统是一款满足基层医院各类业务需要的健康云产品。该产品能帮助基层医院完成日常各类业务,提供病患预约挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查询、医生工作站和护士工…

MySQL-排序与分页

1. 排序 如果没有使用排序操作,默认情况下查询返回的数据是按照添加数据的顺序显示的。 SELECT * FROM employees;1.1 基本使用 1)使用 ORDER BY 对查询到的数据进行排序操作。 升序:ASC(ascend)降序:DESC (descend) 练习&am…

使用 LLMLingua-2 压缩 GPT-4 和 Claude 提示

原文地址:Compress GPT-4 and Claude prompts with LLMLingua-2 2024 年 4 月 1 日 向大型语言模型(LLM)发送的提示长度越短,推理速度就会越快,成本也会越低。因此,提示压缩已经成为LLM研究的热门领域。 …

JVM基础:类的生命周期详解

JDK版本:jdk8 IDEA版本:IntelliJ IDEA 2022.1.3 文章目录 一. 生命周期概述二. 加载阶段(Loading)2.1 加载步骤2.2 查看内存中的对象 三. 连接阶段(Linking)3.1 连接之验证3.2 连接之准备3.3 连接阶段之解析 四. 初始化阶段(Initialization)4.1 单个类的…

ChatGPT(3.5版本)开放无需注册:算力背后的数据之战悄然打响

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

Logback日志框架(超详细)

logback-classic-1.2.3.jarhttp://链接: https://pan.baidu.com/s/1cA3gVB_6DEA-cSFJN6MDGw 提取码: sn8i 复制这段内容后打开百度网盘手机App,操作更方便哦 logback-core-1.2.3.jarhttp://链接: https://pan.baidu.com/s/19eCsvsO72a9PTqpXvXxrgg 提取码: 5yp…

元宇宙虚拟空间的场景构造(二)

前言 该文章主要讲元宇宙虚拟空间的场景构造,基本核心技术点,不多说,直接引入正题。 场景的构造 使用引入的天空模块 this.sky new Sky(this); 在Sky模块里,有设置对其中的阳光进行不同时间段的光线处理。而天空又是怎么样的…

微软云学习环境

微软公有云 - Microsoft Azure 本文介绍通过微软学习中心Microsoft Learn来免费试用Azure上的服务,也不需要绑定信用卡。不过每天只有几个小时的时间。 官网 https://docs.microsoft.com/zh-cn/learn/ 实践 比如创建虚拟机,看到自己的账号下多了Learn的…

非关系型数据库-----------探索 Redis高可用 、持久化、性能管理

目录 一、Redis 高可用 1.1什么是高可用 1.2Redis的高可用技术 二、 Redis 持久化 2.1持久化的功能 2.2Redis 提供两种方式进行持久化 三、Redis 持久化之----------RDB 3.1触发条件 3.1.1手动触发 3.1.2自动触发 3.1.3其他自动触发机制 3.2执行流程 3.3启动时加载…

机器学习KNN最邻近分类算法

文章目录 1、KNN算法简介2、KNN算法实现2.1、调用scikit-learn库中KNN算法 3、使用scikit-learn库生成数据集3.1、自定义函数划分数据集3.2、使用scikit-learn库划分数据集 4、使用scikit-learn库对鸢尾花数据集进行分类5、什么是超参数5.1、实现寻找超参数5.2、使用scikit-lea…

下载页面上的视频

引言:有些页面上的视频可以直接右键另存为或者F12检索元素找到视频地址打开后保存,但有些视频页面是转码后的视频,不能直接另存为视频格式,可以参考下本方法 以该页面视频为例:加载中...点击查看详情https://wx.vzan.c…

【Node.js从基础到高级运用】二十一、使用child_process模块创建子进程

引言 在Node.js中,child_process模块是一个提供了创建和管理子进程的能力的核心模块。通过使用child_process模块,Node.js可以执行系统命令、运行其他脚本或应用程序,实现与Node.js进程的并行处理。 child_process模块提供了几种创建子进程的…

【C++】vector模拟实现

目录 简介:私有成员:迭代器: 无参构造函数:push_back:reserve:resize:push_back: operator[]重载:begin && end:size && capacity:insert:erase:带参构造…

matlab使用教程(35)—求解时滞微分方程(3)

1中立型 DDE 以下示例说明如何使用 ddensd 求解中立型 DDE(时滞微分方程),其中时滞出现在导数项中。此问题最初由 Paul [1] 提出。方程是: 由于该方程在 y ′ 项中存在时滞,因此该方程称为中立型 DDE。如果时滞仅出现…