论文解读:吴恩达来信AI Agent技巧—利用自我反馈的迭代细化技术

《自我完善:利用自我反馈的迭代细化技术》

https://arxiv.org/pdf/2303.17651.pdf

摘要

Large language models (LLMs) 经常无法在一次尝试中生成最佳输出。受人类在修改书面文本时所表现出的迭代精炼过程的启发,

我们提出了 SELF-REFINE,一种通过迭代反馈和精炼来改进大型语言模型初始输出的方法。主要思想是使用一个语言模型生成初始输出;

然后,该语言模型对其输出提供反馈,并使用这些反馈来精炼自己,迭代进行。

SELF-REFINE 不需要任何监督训练数据、额外的训练或强化学习,而是使用单个语言模型作为生成器、精炼器和反馈提供者。

我们使用最先进的语言模型(GPT-3.5 和 GPT-4)在 7 项不同的任务上评估 SELF-REFINE,这些任务涵盖了从对话响应生成到数学推理的各个方面。在所有评估的任务中,使用 SELF-REFINE 生成的输出在人类和自动指标上的偏好程度均优于使用相同语言模型通过传统的一次性生成生成的输出,平均提高了约 20% 的绝对性能。我们的工作表明,即使是像 GPT-4 这样的最先进的语言模型,也可以通过我们简单、独立的迭代精炼方法在测试时进一步提高性能。

1. SELF-REFINE主要能做什么

1.1. 利用反馈来提高对话的质量和相关性。

图 2(a):初始输出,用户对打乒乓球感兴趣。

图 2(b):反馈,指出初始输出没有提供关于乒乓球的信息,也没有理解用户的心理状态。

图 2©:优化后的输出,更加吸引人,并且理解用户的需求和心理状态。

1.2. 利用反馈来提高代码的质量和效率。

代码优化:

图 2(d):初始代码,使用了6层嵌套循环来计算矩阵乘积。

图 2(e):反馈,指出这段代码效率低下,建议使用公式来优化。

图 2(f):优化后的代码,使用了动态规划的方法来计算矩阵乘积,大大提高了效率。

2. SELF-REFINE与其他迭代优化方法对比

以上列出了几种不同的迭代优化方法,包括以下几个方面:

  • 监督方式:是否需要额外的监督数据。
  • 反馈来源:反馈的来源,包括人类、强化学习奖励函数、模型本身等。
  • 反馈类型:反馈的形式,包括自然语言反馈、非自然语言反馈等。
  • 优化器训练方式:优化器的训练方式,包括监督学习、强化学习等。
  • 优化器类型:是否需要训练一个专门的优化器。

SELF-REFINE的优势

  • SELF-REFINE不需要额外训练数据或专门的优化器,只需要少量示例即可应用到不同的任务上。
  • SELF-REFINE使用自然语言反馈,而其他一些方法使用非自然语言反馈或奖励函数。
  • SELF-REFINE是迭代框架,与其他强化学习或监督学习方法不同。
  • SELF-REFINE利用了语言模型的多任务学习能力,而其他一些方法需要训练专门的优化器。

总的来说,表 3 对比了SELF-REFINE与其他迭代优化方法,突出了SELF-REFINE的简单性、无需额外训练和适用性广泛的特点。

3. SELF-REFINE算法的描述

SELF-REFINE利用语言模型进行迭代自我反馈和优化,以提高其输出的质量。

算法包含初始生成、反馈和优化三个步骤,不断迭代直到满足停止条件。

  1. 初始生成:使用语言模型M生成初始输出y0。
  2. 反馈:将y0传递回M,生成反馈fb。
  3. 优化:根据fb,使用M生成优化后的输出y1。
  4. 迭代:重复上述步骤,直到满足停止条件。

4. SELF-REFINE算法使用的评估指标

