【LLM-推理】Self-Refine:使用feedback迭代修正LLM的Output

来源: https://selfrefine.info/

1.论文速读(摘要+引言)

本文主要提出了Self-Refine策略,旨在通过一个LLM不断refine修正LLM的输出,使其在无需额外训练的情况下,在下游任务产生更好的效果。

该方法的直观Insight:我们在写一封 email 时,往往写出一个 draft,然后再修改其中措辞不当的地方,修改为更好的版本。
其思路如下图:

  • 首先,给定一个 input x,在 prompt pgen下让 LLM 先生成一个初始 outputy0
  • 进行迭代,每一轮 t 中:
    • Feedback:input x、上一轮 output y(t)prompt p(fb)给 LLM,得到这一轮的 feedback f(bt)【feedback的prompt】
    • Refine:input x历史的所有 feedbackoutputprompt P(refine) 给 LLM,得到这一轮的 output T(t+1)。【refine重新优化的prompt】

​如此迭代,直到 feedback 中被检查出有stop标识符,或者达到了最大迭代次数。

2.方法 method

给定输入,self-refine生成最初的输出,根据该输出提出反馈,然后根据反馈优化输出。直到得到满意的答案。self-refine依靠LLM和三个prompts(生成输出的Prompt,生成反馈的Prompt,根据反馈优化输出的优化Prompt)

3.评估

主要在这几个任务进行评估:

对话生成

代码优化

代码可读性提升 数学推理

反转情绪

缩写词生成

限制性生成



Metrics指标效果:
Math reasoning %解决率code optimization:% 代码优化率Acronym Generation:%受限生成

相关推荐
靠近彗星5 分钟前
基于 Vue + Django + MySQL 实现个人博客/CMS系统
前端·vue.js·python·mysql·django
励志成为大佬的小杨21 分钟前
pytorch模型的进阶训练和性能优化
人工智能·pytorch·python
m0_490240671 小时前
软件自动化测试(1):python+selenium自动化测试环境搭建
开发语言·python·selenium
橘猫云计算机设计1 小时前
基于ssm的食物营养成分数据分析平台设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
后端·python·信息可视化·数据挖掘·数据分析·django·毕业设计
liuhaoran___3 小时前
计算机求职面试中高频出现的经典题目分类整理
python
不辉放弃3 小时前
零基础讲解pandas
开发语言·python
databook4 小时前
线性判别分析(LDA):降维与分类的完美结合
python·机器学习·scikit-learn
慕丹4 小时前
虫洞数观系列三 | 数据分析全链路实践:Pandas清洗统计 + Navicat可视化呈现
python·mysql·数据挖掘·数据分析·pandas
ZHW_AI课题组4 小时前
调用阿里云API实现运营商实名认证
python·阿里云·云计算·api
闲人编程4 小时前
图像插值算法(最近邻/双线性/立方卷积)
python·opencv·图像识别