专栏名称: PaperWeekly
PaperWeekly是一个分享知识和交流学问的学术组织,关注的领域是自然语言处理的各个方向。我们热爱知识,分享知识,希望通过我们大家的努力为自然语言处理的发展做出一点点贡献。我们每周会分享一期特定话题的论文笔记和本周值得读的相关论文。
目录
相关文章推荐
科研大匠  ·  关注:厦门大学林圣彩院士团队2篇Nature ... ·  2 天前  
社会学理论大缸  ·  马克思致信恩格斯:圣诞到了,给我寄点过节费 ·  2 天前  
募格学术  ·  颜宁团队最新成果: 8纳米螺蛳粉! ·  3 天前  
社会学理论大缸  ·  项飙招募访问学者,不限学历背景!附申请建议 ·  4 天前  
51好读  ›  专栏  ›  PaperWeekly

WizardLM新作!AgentGen:通过环境和任务生成增强基于大模型的Agent规划能力

PaperWeekly  · 公众号  · 科研  · 2024-12-24 18:17

正文


基于大语言模型的智能体(LLM-based Agent)受到了广泛关注,并越来越受欢迎。此外,规划能力是 LLM-based Agent 的重要组成部分,它涉及与环境的交互和执行行动以完成规划任务,这通常需要从初始状态实现预期目标。

本文研究通过 Instruction Tuning(即 Agent Training)来提高 LLM-based Agent 的规划能力。

最近关于 Agent Training 的研究表明,利用专家级轨迹数据(行动-观察对序列)对 LLM 进行 instruction tuning,可有效增强其规划能力。不过,现有的工作主要集中在从人工设计的规划任务和环境中合成轨迹。创建这些环境和任务需要耗费大量人力物力,因此无法生成足够丰富和广泛的轨迹用于智能体(Agent)训练。

为了解决这一局限性,本文探索了自动合成各种环境和从易到难的渐进式规划任务的方法。作者引入了一个名为 AgentGen 的框架,该框架首先利用 LLM 生成环境,后根据这些环境生成规划任务。具体来说,为了提高环境的多样性,作者建议使用由各种特定领域文本片段组成的灵感语料库作为合成环境的背景。

此外,为了增加生成的规划任务的难度多样性,作者提出了一种双向进化方法——BI-EVOL,它可以从较易和较难两个方向进化规划任务,合成难度曲线更平滑的任务集从而更有效地增强 LLM 的学习过程。

这些方法共同促进了用于指令调整的多样化轨迹数据的生成。在 AgentGen 的基础上,作者极大地扩展了可用于智能体(Agent)培训的环境和规划任务的数量。

来自 AgentBoard 的评估结果表明,AgentGen 极大地增强了 LLM 的规划能力。例如,经过 AGENT- GEN 指令调整的 Llama-3.1-8B 在总体性能上优于 GPT-3.5。此外,经过 AgentGen 调整的 Llama-3.1-70B 模型在规划任务中取得了最先进的结果。

论文标题:

AgentGen: Enhancing Planning Abilities for Large Language Model based Agent via Environment and Task Generation

论文链接:

https://arxiv.org/pdf/2408.00764



背景

最近,由于大型语言模型(LLMs)的进步,基于 LLM 的人工智能智能体(Agent)受到了广泛关注。一般来说,基于 LLM 的智能体(Agent)指的是利用 LLM 来感知环境、做出决策和执行行动,以替代或帮助人们完成某些特定任务。

此外,规划通常被视为基于 LLM 的智能体(Agent)最重要的应用之一,例如机器人规划、旅行规划等。在本研究中,规划被概念化为在给定环境中确定一连串可执行的行动以完成规划任务的系统过程,其定义是从初始状态过渡到实现指定目标条件的过程,同时考虑到约束条件和可用资源。

通过 instruction tuning  LLM 来提高规划能力是一个重要的研究课题,被称为 “agent training”。如图 1,所示与模仿学习类似,典型的智能体(Agent)训练过程可分为三个阶段:

1. 准备环境和规划任务;

