【LLM】AgentGym:具有自我演化能力的通用LLM agent
一、结论写在前面
论文来自复旦自然语言处理实验室 & 复旦视觉与学习实验室
论文首次尝试构建具有自我演化能力的通用LLM基础agent。论文确定了三个关键要素:1)多样化的环境供agent探索学习;2)一套轨迹集赋予agent基本能力和先验知识;3)一种有效且可扩展的演化方法。
论文提出了AGENTGYM框架,一个包含多样化环境、任务和目标的交互平台,专为LLM基础agent设计。AGENTGYM通过HTTP服务提供便捷的API,标准化任务规范、环境设置以及agent的观测/动作空间。在此平台上,论文实现了一个统一的多轮交互和实时反馈接口,跨越不同环境,以支持在线评估、轨迹采样和交互训练。
具体而言,它包含14种agent环境、89种任务,涵盖网络任务、具身任务及更多,并具有高度灵活性以扩展至更多类型。同时,论文提出了一种新算法AGENTEVOL,用于探索基于大型语言模型(LLM)的通用agent的自进化。论文将发布整个套件、算法实现以及agent检查点。
实验结果表明,演化后的agent能够达到与最先进模型相当的性能。论文发布了AGENTGYM套件,包括平台、数据集、基准测试、检查点及算法实现。
项目网站:https://lagentgym.github.io
AGENTGYM仓库:https://github.com/WooooDyy/AgentGym
二、论文的简单介绍
2.1 论文的背景
类似于人类学习,agent通过模仿开始获取基础知识和技能。随着发展,agent应能通过与不同环境的互动持续学习和适应未见任务。此外,它可能从自身及他人的经验中汲取丰富洞见和智慧,发展出一定程度的泛化能力。图1展示了这一演化过程。
图1:本文中基于通用能力LLM的agent自我进化示意图。agent首先根据人类监督进行行为克隆,然后跨环境和任务进行探索和学习,以实现自我进化
论文首次探讨了通用能力LLM(大型语言模型)基础agent在多种任务和环境中自我进化的潜力,从模仿学习过渡到交互学习,类似于人类的学习方式(图1)。
论文确定了实现这一研究目标的三个关键支柱。首先,多样化的环境和任务,使agent能够动态全面地进化,而非局限于孤立的世界,这可能限制泛化能力。其次,一套适当大小的轨迹集,用于训练具有初步指令遵循能力和知识的基线agent。这有助于在多样化和复杂的环境中进一步探索,因为在这些环境中,agent通过试错从头开始学习所有内容将极其低效。第三,一种有效且灵活的进化方法,能够适应不同难度的环境,激发LLM基础agent的泛化能力。这涉及agent如何与环境互动以及如何利用反馈。
图2:AGENTGYM框架概览。该框架涵盖了跨越多个类别的十四个环境。每个环境都部署为HTTP服务,客户端提供封装的统一接口供agent使用,便于与环境交互。论文从多样化的环境中收集专家标注的轨迹,称为AGENTTRAJ。随后,论文让agent在该集合上进行行为克隆,以获得一个基础的通用能力agent。通过论文的AGENTEVOL方法,论文探索agent在不同环境和任务中的进化。最后,论文使用提出的基准套件AGENTEVAL对agent进行全面评估
2.2 AGENTGYM:平台、基准套件与轨迹集
以用户友好的方式为每个环境部署独立的服务,以防止冲突。客户端可以通过HTTP协议与环境通信。该架构的核心是控制器,它作为agent与环境服务之间交互的通道,为agent提供了一个封装的、统一的环境功能或操作接口。此外,论文还实现了诸如评估器、训练器和数据收集管道等用户友好的组件,以支持社区发展。
指令收集与基准构建。论文收集了跨环境和任务的20509条指令和查询。对于已有大量指令的任务,如WebShop和ALFWorld,论文主要依赖其原始来源。对于指令较少的任务,如使用工具的任务,论文通过自指导和指令进化方法进行扩展,特别是通过提示GPT-4生成新指令[33; 34]。详情见附录C。然后,论文从每个环境中提取一个多样且具有挑战性的子集${\cal Q}_{eval}$,包含1160条指令,以构建基准套件AGENTEVAL,该套件能全面评估基于LLM的agent。剩余的指令集表示为Q = Uees Qe,其中表示环境e的剩余指令。
AGENTGYM是一个框架,旨在帮助社区轻松评估和开发基于大型语言模型(LLM)的通用能力agent。它具有多种交互环境及任务,采用统一的格式,即ReAct格式[35]。该框架支持实时反馈和并发处理,并易于扩展。论文包含了14个环境和89个任务,涵盖网页浏览、文字游戏、家务任务、数字游戏、具身任务、工具使用和编程等领域。这些任务对当前的LLM基agent具有挑战性。
•对于网页浏览任务,论文引入了WebArena(WA)和WebShop(WS)。
•在文字游戏中,论文包括了MAZE(MZ)和Wordle(WD)。论文选择ALFWorld(ALF)用于家务任务。
•在具身任务中,论文包含了Sci-World(Sci)和BabyAI(Baby)。论文选择TextCraft(TC)用于数字游戏。
•论文获取了Tool-Weather(WT)、Tool-Movie(MV)、Tool-Academia(AM)、Tool-Sheet(ST)和Tool-TODOList(TL)用于工具使用任务。论文建立了BIRD(BD)用于编程任务。
平台架构和组件。认识到不同agent环境固有的多样化依赖性,AGENTGYM以用户友好的方式为每个环境部署单独的服务,以防止冲突。客户端可以使用HTTP协议与环境通信。该架构的核心是控制器,它充当agent和环境服务之间交互的管道,为agent提供封装统一的环境功能或操作接口以供调用。此外,论文实现了用户友好的组件,如评估器、训练器和数据收集管道,以支持社区发展。
表1:AGENTGYM与其他agent框架的比较涵盖了几个方面:环境数量、交互平台的可用性及其使用、轨迹集的可用性、进化的支持及其模式
表2:AGENTGYM的统计数据,包括任务类型数量、指令集大小、评估集大小、轨迹集大小(AGENTTRAJ和AGENTTRAJ-L)以及每个环境的平均回合数
轨迹收集与过滤。在AGENTGYM中,服务器提供包括任务描述、环境设置和问题在内的指令给agent。接下来,agent以ReAct风格与环境交互,直至任务完成。论文收集了SOTA模型(如GPT-4-Turbo)和众包注释的轨迹。
论文严格过滤轨迹,根据奖励或正确性确保数据质量,并获得一组6130个轨迹。这一集合,命名为AGENTTRAJ。为公平比较,论文使用相同的流程对所有指令进行注释和过滤,得到AGENTTRAJ-L以展示BC的性能上限。
表2展示了AGENTGYM框架的详细统计数据。
2.3 AGENTEVOL:通用LLM基础agent的综合演化
这里论文首先通过行为克隆训练一个基础的通用能力agent,使其具备在agent任务中的基本交互能力。在此基础上,论文初步探索了LLM基础agent在多个环境和任务中的全面演化。论文将算法总结在算法1中。
2.3.1 基于收集轨迹的行为克隆
行为克隆通过让LLM基础agent逐步模仿收集的专家轨迹来微调它们。实践中,论文期望agent能够完成适当的内部思考h和行动a。论文使用AGENTTRAJ(表示为
)来训练一个具有基本指令遵循能力和先验知识的基础通用能力agent。
2.3.2 通过探索和学习的演化
本工作试图探索通用LLM基础agent在多个环境和任务中自我演化的潜力。更重要的是,agent在演化过程中将面临先前未见的任务和指令。因此,agent需要探索环境,接收反馈,并基于反馈优化自身。
然而,在论文的设置中,由于agent任务的大采样空间和长期性质,标准RL面临重大挑战,导致高计算复杂性和训练不稳定性,这阻碍了可扩展性。因此,论文从RL与概率推理之间成熟的联系中汲取灵感,并提出了一种名为AGENTEVOL的agent演化方法,该方法涉及agent在探索和学习之间交替进行。
从估计的最优策略中学习。在本工作中,论文将RL视为特定概率模型内的推理问题。与传统RL公式不同,后者关注于识别最大化预期奖励的轨迹,基于推理的方法从最优轨迹分布开始。论文最初定义P(O = 1)来表示“通过最大预期奖励获得最优策略”或“在RL任务中取得成功”的事件,这可以通过在每个采样点整合最优策略概率来计算。算法1:AGENTEVOL
在AGENTEVOL算法中,论文将这两个步骤称为探索步骤和学习步骤。
2.4 实验与讨论
2.4.1 实验设置
环境与任务。论文探索了在 AGENTGYM 框架下通用能力 LLM 基agent的自我演化。主要实验涵盖了 11 个环境:WebShop 、ALF-World 、SciWorld 、BabyAI 、TextCraft 、BIRD 、MAZE、Wordle 、Tool-TODOList、Tool-Weather 和 Tool-Movie 。需要注意的是,BC 中使用的指令数量少于演化中的指令数量,以研究agent在执行探索时的泛化能力。
基线。论文包含了闭源模型,如 GPT-3.5-Turbo 、GPT4-Turbo 、Claude 3 和 DeepSeek-Chat 。论文还包含了开源模型,如 Llama-2-Chat ,以及基于专家轨迹训练的agent,即 AgentLM 。为了公平比较,论文包含了一个基线,该基线在 AGENTTRAJ-L 上执行 BC,作为通过 BC 可达到的最大性能。
实现细节。所有实验均使用八块A100-80GB GPU进行。论文的主要骨干模型是Llama-2-Chat-7B。不同的环境服务部署在同一服务器的不同端口上。论文将迭代次数设为4。为了节省计算资源,每个指令在进化过程中只采样一次。
2.4.2主要结果
表3中的实验结果表明:
(1)尽管闭源模型表现良好,甚至像GPT-4-Turbo这样的SOTA闭源模型也未能完全在所有任务上取得满意的性能,突显了开发更高效agent的需求。
(2)开源模型,如表3所示:评估在多样任务上的结果。BCbase表示使用AGENTTRAJ训练的agent,提供了一个具有基本能力和先验知识的基准agent。BClarge表示在AGENTTRAJ-L上执行BC的agent,代表了本文中BC性能的上限。它与SOTA模型和agent相竞争,甚至超越它们。论文的进化方法AGENTEVOL,通过探索和学习,在大多数任务和环境中超越了BClarge。每个部分的最佳性能以粗体突出显示。Llama2-Chat在所有任务上表现不佳,突显了BC初始化步骤的重要性。
(3) 在agent轨迹上训练的模型,如AgentLM ,在许多任务上与GPT-4-Turbo表现相当,特别是70B版本。然而,它们在TextCraft 或SciWorld 等任务上未能达到同等性能,这可以归因于训练数据的不足。
(4) 在AGENTTRAJ-L上训练的agent,即BClarge,取得了优异的性能,与SOTA模型相匹配甚至超越,显示其是一个强大的基准。
(5) 尽管AGENTEVOL用于模仿的轨迹有限,但它在许多任务上超越了BClarge和SOTA模型,如WebShop、ALFWorld 和BabyAI ,验证了agent进化的优越性和潜力。
2.4.3 讨论与分析
关于数据合并策略和迭代次数 的消融研究。在论文的实验中,论文将每次迭代中采样的轨迹与初始轨迹合并来训练agent,而不是将其与前一次迭代生成的轨迹合并。这里,论文进行了一项消融研究,以展示这种合并策略和迭代次数 的影响。实验结果如图 3 所示,与初始数据合并提供了更稳定的改进,而与前一次迭代轨迹合并导致性能波动,可能是由于过拟合。此外,随着 的增加,性能趋向于改善,但在后期的迭代中逐渐收敛。因此,论文选择 以平衡性能和效率。
关于样本数量 的消融研究。在探索步骤中,论文每迭代一次对每个指令进行一次采样。这里,论文对样本数量 进行了四项任务的消融研究。表 中的结果显示,性能随着
的增加而增加,但改进并不显著。因此,论文选择
以提高计算效率。
图3:数据合并策略和迭代次数
的消融研究。策略1表示将当前agent生成的轨迹与初始轨迹集合合并;策略2表示将当前轨迹与上一迭代生成的轨迹合并
探索范围的消融研究。在论文的实验中,首先使用Ds训练一个基础agent,然后让它探索更广泛的指令和任务范围。论文针对四个任务进行消融研究,以观察agent在BC阶段有限指令下的进化情况。表显示,即使在有限的范围内,基础agent的性能也有所提升,这可能归因于从agent中采样的更多样化轨迹。然而,改进并不显著,表明有效的进化需要一个更广泛的环境。
不同模型的有效性。为了展示论文的方法在不同骨干模型上的泛化能力,论文在Llama-2-13B 和DeepSeek-Coder-1.3B 上进行了实验。整个进化过程仍然基于AGENTGYM。表
中的实验结果显示,论文的AGENTEVOL在不同骨干模型上保持了其进化能力,实现了性能的超越。
表6:成功和失败轨迹的进化实验
成功与失败轨迹的演化。在学习步骤中,论文仅利用奖励高的样本轨迹(成功),而不使用失败的轨迹。受先前工作的启发,论文探究是否可以纳入失败轨迹以促进更好的演化。
具体而言,论文构建成功与失败轨迹的对,并使用DPO方法优化agent,该方法针对成对数据集拟合模型。表6的结果显示,尽管使用两种类型的轨迹仍能带来演化效果,但性能不及论文的方法,表明多任务设置中的偏好优化相比单任务更具挑战性。未来,论文期望探索更多算法,充分利用所有轨迹以实现全面的演化。
论文标题:AgentGym: Evolving Large Language Model-based Agents across Diverse Environments
论文链接:https://arxiv.org/pdf/2406.04151
本文转载自 AI帝国,作者: 无影寺