SELF-REFINE算法使用的评估指标,包括:

  1. 任务特定指标:对于一些任务,使用了之前工作定义的自动化指标,如数学推理任务的解决率,代码优化任务的优化程序百分比等。
  2. 人类偏好:对于对话响应生成、代码可读性改进、情感反转和缩略词生成等任务,由于缺乏自动化指标,进行了盲人A/B测试,以选择更符合任务指导的输出。
  3. GPT-4偏好:除了人类偏好,还使用GPT-4作为人类偏好的代理,对生成的输出进行偏好评估。
  4. 统计置信区间:在表13中,展示了每个任务上SELF-REFINE相对于基础模型的改进,并提供了Wilson置信区间和统计显著性。

5. 主要结论

  1. SELF-REFINE在所有任务上都能提高基础语言模型的性能,效果明显,平均提高了约20%的绝对性能。
  2. 在偏好任务上,如对话响应生成、情感反转和缩略词生成,SELF-REFINE的改进尤为显著。
  3. 在数学推理任务上,由于错误判断的复杂性,SELF-REFINE的改进较小,但文章指出如果外部能判断当前答案是否错误,则SELF-REFINE的改进会更大。
  4. 在代码优化和生成任务中,SELF-REFINE也能提高基础模型Codex的性能。
  5. SELF-REFINE的效果在不同基础模型上基本一致,GPT-4+SELF-REFINE通常优于GPT-3.5+SELF-REFINE和ChatGPT+SELF-REFINE。
  6. 比较结果表明,SELF-REFINE能够帮助解锁更强大模型(如GPT-4)的潜力。

6. 例子

6.1. 对话响应生成:

初始响应: "The best way to cook pasta is to… "

反馈: “Make response relevant, engaging, safe”

优化后的响应: "Boil water, add salt, and cook pasta… "

6.2. 代码优化:

初始代码: “Nested loop for matrix product”

反馈: “Improve time complexity”

优化后的代码: “Use NumPy’s optimized matmul function”

6.3. 代码可读性改进:

初始代码: “Unclear variable names, no comments”

反馈: “Enhance variable naming; add comments”

优化后的代码: “Clear variables, meaningful comments”

6.4. 数学推理:

初始代码: “Olivia has $23, buys 5 bagels at$3 each”

反馈: “Show step-by-step solution”

优化后的代码: “Solution with detailed explanation”

6.5. 情感反转:

初始文本: "The food was fantastic… "

反馈: “Increase negative sentiment”

优化后的文本: "The food was utterly terrible… "

6.6. 缩略词生成:

初始文本: “Radio Detecting and Ranging”

反馈: “be context relevant; easy pronunciation”

优化后的文本: “RADAR”

6.7. 约束生成:

初始文本: “During our beach vacation…”

反馈: “Include keywords; maintain coherence”

优化后的文本: “During our beach vacation was filled with relaxation”

7. 如何应用?

7.1. 如何将SELF-REFINE应用于我的特定写作场景?

  1. 您的写作目标是什么? 您希望 SELF-REFINE 帮助您达到什么特定的写作目标?
  2. 您写作的主题或领域是什么? SELF-REFINE 适用于各种主题,了解您的主题可以帮助确定最适合的提示和反馈。
  3. 您希望在哪些方面改进您的写作? 例如,您希望改进语言的流畅性、逻辑性、创意性还是其他方面?
  4. 您是否有特定的写作限制或要求? 例如,您需要满足特定的字数限制或格式要求。
  5. 您是否有一个初步的写作草稿? 如果有的话,您可以分享给我,这样我可以更好地理解您的写作风格和内容,并提供更具体的建议。