2. 在这些规划任务上合成专家级轨迹(行动-观察对序列)。例如,利用最先进的 LLM(如 GPT-4 )作为智能体(Agent),并根据奖励得分筛选轨迹;

3. 利用合成轨迹数据对 LLM 进行指令调整。

最近,许多研究都证明了通过智能体(Agent)训练提高 LLMs 规划能力的有效性。尽管取得了成功,但这些研究的一个主要局限是,它们主要依赖于人工设计的环境和规划任务。

创建环境和规划任务的劳动密集性质阻碍了多样化和广泛轨迹数据的生成。更明确地说,设计多样化的环境需要定义一系列丰富实用的场景,而实施这些环境通常需要具备编程技能的人类专家的参与。

此外,制定任务通常需要创建一个难度逐步递增的任务集。由于这种限制,现有的 agent training 研究通常只使用少数几种环境进行数据合成。



方法

2.1 前置知识  

规划问题可以用 Python 等编程语言或规划域定义语言(PDDL)等特定领域语言来实现 [38]。在基于 PDDL 的规划问题中,领域 PDDL 文件可视为环境 E,它定义了状态(谓词)和行动,并使用每个行动的前提条件和效果指定了过渡函数。初始状态和目标条件通常都定义为谓词的组合。

另一种广泛使用的用于构建规划问题的编程语言是 Python。在 OpenAI gym1 中,规划问题将以 Python 类的形式实现,其中过渡函数以类的方法实现,通常命名为 “step” 或 “update” 函数。同时,目标 G 通常表示为表示任务目标的奖励函数,而初始状态 I 在名为“重置”的方法中定义。

生成规划任务的过程可以形式化为一个函数 ,其中 是输入空间(如指令或提示),元组 是所有可能的规划任务和环境的空间。根据第 2.1,节中的定义作者可以将其表示为 ,其中 是针对给定输入 生成的规划任务, 是生成的环境。

作者的两阶段方法可进一步分解如下:

i)环境生成(第 3.1 节):在第一阶段,作者根据输入指令 生成环境 。这可以表示为 ,其中 是环境生成函数,它将指令 作为输入并生成环境

ii)任务生成在第二阶段(§3.2),作者以第一阶段生成的环境 为条件,生成任务 。这可以表示为 ,其中 是任务生成函数,它将原始指令 和生成的环境 作为输入来生成任务 。作者将在下一节详细介绍这两个阶段的实现。

2.2 环境生成

▲ 图2:环境生成过程概览。


概述:如图 2 ,所示作者提出了一个复杂的环境生成框架,该框架由三个主要部分组成:

1. 环境规范生成模块,由 LLM 首先生成环境规范(Environment Specification),通常包括环境概览、状态空间和动作空间描述以及转换函数定义;

2. 环境实现模块,根据环境规范生成相应的代码;

3. 环境库,存储以前生成的高质量环境,作为综合环境数据集,并为生成新提供上下文示例。下一段将对每个组件进行详细说明。

环境规范:作者最初会提示 LLM 生成环境规范,其中通常包括环境的整体描述、具体操作及其相应的前提条件和效果,以及环境中的某些限制。环境说明将作为生成具体环境代码的基础。这种类似于思维链(Chain-of-Thought)的两阶段方法可以更好地帮助 LLM 创建高质量的环境。

对于生成环境规范,一种直接的方法是促使 LLM 生成随机环境。而由于 LLM 固有的归纳偏差,它们很难通过这种方式生成多样化的环境。因此,为了解决这个问题,作者建立了一个灵感语料库 ,其中包含足够多样化的文本片段,用来作为 LLM 生成环境规范的“灵感”。

更具体地说,在生成环境时,作者首先从 中抽取一个文本片段 ,后提示 LLM 根据 生成相关环境。以图 2 中的例子为例,作者首先从 中采样一个文本段“如何用花生酱粉促进饮食?”,然后提示 LLM 生成一个相关的环境,在这个环境中,智能体(Agent)被定义为一名营养学家,其任务是创建一本新的健康食谱书,其中花生酱粉是主要成分。

