语言模型微调:提升语言Agent性能的新方向

news2024/9/20 7:48:03

人工智能咨询培训老师叶梓 转载标明出处

大多数语言Agent依赖于少量样本提示技术(few-shot prompting)和现成的语言模型。这些模型在作为Agent使用时,如生成动作或自我评估,通常表现不佳,且鲁棒性差。

论文《FIREACT: TOWARD LANGUAGE AGENT FINE-TUNING》中主张为了提高语言Agent的性能,应当对语言模型进行微调(fine-tuning),而不是仅仅依赖于少量样本提示。论文提出了FireAct方法,它通过从多个任务和提示方法中生成的轨迹来微调语言模型。这些轨迹被统一在ReAct格式下,以便于微调过程。

方法

FireAct方法是一种针对语言Agent进行微调的新方法。FireAct方法的核心思想是通过将多种任务和提示方法生成的多样化ReAct轨迹用于微调较小的语言模型(LM),以此来提高语言代理的性能和鲁棒性。

如图5所示,由多个“思考-行动-观察”循环构成。在此过程中,语言模型(LM)会生成自由形式的“思考”,以完成多种任务,例如从观察中提取信息、提出和调整行动计划、追踪任务进度。同时,模型会执行结构化的“行动”,与环境(工具)进行互动,并接收“观察”反馈。ReAct方法通过推理指导行动,行动支持推理,从而超越了单一推理或行动的基线方法。

FireAct方法借鉴了ReAct的轨迹生成方式,利用少量样本提示一个强大的LM来产生多样化的ReAct轨迹,用于微调一个较小的LM。与之前的工作不同,FireAct明确地通过结合多个训练任务和提示方法来促进数据多样性。

图2展示了 FireAct 方法的两个阶段:微调阶段和推理阶段。

(a) 微调阶段: 在微调过程中,一个大型语言模型(例如,GPT-4)根据不同数据集的问题和不同方法的提示生成任务解决轨迹。然后,成功的轨迹被转换成ReAct格式,用于微调一个较小的语言模型。这个过程利用了大型模型的生成能力来创建多样化的训练数据,这些数据随后被用来训练和优化一个更小、更高效的模型。

(b) 推理阶段: 在推理阶段,微调后的模型可以不依赖于少量样本提示(few-shot prompting)独立运作。它能够隐式地选择一个合适的提示方法来完成具有灵活长度的ReAct轨迹,以适应不同复杂性的问题。例如,对于一个简单的问题,可能只需要一个思考-行动-观察循环就能解决,而无需使用任何工具。这展示了微调模型在处理问题时的灵活性和自适应性,能够根据问题的具体情况选择最合适的解决策略。

CoT方法通过生成中间推理来连接问题与答案之间的差距。每个CoT轨迹可以转换为一个简单的一轮ReAct轨迹,其中“思考”是中间推理,“行动”则是返回答案。CoT对于不需要工具的简单问题特别有用,如图2(b)所示。

Reflexion方法在遵循ReAct轨迹的同时,还加入了额外的反馈和自我反思。在本项工作中,研究者在第6和第10个ReAct轮次提示进行反思,以便在解决当前任务时能够调整策略,例如“电影搜索至今无帮助,我现在应该搜索导演”。

在推理过程中,FireAct代理减少了对少量样本提示的需求,这使得推理过程更加高效和方便。FireAct代理还能够根据任务的复杂性隐式选择适合的方法,并显示出比提示更强的泛化和鲁棒性,这是由于它通过更广泛的多样化学习支持获得的。

通过这种方法,FireAct不仅提升了语言Agent的灵活性和效率,还通过多样化的微调数据增强了Agent对各种任务的适应能力和鲁棒性。这种综合性的方法为未来语言Agent的发展和应用提供了新的可能性。

想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。9月22日晚,实战专家1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。

加助理微信提供直播链接:amliy007,29.9元即可参加线上直播分享,叶老师亲自指导,互动沟通,全面掌握Llama Factory,关注享粉丝福利,限时免费CSDN听直播后的录播讲解。
 

LLaMA Factory 支持多种预训练模型和微调算法。它提供灵活的运算精度和优化算法选择,以及丰富的实验监控工具。开源特性和社区支持使其易于使用,适合各类用户快速提升模型性能。

实验

