LLM Agent提效进阶:反思工作流——91%精度大超GPT-4 24%

news2024/12/24 9:10:42

1. 相关研究

反思依赖于LLM对自己之前提出的工作进行反思并提出改进的方法,有三篇典型论文详细描述了这种模式,我们先来看一下。

2. Self-Refine

顾名思义,它是一种自我精炼的LLM优化技术,使用单一的LLM作为生成器、改进器和反馈器。该方法通过迭代过程生成初始输出,然后让同一LLM为其提供反馈,并使用这些反馈进一步改进输出。论文展示了SELF-REFINE在多个任务上的有效性,包括对话响应生成、数学推理、代码生成等,使用最先进的LLM(如GPT-3.5和GPT-4)进行评估。Self-Refine在所有评估任务上都优于使用相同LLM进行传统一步生成的方法,平均提高了约20%的任务性能。 以ChatGPT编写Python来举个例子

3. CRITIC

作者提出一个名为CRITIC的框架,允许大型语言模型(LLMs)通过与外部工具的交互来验证和改进自己的输出,类似于人类与工具的互动,该框架已经开源。

  • CRITIC通过与搜索引擎、代码解释器等工具的交互,评估初始输出的某些方面,并根据验证过程中获得的反馈来修正输出。
  • 该过程可以重复进行,以确保持续的输出改进。
  • 通过在自由形式问答、数学程序合成和毒性降低等任务上的全面评估,证明了CRITIC能够一致地提高LLMs的性能。

在数学评估的各个数据集上获得了最高的评分。

我会在后续的文章中尝试分析一下这个框架CRITIC,我们看看它是怎么进行调用工具验证,评估,纠正输出,再循环的。

4. Reflexion

作者指出最近的一些工作诸如ReAct、SayCan、Toolformer、HuggingGPT以及WebGPT证明了使用基于LLM构建的自动化决策Agent是可行的,但是这些方法大多依赖于在当前情景中的例子(in-context example)来指导LLM生成内容,因为用梯度下降的强化学习需要很多计算和时间。简单说,就是他们依赖的只是短期记忆。所以作者提出一种新的叫做Reflexion的框架,它通过使用语言强化学习(verb reinforcement)来帮助Agent从之前的失败中学习。Reflexion会把环境的二进制或量化的反馈转换成文字描述,作为下次迭代中的额外信息。这种自我反思式的反馈就像是个语意上的梯度信号来提供给Agent具体的优化方向,让Agent知道怎样改正错误,这样就能更好地完成任务了。就像人类通过反复练习和反思来快速掌握复杂技能一样。具体的工作流程如下图,[Reflexion的源码]已经开源,我们在下一篇文章中安装该框架进行分析。 从上图看出Reflexion框架利用三个不同的模型:执行者(Actor)、评估者(Evaluator)和自我反思模型(Self-Reflection)。

  • 执行者Actor基于状态观察生成文本和动作;
  • 评估者对执行者产生的输出计算奖励分数;
  • 自我反思模型生成口头自我反思提示以协助执行者自我改进。
  • 该过程使用短期和长期记忆,其中轨迹历史作为短期记忆,而自我反思模型的输出存储在长期记忆中。

Reflexion在AlfWorld任务上提高了22%的决策制定能力,在HotPotQA推理问题上提高了20%,在HumanEval编程任务上提高了11%。比如HumanEval(PY)上比GPT-4的80.1高初10个点,到达91.0。

总结

本文深入探讨了LLM(大语言模型)的反思工作流,通过介绍Self-Refine、CRITIC和Reflexion三种典型的优化技术,展示了LLM在自我反馈、工具交互和语言强化学习中的显著性能提升。这些方法不仅展示了AI系统在复杂任务中自我改进的潜力,还强调了自我反思在机器学习中的重要性。反思工作流的核心在于通过迭代反馈和自我修正,使模型能够不断优化其输出,就像人类通过经验和反思不断进步一样。 接下来,我们会从代码层面深度解析本文所提到reflexion框架,从安装,prompt设计到代码流程完全剖析。

如何学习AI大模型?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

go语言day4 引入第三方依赖 整型和字符串转换 进制间转换 浮点数 字符串

Golang依赖下载安装失败解决方法_安装go依赖超时怎么解决-CSDN博客 go安装依赖包(go get, go module)_go 安装依赖-CSDN博客 目录 go语言项目中如何使用第三方依赖:(前两步可以忽略) 一、安装git,安装程序…

Python编程技巧:如何正确使用with语句(Python中with用法详解)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 基本语法📝 处理文件📝 处理网络连接📝 管理线程锁📝 管理数据库连接📝 管理临时目录和文件📝 使用上下文装饰器📝 自定义上下文管理器🎯 示例1🎯 示例2📝 使用多个上下文管理器📝 上下…

格雷码计数器

目录 描述 输入描述: 输出描述: 参考代码 描述 实现4bit位宽的格雷码计数器。 电路的接口如下图所示。 输入描述: input clk, input rst_n 输出描述: output reg [3:0] gray_out 参考代码 timescale 1ns/1nsmod…

