码农知识堂 - 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 ↩︎

  • 相关阅读:
    http服务
    c语言范例实例
    自媒体视频剪辑中的那些素材到哪里找?
    VMware安装CentOS Stream 8以及JDK和Docker
    C# Winform代码
    选择振弦采集仪进行岩土工程监测时,根据不同工况选择合适的种类
    ELK收集多个docker容器日志
    中国石油大学(北京)-《 油气藏经营管理》第二阶段在线作业
    【FreeRTOS】FreeRTOS移植stm32详细步骤介绍
    Web3将成为成人文化产业的新方向?
  • 原文地址:https://blog.csdn.net/PolarisRisingWar/article/details/135844039
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号