研究者选择了四个成熟的QA数据集进行训练和测试:

  • HotpotQA:一个挑战多步推理和知识检索的数据集,答案通常是短实体或yes/no。
  • Bamboogle:一个包含125个多跳问题的测试集,这些问题的格式与HotpotQA相似,但精心设计以避免直接通过谷歌搜索解决。
  • StrategyQA:一个需要隐式推理步骤的yes/no QA数据集。
  • MMLU:涵盖57个多选QA任务,涉及小学数学、历史和计算机科学等多个领域。

为了构建一个谷歌搜索工具,研究者使用了SerpAPI,这个工具返回“答案框”、“答案片段”、“高亮词”或“第一个结果片段”中的第一个存在项,确保响应简短且相关。

研究者调查了三个系列的语言模型:

  • OpenAI GPT:使用GPT-4生成所有微调数据,并使用GPT-3.5进行微调和提示。
  • Llama-2:在“聊天”模式下具有7B和13B参数。
  • CodeLlama:在“指导”模式下具有7B、13B和34B参数,有助于进一步理解模型规模和代码微调对于Agent任务的重要性。

微调方法主要使用低秩适应(LoRA)进行微调实验,但也进行了全模型微调以进行比较。

实验被分为三个部分,复杂性逐渐增加:

  1. 使用单一提示方法对单一任务进行微调。
  2. 使用多种方法对单一任务进行微调。
  3. 使用多种方法对多个任务进行微调。

单一任务、单一方法微调

简单且受控的设置能够确认微调相对于提示的各种好处(性能、效率、鲁棒性、泛化能力),并研究不同LMs、数据规模和微调方法的效果。

表1 展示了提示结果,其中GPT-4和GPT-3.5在不同提示方法下的性能表现不同。

表2 显示了提示与微调的对比,包括绝对和相对提升。微调显著提高了Agent的性能,即使是强大的LMs,如GPT-3.5,性能也提高了25%。另外CodeLlama-7B的表现优于Llama-2-7B,而CodeLlama-13B的表现不如Llama-2-13B,这表明编码微调并不总是对Agent用例有益。

微调的Agent在推理期间更便宜、更快。因为微调的LMs不需要少量样本的上下文示例,它们的推理变得更高效。

研究者考虑了语言Agent与不总是可信的工具或环境交互时的鲁棒性。例如,搜索API有0.5的概率返回“无”或随机搜索响应,研究者询问语言Agent是否仍能稳健回答问题。

表3 比较了微调与提示的GPT-3.5在成本、鲁棒性和泛化方面的性能。微调的Agent在面对“无”或随机搜索响应时,能够更稳健地回答问题。

对于Llama-2-7B,全模型微调(30.2 EM)比LoRA微调(26.2 EM)高出15.3%。

图3显示了FireAct性能如何随着微调轨迹数量的增加而扩展。GPT-3.5表现出非常高的样本效率,只需要100个样本就能达到大约35的EM,而且200个样本之后的增益是边际的。

多方法微调

研究者探讨了将CoT(Chain of Thought)和Reflexion与ReAct结合进行多方法微调的效果。他们通过GPT-4生成了500个少量样本提示轨迹,并使用了47个包含自我反思的长Reflexion轨迹,以及187个成功的CoT轨迹,这些CoT轨迹被重新格式化为单轮ReAct轨迹,并添加到现有的500个ReAct轨迹之上。

研究者通过图5(前面)中的两个示例问题展示了多方法FireAct微调的好处。对于第一个问题(a),仅使用ReAct微调的Agent(a1)搜索了一个过于复杂的查询,导致分心和错误答案。相比之下,同时使用CoT和ReAct微调的Agent选择在一轮内解决问题,依靠自信的内部知识。对于第二个问题(b),仅使用ReAct微调的Agent(b1)不断搜索没有有用信息的查询。相比之下,同时使用Reflexion和ReAct微调的Agent反思了这个问题,并调整了搜索策略,将时间限制改为“在他的统治期间”,从而得出正确答案。这种根据不同问题隐式选择合适的方法的灵活性是微调相对于提示的另一个关键优势。

尽管直观上有益,图4显示混合更多方法并不总是提高结果,最佳方法组合取决于基础LM。例如,对于GPT-3.5和Llama-2模型,ReAct+CoT优于ReAct,但对CodeLlama模型则不利。ReAct+CoT+Reflexion对于CodeLlama7/13B是最差的,但对于CodeLlama-34B是最好的。这些非平凡的结果需要进一步研究基础LMs和微调数据之间的交互。

