端到端优化所有能力,字节跳动提出强化学习LLM Agent框架AGILE
大语言模型(Large Language Models, LLMs)的强大能力推动了 LLM Agent 的迅速发展。围绕增强 LLM Agent 的能力,近期相关研究提出了若干关键组件或工作流。然而,如何将核心要素集成到一个统一的框架中,能够进行端到端优化,仍然是一个亟待解决的问题。
来自字节跳动 ByteDance Research 的研究人员提出了基于强化学习(Reinforcement Learning, RL)的 LLM Agent 框架 ——AGILE。该框架下,Agent 能够拥有记忆、工具使用、规划、反思、与外界环境交互、主动求助专家等多种能力,并且通过强化学习实现所有能力的端到端训练。尤其值得注意的是,AGILE 框架允许 Agent 在不自信时主动向人类专家寻求建议。这带来了两大优势:首先,Agent 在处理复杂问题时能够持续保持高准确率;其次,通过向人类学习,增强了其快速适应新任务的泛化能力。
论文地址:https://arxiv.org/abs/2405.14751
代码地址:https://github.com/bytarnish/AGILE
研究者让 AGILE 框架在复杂问答任务中进行了验证。在 ProductQA 与 MedMCQA 任务上,经过 RL 训练后的 13B 模型或者 7B 模型能够超越提示工程构建的 GPT-4 Agent。
AGILE Agent 框架
如图 1 (a) 所示,AGILE 框架包含四个核心模块:LLM、记忆(Memory)、工具(Tools)和执行器(Executor)。LLM 负责预测动作;记忆模块记录 Agent 的轨迹;工具模块提供 Agent 可以调用的外部 API;执行器会监听 LLM 的输出,根据 LLM 的输出调用相应的模块执行具体的操作,并将执行操作得到的结果添加到 LLM 的上下文中。
图 1 (b) 展示了 AGILE Agent 在电商问答场景中的一个示例。电商问答是一个复杂的实际应用场景,面临的挑战包括需要海量商品的领域知识、灵活运用商品检索工具、以及快速适应不断涌现的新商品。如图 1 (b) 所示,AGILE Agent 会根据用户的问题检索记忆,如果无法确定问题的答案,Agent 会向人类专家寻求帮助。在获得专家的反馈后,Agent 会反思并将新掌握的领域知识存储在记忆中。在未来,面对新的问题时,Agent 能够从记忆中检索到这条知识,并基于这些知识直接给出准确的答案。除此之外,AGILE Agent 也会根据用户的问题选择是否调用外部工具(如搜索、数据库检索),辅助生成最终的回答。
强化学习定义:LLM Agents 被定义为一个 token-level MDP(Markov Decision Process)。动作空间(Action space)由 LLM 的词表构成,LLM 生成的每一个 token 是一个动作,LLM 本身则作为 Agent 的策略模型(Policy model)。Agent 的状态(State)由 LLM 上下文和记忆组成。在每个时刻,LLM 预测动作,执行器根据预定义的逻辑完成状态转移,同时环境给予 Agent 相应的奖励(Reward)。
在 AGILE 框架下,Agent 有两种策略学习方法。第一种是模仿学习,通过收集人类轨迹数据或更高级别 Agent 的轨迹数据,对 LLM 进行 SFT 训练。第二种是强化学习,通过定义奖励函数,利用强化学习算法来训练 LLM。
此外,LLM Agent 可能会产生跨越数百万个 tokens 的轨迹,这为直接训练带来了挑战。为了应对这种长程依赖的问题,研究人员提出了一种片段级别的优化算法。
主动寻求帮助:AGILE 框架允许 Agent 主动向外部的人类专家寻求帮助。这种机制有两个优势:首先,当 Agent 遇到不确定的情况时,通过求助人类专家,确保其在实际应用中达到高准确率。其次,Agent 能够通过对人类的反馈反思并积累知识,从而更快适应新环境,提升其泛化能力。然而决定何时寻求帮助是一个复杂决策,它涉及到 Agent 的自我评估、人类反馈对未来的价值以及人类专家的成本。因此,标注何时应该求助是很难的。但在强化学习框架中,可以通过定义相关奖励,将这种求助能力作为策略模型的一部分,在端到端训练中得到提升。
实验结果
ProductQA
ProductQA 是一个商品问答任务。该数据集包含 26 个对应不同商品类别的 QA 任务,每个任务平均包含 3,393 个问题。ProductQA 包括基于事实的问题、推理问题和商品推荐问题,它能够全面评估 Agent 处理历史信息和累积知识、利用工具、向人求助、自我评估和反思的能力。此外,训练和测试集由不同的任务构成,以评估 Agent 在新商品问答上的泛化能力。
在商品问答(ProductQA)任务上,基于 Vicuna-13b 训练的 AGILE Agent(agile-vic13b-ppo)表现超过了 GPT-4(gpt4-prompt)与提升工程构建的 GPT-4 Agent(agile-gpt4-prompt)。在使用了相当的求助比例(Advice Rate)的情况下,agile-vic13b-ppo 的 acc 相比于 agile-gpt4-prompt 提升了 7.4%,在 Total Score 上提升了 9.2%。
从上图可以看出,在执行包含上千个问答的任务整个过程中,agile-vic13b-ppo 的 acc 持续稳定地高于 agile-gpt4-prompt。同时寻求人类帮助的频率(Advice Rate)随着问答轮数的增加逐渐下降。此外,通过调整人类的咨询成本(Seeking Advice Cost)和进行强化学习训练,AGILE Agent 可以有效实现准确率与专家成本的权衡。
消融实验结果显示,记忆、反思、咨询人类建议、工具使用、RL 训练在实现高性能的 AGILE Agent 中均具有重要作用。
MedMCQA
MedMCQA 是一个多项选择的问答数据集,其问题来自医学院入学考试。在 MedMCQA 任务上,基于 Meerkat-7b 训练的 AGILE Agent(agile-mek7b-ppo)表现优于 GPT-4 Agent。准确率达到了 85.2%,超过了之前的 SOTA 方法 ——GPT 4-MedPrompt 的 79.1%。消融实验结果进一步验证了记忆、咨询人类建议、反思和 RL 训练的重要性。
更多研究细节,可参考原论文。
总结
声明:本文转载自机器之心,转载目的在于传递更多信息,并不代表本社区赞同其观点和对其真实性负责,本文只提供参考并不构成任何建议,若有版权等问题,点击这里。
游客
- 鸟过留鸣,人过留评。
- 和谐社区,和谐点评。