首页 > 其他分享 >AgentTuning:提升大型语言模型的通用Agent能力

AgentTuning:提升大型语言模型的通用Agent能力

时间:2024-09-18 11:49:14浏览次数:3  
标签:轨迹 模型 AgentLM Agent 任务 AgentTuning 指令

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

大模型被用作现实中复杂任务的Agent时,它们的表现往往不如商业模型,如ChatGPT和GPT-4。这些任务要求LLMs作为中央控制器,负责规划、记忆和工具利用,这就需要精巧的提示方法和鲁棒性强的LLMs来实现。尽管已有多种提示方法被提出来完成特定的Agent任务,但目前缺乏关注于提升LLMs自身的Agent能力,却不损害它们通用能力方法的研究。

本文介绍了一种名为AgentTuning的方法,旨在增强LLMs的Agent能力,同时保持它们的通用能力。研究团队由来自清华大学及其合作者。他们构建了一个轻量级的指令调整数据集AgentInstruct,包含了高质量的交互轨迹。通过结合AgentInstruct和开源的通用领域指令,采用了混合指令调整策略。图1为AgentLM在不同任务上的性能表现,包括在内部任务(Held-in Tasks)和外部任务(Held-out Tasks)上的整体得分,以及与GPT-3.5、GPT-4等模型的比较。

方法

Agent任务通常要求模型能够理解环境、做出决策并执行动作,这对模型的交互能力提出了较高要求。为了记录模型在Agent任务中的交互过程,研究者定义了交互轨迹,用一系列用户输入(u_1, a_1, ..., u_n, a_n)来表示,其中u_i代表用户的输入,a_i代表模型的响应,而最终的奖励r(取值在0到1之间)则用来反映任务的完成情况。

AgentTuning方法的核心是构建AgentInstruct数据集,该数据集包含1866条经过验证的交互轨迹,涵盖了六种不同的Agent任务,如AlfWorld、WebShop、Mind2Web、知识图谱、操作系统和数据库操作。这些任务代表了现实中的多样化场景,并且是相对容易收集指令的场景。研究者采用了任务派生和自我指导的方法来构建这些任务的指令,使用了GPT-3.5和GPT-4模型来自动化这一过程,确保了方法的可扩展性。图2概述了AgentInstruct数据集的构建过程,包括指令生成、轨迹交互和轨迹过滤。同时展示了AgentTuning如何使用混合的指令数据对Llama 2系列模型进行微调,生成AgentLM。

在轨迹交互阶段,研究者利用GPT-4作为Agent进行了轨迹交互,采用了一次性评估方法来确保输出格式的严格性。在这一过程中,模型会根据当前指令和历史反馈形成思考,并采取行动。环境随后会提供反馈,包括可能的变化或新信息。这一循环会持续进行,直到模型完成任务或达到令牌限制。

为了确保数据质量,研究者对交互轨迹进行了严格的过滤,基于奖励自动选择高质量的轨迹。过滤策略的有效性通过在7B规模的模型上对过滤和未过滤轨迹进行微调得到了验证,结果表明,使用过滤轨迹训练的模型在内部和外部任务上的表现都显著优于使用未过滤轨迹训练的模型。

表1提供了AgentInstruct数据集的概览,包括不同代理任务的指令数、过滤后的轨迹数、平均过滤后轨迹回合数和过滤比例。表2展示了轨迹过滤的有效性,通过对比在过滤和未过滤轨迹上进行微调的模型性能。

在指令调整阶段,研究者采用了混合指令调整策略,结合了AgentInstruct数据集和通用领域的指令。通过调整AgentInstruct数据集和通用数据集的混合比例η,研究者发现,与仅在Agent任务上训练相比,混合训练在未见任务上的泛化性能更好。这表明通用能力在Agent任务的泛化中起着关键作用。

研究者选择了开放的Llama 2模型作为基础模型,并使用Megatron-LM进行了微调。微调过程中,研究者只计算模型输出的损失,并采用了不同的学习率和批量大小,以及AdamW优化器和余弦学习调度器。为了提高训练效率,研究者还采用了张量并行和流水线并行技术。

AgentTuning方法通过精心设计的AgentInstruct数据集和混合指令调整策略,成功地提升了LLMs在Agent任务上的能力,同时保持了其在其他通用任务上的性能。这一成果为开源LLMs在Agent任务上的应用提供了有力的支持。

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

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

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

实验

研究者选择了六项held-in任务和六项held-out任务来全面评估模型在多样化、未见过的agent任务上的表现。这些任务包括日常家务、在线购物、网站导航、知识图谱检索、操作系统交互和数据库操作等。为了全面评估模型的通用能力,研究者还选择了四个广泛采用的任务,分别反映了模型的知识容量、数学能力、编码能力和人类偏好。

表4展示了AgentLM在不同规模(7B、13B、70B)上与Llama 2系列模型相比,在held-in和held-out任务中的显著提升,同时保持了在通用任务上的性能。特别是,在held-in任务上,AgentLM的性能提升尤为明显,而在held-out任务上的提升也达到了170%。这表明AgentLM具有作为通用agent的潜力。在一些任务上,AgentLM的13B和70B版本甚至超过了GPT-4。

为了深入分析错误,研究者选择了held-in集合中的三个任务(ALFWorld、WebShop、知识图谱)并使用基于规则的方法识别常见的错误类型,例如无效动作和重复生成。图3a展示了原始Llama 2模型在这些任务中表现出更多的基本错误,如重复或采取无效动作。相比之下,GPT-3.5和GPT-4的错误较少。然而,AgentLM显著减少了这些基本错误,表明AgentTuning有效地激活了模型的agent潜力。