表4显示了基于GPT-3.5的各种FireActAgent在HotpotQA测试结果,以及它们轨迹中ReAct轮数的平均值(µ)和标准差(σ)。与仅使用ReAct微调相比,ReAct+CoT提高了EM并减少了轨迹长度,而ReAct+Reflexion降低了EM并增加了轨迹长度。这表明两种方法组合将方法选择推向了两个不同的方向,CoT可能对HotpotQA问题更有帮助。为了更好地理解多方法Agent是否能够选择合适的方法,研究者计算了在推理过程中随机选择方法的结果。结果是32.4,远低于所有多方法Agent,表明方法选择并非微不足道。但是,为每个实例应用最佳方法将导致“预言者”结果为52.0,这表明改进提示方法选择还有空间。未来的工作可以探索更系统的网格搜索或轨迹统计与性能之间的联系,以建立更好的方法混合比例。

多任务微调

研究者扩展了他们的实验,不仅使用HotpotQA数据进行微调,而是使用了三个数据集的混合训练数据:HotpotQA、StrategyQA和MMLU。这些样本来自通过GPT-4生成的成功ReAct/CoT少量样本提示轨迹。

表5 显示,当添加StrategyQA/MMLU数据(“多任务”)时,HotpotQA/Bamboogle的性能几乎保持不变。一方面,StrategyQA/MMLU轨迹包含非常不同的问题(例如,MMLU问题为多项选择)和工具使用策略(例如,MMLU ReAct轨迹倾向于搜索答案选择),这使得转移变得困难。另一方面,尽管分布发生了变化,添加StrategyQA/MMLU并没有损害HotpotQA/Bamboogle的性能,这暗示了微调一个多任务Agent来替代多个单任务Agent的前景,而不必担心跨任务的负面影响。

当从多任务、单一方法微调切换到多任务、多方法微调时,研究者发现所有任务的性能都有所提高,再次强化了多方法Agent微调的价值。有趣的是,所有微调Agent(加上CoT/ReAct提示)在MMLU上的表现都不如简单的输入输出(IO)提示。可能的解释是这些问题可能太简单,不需要推理和行动,另一种解释可能是答案选择记忆。

尽管这项研究为语言Agent的微调提供了初步的见解和方法,但仍有许多未解决的问题和潜在的研究方向,包括将这些方法扩展到更广泛的任务和环境,以及探索更复杂的Agent系统设计。未来的研究将继续推动这一领域的发展,以实现更智能、更可靠的语言Agent。

论文链接:https://arxiv.org/abs/2310.05915

代码链接:FireAct: Toward Language Agent Fine-tuning

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

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

相关文章

2024外滩大会:远的更近 旧的更新

文 | 大力财经 导语:2024 外滩大会圆满落幕!未来更近了,旧的更创新了。全球 500 多位精英齐聚,50 余家企业 “招才”。在这里,我们不仅看到未来商业形态,更望见未来的影子。 为期三天的2024外滩大会圆满落幕…

flv复合流

一、什么是flv flv流媒体协议是Adobe公司推出的一种流媒体协议。其特点就是封装后的音视频数据量很小,并且协议规范相对简单,所以FLV流媒体协议适合网络传输,但是他是一个私有协议,所支持的网络传输比较有限:如RTMP、H…

Mysql异常断电InnoDB损坏处理

一、mysql启动报错信息收集 1、截图 [ERROR] InnoDB: Database page corruption on disk or a failed file read of page [page id: space0, page number203]. You may have to recover from a backup. Jun 27 13:30:06 localhost mysqld: 2024-06-27T13:30:06.14747208:00 0 …

意气实体过程函数论3

意气实体过程函数论3 和悦空间 y i y_i yi​才气的意气实体过程逻辑定义哥德尔数数理逻辑简称逻辑;明明德数符号琴语言数据结构王阳明群表示,被称为才气群表示论; 从劳动力关系向量到生产力配分函数算法为己之学模拟器接口函数声明内核与插件…

【JAVA入门】Day42 - 转换流

【JAVA入门】Day42 - 转换流 文章目录 【JAVA入门】Day42 - 转换流 转换流是字符流和字节流之间的桥梁。 转换流中的输入流叫做 InputStreamReader,它可以把字节流转换为字符流。 转换流的输出流叫做 OutputStreamWriter,它可以把字符流…

JAVA并发编程ReentrantLock核心原理剖析

