码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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 ↩︎

  • 相关阅读:
    AR导览小程序开发方案
    【洛谷 P1147】连续自然数和 题解(等差数列求和+因式分解+解二元一次方程)
    代理IP与Socks5代理:跨界电商智能爬虫的引擎与安全壁垒
    国内外都可以使用的【免费AI工具】,实用性满满
    【限时免费】20天拿下华为OD笔试之 【位运算】2023B-分苹果【欧弟算法】全网注释最详细分类最全的华为OD真题题解
    JavaEE初阶:HTML
    虹科案例 | Zuellig Pharma和ELPRO通过符合GDP标准的温度监测和高效的温度数据管理为未来发展奠定基础
    webman 事务回滚失效问题记录
    C语言例3-11:使用算术运算符的例子。
    2011-2021年“第四期”数字普惠金融与上市公司匹配(根据城市匹配)/上市公司数字普惠金融指数匹配数据
  • 原文地址:https://blog.csdn.net/PolarisRisingWar/article/details/135844039
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号