AI 模型与平台

POKELLMON:具有LLM的宝可梦对战人工智能代理

mm
将 Unite.AI 添加到您在 Google 上的首选来源

大型语言模型和生成式人工智能在自然语言处理任务中取得了前所未有的成功。随着NLP领域的征服,GenAI和LLM研究人员的下一个挑战是探索如何使大型语言模型在现实世界中自主行动,具有从文本到行动的延长生成间隙,代表着人工通用智能的追求中的一个重要范式。在线游戏被认为是开发大型语言模型体现代理的合适测试基础,这些代理以类似人类的方式与视觉环境交互。

例如,在流行的在线模拟游戏Minecraft中,决策代理可以被用于帮助玩家探索世界并开发技能以制作工具和解决任务。另一个LLM代理与视觉环境交互的例子可以在在线游戏The Sims中体验到,代理在社交交互中表现出色,并表现出类似人类的行为。然而,与现有的游戏相比,战术游戏可能是评估大型语言模型在虚拟游戏中表现的更好选择。战术游戏的主要原因是胜率可以直接衡量,而且包括人类玩家和AI在内的对手始终可用。

基于此,POKELLMON旨在成为世界上第一个实现人类级别性能的体现代理,类似于宝可梦对战。POKELLMON框架的核心包含三个主要策略。

  1. 上下文强化学习,消耗来自战斗的基于文本的反馈,以迭代地改进政策。
  2. 知识增强生成,检索外部知识以对抗幻觉,使代理能够及时和适当地行动。
  3. 一致的行动生成,以最小化遇到强大对手时的恐慌切换问题。

本文旨在深入介绍POKELLMON框架,并探讨其机制、方法论、架构以及与最先进框架的比较。我们还将讨论POKELLMON框架如何展示出卓越的人类般战斗策略和实时决策能力,实现了近50%的胜率。让我们开始吧。

POKELLMON:具有LLM的宝可梦对战人工智能代理

大型语言模型和生成式人工智能框架的能力和效率在过去几年中取得了惊人的进步,尤其是在NLP任务中。最近,开发人员和AI研究人员一直致力于使生成式人工智能和LLM在现实世界中更突出,具有在物理世界中自主行动的能力。为了实现这种自主性能,研究人员和开发人员认为游戏是开发LLM体现代理的合适测试基础,这些代理可以以类似人类的方式与虚拟环境交互。

之前,开发人员曾尝试在虚拟模拟游戏Minecraft和The Sims中开发LLM体现代理,尽管人们认为战术游戏如宝可梦可能是更好的选择来开发这些代理。宝可梦对战使开发人员能够评估训练师在知名宝可梦游戏中的战斗能力,并提供了多个优点。由于行动和状态空间是离散的,可以在不失去任何信息的情况下转换为文本。此图说明了典型的宝可梦对战,玩家被要求在每个回合生成一个行动,给定每边宝可梦的当前状态。用户可以从五个不同的宝可梦中选择,并且有四个动作可供选择。此外,游戏通过消除对LLM的推理时间和推理成本的强调,帮助缓解了对推理时间和推理成本的压力,因为回合制格式消除了对密集游戏的需求。因此,性能主要取决于大型语言模型的推理能力。

POKELLMON:方法论和架构

POKELLMON框架的整体架构和方法论如下图所示。

在每个回合中,POKELLMON框架使用之前的行动和相应的基于文本的反馈来迭代地改进政策,并使用外部知识(如能力/动作效果或优势/劣势关系)来增强当前状态信息。对于输入信息,POKELLMON框架生成多个行动,并选择最一致的行动作为最终输出。

上下文强化学习

人类玩家和运动员经常根据当前状态做出决定,但他们也会反思之前行动的反馈以及其他玩家的经验。可以说,积极的反馈有助于玩家从错误中学习,并避免反复犯同样的错误。如果没有适当的反馈,POKELLMON代理可能会坚持同一个错误行动,如下图所示。

如图所示,游戏代理使用水属性攻击对战一个具有“干燥皮肤”能力的宝可梦,这使得水属性攻击无效。游戏尝试通过在屏幕上闪烁“免疫”消息来提醒用户,这可能会提示人类玩家重新考虑他们的行动,即使他们不知道“干燥皮肤”的能力。然而,由于该信息不包含在代理的状态描述中,代理会重复同样的错误。

为了确保POKELLMON代理从之前的错误中学习,框架实施了上下文强化学习方法。强化学习是机器学习中的一种流行方法,它有助于开发人员通过需要数值奖励来评估行动来改进政策。由于大型语言模型可以解释和理解语言,基于文本的描述已经成为LLM的新型奖励。通过包含来自之前行动的基于文本的反馈,POKELLMON代理能够即时和迭代地改进其政策,即上下文强化学习。POKELLMON框架开发了四种类型的反馈,

  1. 基于两个连续回合之间的HP差异计算的实际攻击造成的伤害。
  2. 攻击的有效性。反馈指示攻击的有效性,包括无效、免疫或由于能力/动作效果或类型优势而超有效。
  3. 执行动作的优先顺序。由于对手宝可梦的精确统计数据不可用,优先顺序反馈提供了速度的粗略估计。
  4. 对对手执行的动作的实际效果。攻击和状态可能会导致结果,如恢复HP、提升属性或减益、造成冻结、烧伤或中毒等条件。