这种方法极大地增强了生成环境的多样性,从而使 Agent Training 更具通用性。灵感语料库可以通过多种方式实现,例如使用像 Common Crawl 这样的大规模预训练语料库。

或者,也可以使用特定领域的语料库(如代码生成数据集)来生成特定领域的环境。本文使用 LIMA 作为灵感语料库,这是一个具有足够多样性的指令微调数据集。

环境实现:以生成的环境规范为条件,生成相应的代码,即实现环境。这可以表述为一个典型的 LLM 代码生成问题。作者还引入了一种能够捕捉语法错误的验证工具,以便在代码生成过程中提供反馈,从而不断改进代码。

2.3 任务生成

概述:如图 3 ,所示根据生成的环境,作者提示 LLM 生成相应的规划任务。作者采用两阶段生成方法 BI-EVOL,以创建难度各异的规划任务。

首先,作者向 LLM 提示一个特定的环境,使其能够以 zero-shot 的方式生成一组初始规划任务。随后,作者对这些任务进行调整,使其变得更简单或更具挑战性,从而形成一套完整的规划任务。


双向进化:许多研究都提出了指令进化的建议,主要侧重于增加指令的难度。这种方法的有效性在很大程度上依赖于这样一种假设,即 LLM 天生就具有遵循简单指令的能力。

而根据一些研究结果 [37, 33],即使在简单的规划任务中,LLMs 的表现也往往很差。因此,作者提出了 BI-EVOL,它引入了两个方向的进化:易进化和难进化。易进化通常涉及简化目标条件。

这样做的动机是,当智能体(Agent)表现不佳,无法直接从典型的困难目标中学习时,较简单的任务可以促进学习。反之,硬进化通常涉及使目标条件更复杂,从而增加了智能体(Agent)完成任务所需的步骤数量。

▲ 图3:任务生成过程概览


实验

为了评估拟议框架的有效性,作者使用规划领域定义语言(PDDL)合成了环境和规划任务,这是一种广泛采用的规划编程语言。为了验证 AgentGen 的有效性和通用性,作者将评估的任务分为两组:i)域内任务:使用 PDDL 实现的规划任务:这些任务包括使用其他编程语言(如 Python)开发的任务。

3.1 实验设置

评估任务:对于域内任务,作者选择了四个广泛使用的基于 PDDL 的规划任务:Blocksworld、Gripper、Tyreworld 和 Barman 。

更明确地说,Blocksworld 要求智能体(Agent)通过移动积木来实现目标配置,而 Gripper 则涉及在不同房间之间移动物体。Tyreworld 模拟更换汽车轮胎,包括拆下爆胎、换上备用轮胎和安装新轮胎。Barman 模拟调酒师调制鸡尾酒的任务,包括混合各种配料、使用调酒器和装饰饮料。

对于域外任务,作者选择了三个具有挑战性的部分可观测规划任务:Alfworld 和 BabyAI,Jericho。Alfworld 是一个旨在测试智能体(Agent)执行日常家务能力的环境。在 BabyAI 中,智能体(Agent)在网格世界环境中解释并执行自语言指令。Jericho是一组基于文本的交互式小说游戏,玩家在游戏中发出文本指令来改变环境。


评估指标:作者使用了两个评估指标来评估规划能力:成功率(success rate)和进展率(progress rate)。在每一轮交互过程中,作者都会分配一个进度率(用 表示)来衡量向目标状态 迈进的速度。

当智能体(Agent)在状态 之间转换时,作者会使用匹配分数 来评估其进度,该分数量化了当前状态与目标状态之间的相似度。最初, 设置为 0,表示没有进展。只有当进展率达到 1 时,成功率才会达到 1;所有其他情况的结果都是 0。成功率反映了智能体(Agent)完成一项综合任务的能力。


基线:作者将 AgentGen 与一系列广泛使用的多用途基础模型进行了比较,这些模型表现出了最先进的性能,如 GPT-3.5 和 GPT-4、CodeLlama、Mistral、Llama-2 和 Llama-3.1。作者对所有多用途基础模型都使用了它们的指令调整版本

