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

相关推荐
明月与玄武18 分钟前
Python编程的真谛:超越语法,理解编程本质
python·编程语言
CodeCraft Studio20 分钟前
Excel处理控件Aspose.Cells教程:使用 Python 在 Excel 中进行数据验
开发语言·python·excel
拾忆-eleven1 小时前
C语言实战:用Pygame打造高难度水果消消乐游戏
c语言·python·pygame
旦莫1 小时前
Python 教程:我们可以给 Python 文件起中文名吗?
开发语言·python
豌豆花下猫2 小时前
Python 潮流周刊#99:如何在生产环境中运行 Python?(摘要)
后端·python·ai
小杨4042 小时前
python入门系列二十(peewee)
人工智能·python·pycharm
弧襪2 小时前
FlaskRestfulAPI接口的初步认识
python·flaskrestfulapi
船长@Quant2 小时前
文档构建:Sphinx全面使用指南 — 进阶篇
python·markdown·sphinx·文档构建
cloudy4912 小时前
强化学习:历史基金净产值,学习最大化长期收益
python·强化学习
Bruce_Liuxiaowei2 小时前
使用Python脚本在Mac上彻底清除Chrome浏览历史:开发实战与隐私保护指南
chrome·python·macos