【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:%受限生成

相关推荐
站大爷IP1 天前
5个技巧写出专业Python代码:从新手到进阶的实用指南
python
hrrrrb1 天前
【Python】字符串
java·前端·python
大翻哥哥1 天前
Python 2025:低代码开发与自动化运维的新纪元
运维·python·低代码
Source.Liu1 天前
【Pywinauto库】12.2 pywinauto.element_info 后端内部实施模块
windows·python·自动化
Source.Liu1 天前
【Pywinauto库】12.1 pywinauto.backend 后端内部实施模块
开发语言·windows·python·自动化
用户8356290780511 天前
用Python高效处理Excel数据:Excel数据读取指南
后端·python
我星期八休息1 天前
深入理解跳表(Skip List):原理、实现与应用
开发语言·数据结构·人工智能·python·算法·list
蒋星熠1 天前
如何在Anaconda中配置你的CUDA & Pytorch & cuNN环境(2025最新教程)
开发语言·人工智能·pytorch·python·深度学习·机器学习·ai
合作小小程序员小小店1 天前
机器学习介绍
人工智能·python·机器学习·scikit-learn·安全威胁分析
JavaEdge在掘金1 天前
掌握Spring IoC容器和Bean作用,轻松实现依赖注入!
python