此外,有些模型经过了agent training,如 AgentLM、FireAct、Agent-Flan。作者还利用 AgentInstruct 数据集来训练 Llama-3.1作为基线模型。

3.2 域内任务评估

如表 1 ,所示经过 AgentGen 调整的 Llama-3.1-8B 模型在 progress rate 方面优于 GPT-3.5(33.3 v.s  25.0)。此外,经过 AgentGen 调整的 Llama-3.1-70B 模型略微超过 GPT-4(81.5 对 81.2)。

与其他具有类似参数标度的模型相比,AgentGen 在四项不同任务中始终表现出卓越的性能。与基本的 Llama-3.1 模型相比,作者的模型在 8B 和 70B 版本上都有大幅改进,总体进度分别提高了 30.3 和 2.5。

值得注意的是, 在 Llama-3.1-8B 成功率为零的任务中, AgentGen 实现了重大突破, 进一步验证了 AgentGen 的功效。

综上所述,作者可以得出以下结论:i)经 AgentGen 调整的 Llama-3.1-8B 在总体性能上优于 GPT-3.5,而 70B 版本则达到了最先进的结果;ii)经 AgentGen 调整的 Llama-3.1 在成功率和进展率方面都有显著提高;iii)AgentGen 始终优于参数规模相似的其他模型。

▲ 表1:AgentGen 与基线模型在领域任务中的性能比较。“总体”是不同任务中性能的加权平均值。

3.3 鲁棒性

为了验证 AgentGen 所构建数据集的鲁棒性,作者进行了一系列实验,以评估其在不同基础模型中的性能。作者选择了几个广泛使用的 7-8B 基础模型,包括 Llama-3-8B、CodeLLama-7B 和 Mistral-7B,以测试 AgentGen 的通用性和有效性。

如表 2 ,所示这三种模型在训练后都有显著提高,其中 Llama- 3-8B 的成功率提高了 10.0 和 CodeLlama-7B 的最大进度提高了 9.9。这些实验结果证明,使用 AgentGen 构建的数据集进行智能体(Agent)培训在不同模型中都非常有效。

▲ 表2:模型在使用 AgentGen 对域内任务进行训练前后的总体性能比较。

3.4 域外任务评估

作者还对域外 Agent 任务进行了评估。如表 3 所示,作者观察到了类似的实验现象。首先,与 Llama-3.1 相比,AgentGen 的性能有了显著提高,8B 模型的平均进度提高了 13.1%,70B 模型的平均进度提高了 5.0%。

此外,经过 AgentGen 调整的 Llama-3.1-8B 模型也优于 GPT-3.5。与参数规模相似的一般模型和智能体(Agent)微调模型相比,AgentGen 在这两项任务中的表现始终优于它们。在域外任务上的优异表现进一步强调了作者数据合成方法的有效性和泛化能力。



结论

在本文中,作者探讨了如何利用 LLM 自动生成环境和规划任务,用于基于 LLM 的智能体(Agent)培训。具体来说,为了生成多样化的环境,作者建议利用由各种特定领域文本片段组成的灵感语料库作为环境合成的上下文。

为了提高生成的规划任务的难度多样性,作者引入了一种双向进化方法——BI-EVOL,它可以从更容易和更具挑战性的两个方向进化规划任务,从而创建一个难度曲线更加渐进的任务集,从而提高 LLM 学习的有效性。

在 AgentGen 的基础上,作者开发了一个由 592 个环境和 7246 条轨迹组成的数据集,并对其进行了一系列 LLM 训练。经过 AgentGen 调整的 Llama-3.1-8B 模型在规划任务上超过了 GPT-3.5,而经过 AgentGen 调整的 Llama-3.1-70B 模型则达到了新的 SOTA 性能。



代码

很遗憾作者并没有开源论文代码和模型,但是我们在网上找到了它的复现版本:

https://github.com/lazychih114/AgentGen-Reproduction



更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:[email protected] 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧


·
·
·