JAVA并发编程系列以及陆续出了5篇,第六篇的主角ReentrantLock该出场了。之前《一文看懂全部锁机制》谈到可重入锁、《JAVA并发编程AQS原理剖析》谈到了JUC灵魂AQS,那么AQS的思想优秀实践者ReentrantLock是怎么实现AQS的呢? 1、ReentrantLock是…

Unity笔记:ScrollRect代码阅读

大体流程 Unity Docs - UGUI | Class ScrollRect 总的说 自身不负责Rebuild,设置脏之后交由LayoutRebuilder注册到CanvasUpdateRegistry里待rebuild的集合在固定时机统一Rebuild。自身只在Prelayout和Postlayout做一下数据准备和数据更新 自身的ICanvasElement.…

判断是否在同一个键盘行

给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。 美式键盘 中: 第一行由字符 "qwertyuiop" 组成。第二行由字符 "asdfghjkl" 组成。第三行由字符 "zxcvbnm" 组成。…

构建医护人员排班系统:Spring Boot的实践与探索

相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适…

如何使用UltraISO(软碟通)制作U盘启动盘

一、打开UltralSO.exe、先格式化U盘,文件 -> 打开 找到要刻录的ISO镜像文件; 二、选择你的U盘。U盘会在左下角出现,点击便可。 三、启动->写入磁盘映像; 四、写入方式选择 "USB-HDD",点击“写入”按钮…

ZeroTier 内网穿透工具在 Linux 上的安装与配置教程

感谢浪浪云支持发布 浪浪云活动链接 :https://langlangy.cn/?i8afa52 文章目录 1. 安装 ZeroTier1.1 系统需求1.2 更新系统软件包1.3 安装 curl1.4 安装 ZeroTier1.5 启动 ZeroTier 服务1.6 验证安装 2. 创建和管理虚拟网络2.1 注册和登录2.2 创建新网络2.3 配置网…

【嘶吼文化-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

私有VLAN,从原理到配置,全给你说明白

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 晚上好,我的网工朋友 传统的VLAN划分虽然能够有效地隔离不同部门或功能区域的网络流量,但在某些情况下,比如共…

【JSP `page` 指令详解:构建高效的动态网页】

JSP page 指令详解&#xff1a;构建高效的动态网页 在 JavaServer Pages (JSP) 中&#xff0c;<% page %> 指令用于配置 JSP 页面的一些关键属性。这些属性控制着页面的行为和生成的 Servlet 的特性&#xff0c;例如字符编码、是否启用会话、缓冲区大小等。合理使用 page…

​了解MySQL 的二进制日志文件​Binlog

1. SQL 语句的几种类型 首先介绍一下&#xff0c;对于一个 SQL 语句&#xff0c;它常常被分为以下几种类型&#xff1a; DDL&#xff08;Data Definition Language&#xff0c;数据定义语言&#xff09;&#xff1a;用来操作数据库、表、列等&#xff0c;比如 CREATE、ALTER…

VSCode 创建Python 项目(最简单,最少步骤,无痛从pycharm迁移项目)

第一步&#xff1a;下载 下载地址&#xff1a;https://code.visualstudio.com/docs/?dvwin64user 第二步&#xff1a;配置 2.1&#xff1a;VsCode设置中文 按住键盘上的“CtrlShiftP”组合键&#xff0c;打开命令面板。 在命令面板中输入“Configure Display Language”。点击…

vue3 二次封装el-select增加分页功能

实现效果 需求来源于实时搜索客户名称,使用el-select相比用弹窗嵌套表格轻便不少。但是当远程搜索获得的数据量大时,可以滚动加载 也可以加上分页。 封装分页组件 <!-- el-pagination 二次封装 --> <template><div><el-paginationv-model:current-page…

【Linux篇】常用命令(笔记)

目录 一、认识Linux 1. Linux的组成 &#xff08;1&#xff09;文件系统&#xff08;FILE SYSTEMS&#xff09; &#xff08;2&#xff09;内核 &#xff08;3&#xff09;用户接口&#xff08;Shell&#xff09; &#xff08;4&#xff09;应用程序 2. Linux的目录结构…

工作分享,小红书企业內推码附送

小红书2025校园招聘全球启动&#xff0c;附有內推码 内推码&#xff1a;QMT16MXVARJL 内推链接&#xff1a;https://job.xiaohongshu.com/link?referer_codeQMT16MXVARJL 内推链接