7.2. 如何使用SELF-REFINE来提升文章的逻辑性?

  1. 初始生成:首先,使用您的语言模型生成文章的初步草稿。
  2. 设计反馈机制:
  3. 逻辑连贯性:设计一个反馈机制来评估文章的逻辑连贯性。这可能包括检查文章中的论点是否合理、论据是否充分以及论点和论据之间的联系是否紧密。
  4. 逻辑错误:识别文章中的逻辑错误,例如不一致、循环论证、无效论证等。
  5. 逻辑清晰性:确保文章的逻辑结构清晰,读者可以轻松理解作者的思路。
  6. 迭代反馈与精炼:
  7. 反馈生成:使用同一语言模型为初步草稿生成反馈,指出逻辑上的优点和需要改进的地方。
  8. 精炼:基于反馈,调整文章的结构、论点和论据,以提高逻辑性。
  9. 迭代:重复反馈和精炼步骤,每次都根据上一次的反馈改进文章。
  10. 最终评估:
  11. 人类评估:请其他人阅读最终版本的文章,评估其逻辑性,并与原始版本进行比较。
  12. 自动评估:如果可能,使用自动评估工具来量化逻辑性的改进。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/302910.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

R语言绘图 | 散点小提琴图

原文链接:R语言绘图 | 散点小提琴图 本期教程 写在前面 本期的图形来自发表在Nature期刊中的文章,这样的基础图形在日常分析中使用频率较高。 获得本期教程数据及代码,后台回复关键词:20240405 绘图 设置路径 setwd("You…

CSDN 广告太多,停更通知,转移到博客园

文章目录 前言新博客地址 前言 CSDN的广告实在是太多了,我是真的有点忍不了。直接把广告插在我的文章中间。而且我已经懒得找工作了,我当初写CSDN的目的就是为了找工作,有个博客排名。当时经济环境实在是太差了。我也没必要纠结这个2000粉丝…

因为使用ArrayList.removeAll(List list)导致的机器重启

背景 先说一下背景,博主所在的业务组有一个核心系统,需要同步两个不同数据源给过来的数据到redis中,但是每次同步之前需要过滤掉一部分数据,只存储剩下的数据。每次同步的数据与需要过滤掉的数据量级大概在0-100w的数据不等。 由…

快排序解读

排序算法是计算机科学中不可或缺的一部分,它们在各种数据处理场景中发挥着关键作用。在众多排序算法中,快速排序以其高效的性能和简洁的实现成为了许多程序员的首选。今天,我们就来深入剖析快速排序算法,了解其原理、实现方式以及…

比特币革命:刚刚开始

作者:Marius Farashi Tasooji 编译:秦晋 要充分理解比特币及其含义,首先必须理解什么是价值,什么是货币。以及是什么赋予资产价值? 这个问题看似愚蠢,但实际上非常有趣。我们的生活是由我们消费或出售的物品…

【问题解决】ubuntu安装新版vscode报code-insiders相关错误

问题 目前 vscode官网 最新的包为 insiders_1.89.0-1712297812_amd64.deb ,双击或者使用sudo dpkg -i code-insiders_1.89.0-1712297812_amd64.deb安装后报错,执行其他命令也报错。 安装环境:ubuntu18.04 dpkg: 处理软件包 code-insiders (…

Taro框架中的H5 模板基本搭建

1.H5 模板框架的搭建 一个h5 的基本框架的搭建 基础template 阿乐/H5 Taro 的基础模板

在Spring中使用Redis

端口怎么设置,看我前一篇文章 前面使用jedis,通过Jedis对象中各种方法来操作redis的。 此处Spring中则是通过StringRedisTemplate来操作redis。 最原始提供的类是RedisTemplate StringRedisTemplate是RedisTemplate的子类,专门处理文本数据的…

PUBG绝地求生29.1版本延迟高/卡顿/掉帧/丢包的快速解决方法

要想在绝地求生中获得好成绩,咱们需求把握一些根本的游戏技巧。比方,在挑选降落点时,咱们可以运用u标签来着重“安全”二字。挑选一个相对较为安全的降落点可以防止与其他玩家过早触摸,给自己争夺更多时间来搜集资源和配备。接下来…

Vant DropdownMenu 下拉菜单带搜索功能

Vant DropdownMenu 下拉菜单带搜索功能 效果图&#xff1a; 上代码&#xff1a; <van-dropdown-menu active-color"#E33737"><van-dropdown-item ref"dropdownItem"><template #title><span>{{ dropdownItem.text }}</span…

Mysql密码修改问题

docker安装mysql&#xff0c;直接拉取镜像&#xff0c;挂载关键目录即可启动&#xff0c;默认3306端口。此时无法直接连接&#xff0c;需要配置密码。docker进入mysql容器中 docker exec -it mysql bash #mysq是容器名称&#xff0c;也可以用容器id通过修改mysql的配置进行免密…

应用商店备案登记流程解析

引言&#xff1a; 随着智能手机的普及和移动互联网的发展&#xff0c;移动应用程序&#xff08;App&#xff09;已成为人们日常生活中不可或缺的一部分。在开发一个App之后&#xff0c;开发者需要将其上传到应用商店进行审核和上架。然而&#xff0c;在上架之前&#xff0c;开…

智慧运维解决方案

1&#xff1a;排口截污 控源截污、内源治理、生态修复 通过传感器对周围环境进行监测&#xff0c;将雨水和污水分别流入不同的管道&#xff0c;进行分流和净化处理&#xff0c;守好排污口&#xff0c;解决城市雨水和污水污染问题&#xff0c;减少城市环境污染。 2&#xff1…

html骨架以及常见标签

推荐一个网站mdn。 html语法 双标签&#xff1a;<标签 属性"属性值">内容</标签> 属性&#xff1a;给标签提供附加信息。大多数属性以键值对的形式存在。如果属性名和属性值一样&#xff0c;可以致谢属性值。 单标签&#xff1a;<标签 属性"属…

私域电商客户要挨一刀的“订单发货管理”,微信:必须强制接入

文丨微三云营销总监胡佳东&#xff0c;点击上方“关注”&#xff0c;为你分享市场商业模式电商干货。 - 引言&#xff1a;超90%的私域运营商家都见到了或者说遇到了这个问题&#xff0c;如果没有读懂这个微信的模型机制&#xff0c;一定会懵逼&#xff0c;微三云营销总监胡佳…

计算机网络:数据链路层 - 点对点协议PPP

计算机网络&#xff1a;数据链路层 - 点对点协议PPP PPP协议的帧格式透明传输字节填充法零比特填充法 差错检测循环冗余校验 对于点对点链路&#xff0c;PPP协议是目前使用最广泛的数据链路层协议。比如说&#xff0c;当用户想要接入互联网&#xff0c;就需要通过因特网服务提供…

被狠狠拷打!想冲 PDD 机器学习算法岗,一面直接挂了。。。

节前&#xff0c;我们社群组织了一场技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学&#xff0c;针对新手如何机器学习算法、企业级落地场景、大模型的发展趋势与落地实践、新人该如何备考、面试常考点等热门话题进行了深入的讨论。 …

LoRa自组网络设计 6

1 深入了解LoRaWan 1.1 LoRaWan概述 LoRaWAN采用星型无线拓扑 End Nodes 节点 Gateway 网关 Network Server 网络服务器 Application Server 应用服务器 LoRa联盟是2015年3月Semtech牵头成立的一个开放的、非盈利的组织&#xff0c;发起成员还有法国Actility&#xff0c;中国…

FL Studio21水果软件有哪些新功能?如何下载破解版

FL Studio 21是一款由Image-Line公司开发的专业的音乐制作软件&#xff0c;它提供了音乐编曲、录音、编辑、混音等多种功能&#xff0c;非常适合专业音乐制作人、DJ及音乐爱好者使用。这款软件不仅具有高级的音频编辑功能&#xff0c;如切片、时间伸缩、音高调整&#xff0c;还…

场景文本检测识别学习 day02(AlexNet论文阅读、ResNet论文精读)

怎么读论文 在第一遍阅读的时候&#xff0c;只需要看题目&#xff0c;摘要和结论&#xff0c;先看题目是不是跟我的方向有关&#xff0c;看摘要是不是用到了我感兴趣的方法&#xff0c;看结论他是怎么解决摘要中提出的问题&#xff0c;或者怎么实现摘要中的方法&#xff0c;然…