表5展示了仅使用agent数据或通用数据进行训练时的性能。仅使用agent数据训练显著提高了held-in集的结果,但在未见过的agent和通用任务上的泛化能力较差。当整合通用数据时,AgentLM在held-in和held-out任务上的表现几乎达到了最佳。这说明了通用指令在模型泛化中的关键重要性。

图4通过案例研究,比较了Llama-2-70b-chat和AgentLM-70B在ALFWorld和知识图谱任务上的表现差异。在ALFWorld任务中,Llama-2-70b-chat重复相同的动作最终未能完成任务,而AgentLM-70B在失败后调整了其动作。在知识图谱任务中,Llama-2-70b-chat拒绝修正函数调用错误,而是要求用户实现函数。相比之下,AgentLM-70B提供了正确的函数调用。

通过这些实验,研究者证明了AgentTuning方法不仅提升了LLMs在特定Agent任务上的性能,而且通过混合指令调整策略,保持了模型在通用任务上的能力。这些发现为未来LLMs在更广泛的应用场景中的研究和开发提供了有价值的见解。

论文链接:https://arxiv.org/pdf/2310.12823

代码链接:https://github.com/THUDM/AgentTuning

标签:轨迹,模型,AgentLM,Agent,任务,AgentTuning,指令
From: https://blog.csdn.net/weixin_44292902/article/details/142098990

相关文章

  • 240908-Linux通过ln设置软链接关联大模型文件
    在Linux中,您可以使用ln命令来创建软链接(符号链接)。软链接是一种特殊类型的文件,它指向另一个文件或目录。以下是如何设置软链接的步骤:创建软链接基本语法:ln-s[目标文件或目录][软链接的名称]示例:创建文件的软链接:假设您有一个名为/home/user/original_file.txt的文件,您想在/home/......
  • Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局
     作者|海野AI圈子的红人,AI大神AndrejKarpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为EurekaLabs的人工智能+教育公司 ,宣布将长期致力于AI原生教育。近日,AndrejKarpathy接受了NoPriors(投资博客)的采访,与硅谷知名投资人SaraGuo和EladG......
  • 大模型技术学习过程梳理,非常详细收藏我这一篇就够了
    学习大模型技术也有几个月的时间了,之前的学习一直是东一榔头,西一棒槌,这学一点那学一点,虽然弄的乱七八糟,但对大模型技术也算有了一个初步的认识。因此,今天就来整体梳理一下大模型技术的框架,争取从大模型所涉及的理论,技术,应用等多个方面对大模型进行梳理。01大模型技术梳理......
  • 职场人该如何学习使用AI大模型,都2024年还不会用AI办公的你真的out了!
    【写在开篇:这是一篇针对非技术背景的职场人,学习和使用AI大模型的完全攻略。】非技术背景的职场人想要学习和使用AI大模型,可以遵循以下步骤:1.基础学习:首先,需要掌握人工智能的基础知识,包括但不限于机器学习、深度学习等领域。可以通过阅读《ArtificialIntelligence:AMod......
  • 零基础入门大模型:一步步教你梳理大模型技术学习过程,收藏这一篇就够了!
    “学习是一个从围观到宏观,从宏观到微观的一个过程”今天整体梳理一下大模型技术的框架,争取从大模型所涉及的理论,技术,应用等多个方面对大模型进行梳理。01大模型技术梳理这次梳理大模型不仅仅是大模型本身的技术,而是一个以大模型为核心的涉及到多个方面的理论,技术和应用......
  • 图像生成大模型Imagen
    图像生成大模型Imagen是由GoogleResearch开发的一种先进的人工智能技术,它在文本到图像(Text-to-Image)的生成领域取得了显著突破。Imagen通过结合深度学习中的扩散模型(DiffusionModels)和大规模预训练的自然语言处理(NLP)模型,实现了从文本描述到高质量图像的转换,为视觉内容创作......
  • PointNet++改进策略 :模块改进 | 双边增强模块 | 自适应融合模块 | ,将多分辨率特征在点
    论文题目:SemanticSegmentationforRealPointCloudScenesviaBilateralAugmentationandAdaptiveFusion发布期刊:CVPR作者地址:1澳大利亚国立大学,2Data61-CSIRO,澳大利亚代码地址:https://github.com/ShiQiu0419/BAAF-Net介绍这篇论文的标题是《SemanticSegmentatio......
  • 使用随机森林模型在digits数据集上执行分类任务
    程序功能使用随机森林模型对digits数据集进行手写数字分类任务。具体步骤如下:加载数据:从digits数据集中获取手写数字图片的特征和对应的标签。划分数据:将数据集分为训练集和测试集,测试集占30%。训练模型:使用随机森林算法训练分类模型。进行预测:使用训练好的模型对测试......
  • Qt 模型视图(四):代理类QAbstractItemDelegate
    文章目录Qt模型视图(四):代理类`QAbstractItemDelegate`1.基本概念1.1.使用现有代理1.2.一个简单的代理2.提供编辑器3.向模型提交数据4.更新编辑器的几何图形5.编辑提示Qt模型视图(四):代理类QAbstractItemDelegate​模型/视图结构是一种将数据存储和界面展示分......
  • Java多种方式实现 有界缓冲区下的多个生产者、消费者模型 (Semaphore、while+wait+noti
    /**@Author:SongyangJi@ProjectName:[email protected]@Description:*/classProducerThreadextendsThread{intrate;MultiProducerConsumermultiProducerConsumer;publicProducerThread(intrate,MultiProducerConsumermultiProducer......