Re61:读论文 PRP Get an A in Math: Progressive Rectification Prompting

诸神缄默不语-个人CSDN博文目录
诸神缄默不语的论文阅读笔记和分类

论文名称:Get an A in Math: Progressive Rectification Prompting

ArXiv网址:https://arxiv.org/abs/2312.06867
官方实现网站:PRP
官方代码:https://github.com/wzy6642/PRP

本文是2024年AAAI论文,关注MWP任务。作者来自西交和圣母大学。
本文算是CoT的一种多步改进方案。
本文主要考虑到CoT会在推理路径中出错,从而导致最终结果错误,因此提出零样本提示学习方法Progressive Rectification Prompting (PRP),先通过CoT得到一个初始答案,然后以verify-then-rectify的逻辑来识别错误答案、修正推理路径:①verify: 把预测结果填回去预测问题中的masked numerical value(用正则表达式找问题中的数字,挖空一个来预测),如果预测不对就不正确 ②rectify: 用不正确答案生成推理路径(看下图,总之意思就是给(几)个参考错误答案让LLM重算)。(这两步可能会经过多次迭代)

在这里插入图片描述

本文认为以前工作的不足之处在于不会检查错误和改正,而这是一项重要的考试技巧。现有的检查错误的方法是重复运行LLM,投票选择最一致的答案,即self-consistency;改正的方法如progressive-hint prompting1在问题后面添加(Hint: The answer is near [H]);CoT方法对中间过程出错很敏感。

考试技巧:
第一步:substitute verification (比repeatedly checking好)
第二步:发现答案错误后要LLM避免重复出错(the answer is likely not [H]

此外还用“两个认知系统”理论来解释PRP。顶会论文是真能编啊。

(论文和代码里的模版有轻微区别,但是意思差不多其实)

1. 模版

初始模版:Q: [Q]. A: Let’s think step by step
获得答案的模版:[R] Therefore, the answer (expressed in Arabic numerals and without units) is:
得到第一个答案: a 0 ( g e n ) a_0^{(gen)} a0(gen)

verification的问题:[Q] Suppose the answer is [A]. What is X? (If X is irrelevant to the calculation process please answer Unknown)
然后再对这个问题进行推理,得到X的预测结果。
condition mask method

如果预测错误,就认为[A]错误,rectification阶段在原问题后加:“(The answer is likely not [H])”
就成了:Q: [Q] (The answer is likely not [H]) A: Let’s think step by step

2. 实验

2.1 数据集

AddSub
SingleOp
MultiArith
SingleEq
SVAMP
GSM8K
GSM-IC2-1K
GSM-ICM-1K

在这里插入图片描述

2.2 实验设置

LLM:text-davinci-003

2.3 baseline

direct
zero-shot-CoT
PS
Manual-CoT
Auto-CoT
PHP-CoT

2.4 实验结果与分析

1. 主实验结果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
↑题目越复杂,PRP提升效果越多

2. 消融实验

在这里插入图片描述
↑说明PRP效果更稳定

在这里插入图片描述
↑说明LLM越好,PRP效果越好

在这里插入图片描述
↑最大迭代数提升后,ACC会增加

3. 案例分析

在这里插入图片描述

3. 代码复现

我的复现版本(已以GPT-3.5为模型基底,在toy example Alg514的测试集上完成了零样本推理):https://github.com/PolarisRisingWar/Numerical_Reasoning_Collection/blob/master/codes/PRP.py


  1. Progressive-Hint Prompting Improves Reasoning in Large Language Models ↩︎

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-10 03:06:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-10 03:06:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-10 03:06:01       82 阅读
  4. Python语言-面向对象

    2024-03-10 03:06:01       91 阅读

热门阅读

  1. 实现video视频缓存

    2024-03-10 03:06:01       46 阅读
  2. http请求重定向

    2024-03-10 03:06:01       63 阅读
  3. RK android11 user打开adb调试功能

    2024-03-10 03:06:01       38 阅读
  4. chatgpt

    2024-03-10 03:06:01       40 阅读
  5. 算法之简单排序算法“选择排序”(python)

    2024-03-10 03:06:01       40 阅读
  6. webpack 打包后,图片加载错误

    2024-03-10 03:06:01       43 阅读