Apple创始人斯蒂夫乔布斯2005年在斯坦福大学的毕业典礼演讲:Steve Jobs‘ 2005 Stanford Commencement Address

Steve Jobs’ 2005 Stanford Commencement Address Link: https://www.youtube.com/watch?vUF8uR6Z6KLc and https://www.youtube.com/watch?vHd_ptbiPoXM 文章目录 Steve Jobs 2005 Stanford Commencement AddressSummaryVocabularyTranscriptConnecting the dotsLove and …

LeetCode35.搜索插入位置

LeetCode刷题记录 文章目录 📜题目描述💡解题思路⌨C代码 📜题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。 如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须…

ALOS 12.5m DEM下载

1、下载地址 阿拉斯加遥感数据下载地址:https://search.asf.alaska.edu/ ; 数据详情描述见地址:https://asf.alaska.edu/datasets/daac/alos-palsar-radiometric-terrain-correction/ ; 2、下载步骤 2.1、勾绘研究区 在网站中…

第10章 启动过程组 (识别干系人)

第10章 启动过程组 10.2识别干系人,在第三版教材第361~362页; 文字图片音频方式 视频13 第一个知识点:主要工具与技术 1、数据收集 问卷调查 包括一对一调查、焦点小组讨论,或其他大规模信息收集技术 头脑风暴 头脑风暴&#xff…

计算机Java项目|基于SpringBoot的租房管理系统

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简…

感应电机转差速度估算

在感应电机矢量控制中,需要计算出感应电机的机械转差速度(同步速度和转子速度之间的差)。以下方程描述了感应电机磁场定向控制 (FOC) 中转差速度值的关系: 如果我们保持转子磁通恒定,并且 d 轴与转子磁通参考系对齐&am…

【算法】二叉树 - 理论基础

1.种类 1.1 满二叉树 只有度为0和2的节点,且度为0的节点都都在同一层。深度为k,有2^k-1个节点。 1.2 完全二叉树 在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都…

“明天下班以后请假了,孩子中考“

「作者简介」:冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础著作 《网络安全自学教程》,适合基础薄弱的同学系统化的学习网络安全,用最短的时间掌握最核心的技术。 前几天约服务器…

JavaWeb——MySQL:DQL

3.DQL:查询 查询是使用最多、最频繁的操作,因为前面的修改以及删除,一般会交给数据库专业的人员,对于非数据库专业人员来说,老板一般会放心的让你对数据库只进行查询操作; 3.1 基础查询 3.1.1 查询表全部…

高职人工智能专业实训课之“自然语言处理”

一、前言 在人工智能领域,自然语言处理(NLP)技术日益成为研究和应用的热点。为了满足高职院校对NLP专业实训课程的需求,唯众人工智能教学实训凭借其前沿的教育技术平台,特别是GPU虚拟化技术,为学生提供了高…

什么是超级智能?

“超级智能”可以理解为将多个人的智能、机器智能以及环境智能融合在一起。这个定义强调了跨越不同领域和系统的综合与协同,以实现更强大和高效的智能能力。 多个人的智能融合指的是将多个个体的知识、经验和创造力结合起来。通过协作和信息共享,能够集思…

HTML5文旅文化旅游网站模板源码

文章目录 1.设计来源文旅宣传1.1 登录界面演示1.2 注册界面演示1.3 首页界面演示1.4 文旅之行界面演示1.5 文旅之行文章内容界面演示1.6 关于我们界面演示1.7 文旅博客界面演示1.8 文旅博客文章内容界面演示1.9 联系我们界面演示 2.效果和源码2.1 动态效果2.2 源代码2.3 源码目…

上海媒体邀约的类型有哪些?分行业精准邀约

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体宣传加速季,100万补贴享不停,一手媒体资源,全国100城线下落地执行。详情请联系胡老师。 上海作为中国最大的城市之一,拥有丰富的媒体资…

【面试干货】数组在内存中的分配

【面试干货】数组在内存中的分配 1. 基本概念2. 数组的内存分配2.1 堆与栈2.2 数组的分配2.3 数组的生命周期 3. 总结 💖The Begin💖点点关注,收藏不迷路💖 数组是一种常用的数据结构,用于存储相同类型的数据元素。理解…

怎么看自己是不是公网IP?

在网络中,每个设备都被分配了一个唯一的IP地址,它可以是公网IP或私有IP。公网IP是可以直接从互联网访问的地址,而私有IP只能在网络内部使用。有时我们需要确定自己是不是拥有公网IP,以便进行远程访问或其他网络操作。本文将介绍如…

Java基础 - 练习(七)根据今天日期获取一周内的日期(GergorianCalendar类)

计算一周内的日期。通过窗口输入今天日期,获取今天是周几。 GergorianCalendar类 public static void dateToWeek3() {Scanner cin new Scanner(System.in);System.out.println("请输入年,月,日:");while (cin.hasNe…