此外,使用上下文强化学习方法的使用会导致性能显著提高,如下图所示。

与GPT-4的原始性能相比,胜率提高了近10%,战斗评分提高了近13%。此外,如下图所示,代理开始分析和改变其行动,如果之前的行动未能达到预期。

知识增强生成或KAG

尽管实施上下文强化学习有助于减少幻觉,但在代理收到反馈之前仍可能导致致命的后果。例如,如果代理决定与火属性宝可梦对战一只草属性宝可梦,前者可能会在一回合内获胜。为了进一步减少幻觉并提高代理的决策能力,POKELLMON框架实施了知识增强生成或KAG方法,这是一种使用外部知识来增强生成的技术。

现在,当模型生成上述四种类型的反馈时,它会注释宝可梦的动作和信息,使代理能够自己推断类型优势关系。在尝试进一步减少推理中的幻觉时,POKELLMON框架明确注释了对手宝可梦和代理宝可梦的类型优势和弱点,并提供了充分的描述。此外,很难记住宝可梦的动作和能力,尤其是因为有很多。下表显示了知识增强生成的结果。值得注意的是,通过实施知识增强生成方法,POKELLMON框架能够将胜率提高约20%,从现有的36%提高到55%。

此外,开发人员观察到,当代理提供了宝可梦的外部知识时,它开始在正确的时间使用特殊动作,如下图所示。

一致的行动生成

现有的模型表明,实施提示和推理方法可以增强LLM解决复杂任务的能力。与其生成一次性行动,POKELLMON框架评估现有的提示策略,包括CoT或思维链、ToT或思维树和自一致性。对于思维链,代理首先生成一个思维,分析当前的战斗场景,并输出一个条件行动。对于自一致性,代理生成三次行动,并选择获得最多票数的输出。最后,对于思维树方法,框架生成三个行动,就像自一致性方法一样,但在自行评估后选择最好的一个。下表总结了提示方法的性能。

每个回合只有一个行动,这意味着即使代理决定切换,对手决定攻击,切入的宝可梦也会受到伤害。通常,代理决定切换,因为它想类型优势切换一个非战斗宝可梦,因此切入的宝可梦可以承受伤害,因为它对对手的动作具有类型抵抗力。然而,如上所述,对于具有思维链推理的代理,即使强大的对手施加各种旋转,它也会以不一致的方式行事,因为它可能不想切入宝可梦,而是切入多个宝可梦,然后切回去,我们称之为恐慌切换。恐慌切换消除了采取行动的机会,并导致失败。

POKELLMON:结果和实验

在讨论结果之前,了解战斗环境至关重要。在每个回合的开始,环境从服务器接收到一个操作请求消息,并将在回合结束时响应该消息,该消息还包含上一个回合的执行结果。

  1. 首先解析消息并更新本地状态变量,2. 然后将状态变量转换为文本。文本描述主要有四个部分:1. 自己队伍的信息,包含在场和非在场(未使用)的宝可梦的属性。
  2. 对手队伍的信息,包含在场和非在场(部分信息未知)的宝可梦的属性。
  3. 战斗场景的信息,包括天气、入场危险和地形。
  4. 历史回合日志信息,包含双方宝可梦的之前行动,并存储在日志队列中。LLM以转换后的状态作为输入并输出下一步的行动。然后将该行动发送到服务器并与人类同时执行。

与人类玩家对战

下表显示了POKELLMON代理对战人类玩家的性能。

如图所示,POKELLMON代理的性能与梯度玩家相当,梯度玩家具有更高的胜率,并具有丰富的战斗经验。

战斗技能分析

POKELLMON框架很少犯错,选择有效的动作,并由于知识增强生成策略而切换到另一个合适的宝可梦。

如上图所示,代理使用单个宝可梦击败整个对手队伍,因为它能够选择最有效的攻击动作。此外,POKELLMON框架还表现出类似人类的消耗策略。一些宝可梦具有“中毒”动作,可以在每个回合造成额外的伤害,而“恢复”动作可以让它恢复HP。代理利用这一点,首先中毒对手的宝可梦,然后使用恢复动作防止自己晕厥。

最后的想法

在本文中,我们讨论了POKELLMON,一种使大型语言模型能够自主地与人类对战宝可梦的方法。POKELLMON旨在成为世界上第一个实现人类级别性能的体现代理,类似于宝可梦对战。POKELLMON框架引入了三个关键策略:上下文强化学习,它消耗基于文本的反馈作为“奖励”来迭代地改进行动生成策略,而无需训练;知识增强生成,它检索外部知识以对抗幻觉,并确保代理能够及时和适当地行动;以及一致的行动生成,它防止遇到强大对手时的恐慌切换问题。

Kunal Kejriwal 是一名专注于 Python、PostgreSQL、Redis 以及 GCP 和 AWS 上云基础设施的后端工程师。拥有三年构建和扩展生产系统的经验,他撰写关于 AI 基础设施、分布式系统以及部署机器学习工作负载背后架构的文章。