专栏名称: 阿里开发者
阿里巴巴官方技术号,关于阿里的技术创新均将呈现于此
目录
相关文章推荐
白鲸出海  ·  出海只卷价格没有赢家,直达用户内心才是出路 ·  19 小时前  
白鲸出海  ·  苹果之后、Google ... ·  昨天  
白鲸出海  ·  国庆快乐! ·  1 周前  
腾讯  ·  鹅土生土长的城市获奖了! ·  1 周前  
51好读  ›  专栏  ›  阿里开发者

淘天算法工程师玩转《黑神话》,多模态大模型如何成为天命AI

阿里开发者  · 公众号  · 科技公司  · 2024-10-09 08:30

正文

最近,基于大型语言模型 (LLM) 的Agent在各个领域取得了重大进展。最受欢迎的研究领域之一是将这些Agent应用于电子游戏上。

传统的方法往往依赖于游戏的API来通过内存访问游戏内环境和动作数据。然而,这种方法受到API可用性的限制,并且不能反映人类玩游戏的方式。

此外,在动作角色扮演游戏 (ARPG) 中,基于强化学习 (RL) 的方法很普遍,但其泛化能力较差,需要大量训练。

为了解决这些限制,淘天集团未来生活实验室的算法工程师们选择了一款ARPG游戏「黑神话:悟空」作为研究平台,以探索现有多模态大模型(VLM)在仅需要纯视觉输入和复杂动作输出的场景中的能力边界。


技术团队提出了一种新颖的VARP代理框架,其由动作规划系统和人类指导的轨迹系统组成,并且展示了VARP框架在90%的简单和中等难度级别的战斗场景中取得成功的能力。

论文投稿中,arxiv版本抢先看:Can VLMs Play Action Role-Playing Games? Take Black Myth Wukong as a Study Case

WolfStalwart

鸦香客

牯护院

大头

背景介绍:基于VLM的Agent框架

想要实现让多模态大模型(VLM)控制游戏角色,现有研究主要存在的两个挑战:


一是直接视觉输入,由于环境数据不一定能通过游戏API获取,因此学习从视觉输入中进行推理成为一种更直接的策略,特别是在那些需要深入理解游戏界面的3A游戏中。


二是面向动作的任务,在动作游戏或魂系游戏中,基于强化学习的框架仍然占据主导地位,但它们在特定任务上需要大量的训练时间,在迁移到其他任务上时拥有较差的泛化能力。


此外,虽然目前已经有一些使用多模态大模型控制游戏的工作,如Cradle可以直接使用游戏截图作为输入,但Cradle很依赖游戏画面中的文本提示,在弱文本指导的动作游戏中表现不佳。


因此在这次研究中,技术团队首次在3A级动作角色扮演游戏《黑神话:悟空》上进行广泛实验,以致力于构建一个基于VLM的Agent框架,彻底探究现有模型(例如 GPT-4o、Gemini)在纯视觉输入、复杂动作输出场景下的能力边界。其中,纯视觉输入是指模型仅通过理解和分析游戏截图进行决策,而复杂动作输出则需要模型执行复杂而连续的动作,例如战斗场景中的精确操作。


技术团队提出的方案VARP下图所示,其包括动作规划系统和人类引导系统。

我们提出的方法包括动作规划系统和人类引导系统

VARP Agent:两个系统、维护三个库

技术团队提出了一个名为VARP Agent的新框架,它直接以游戏截图为输入。


通过一组多模态大模型(VLMs)的推理,最终生成可以直接操作游戏角色的Python代码。每个动作都是由各种原子命令组合而成的序列。


这些原子命令包括轻攻击、躲避、重攻击、恢复血量等。同时,VARP Agent维护三个库:情境库、动作库和人类引导库。这些库可以被检索和更新,以存储用于自我学习和人类指导的密集知识。


总体而言,VARP代理分为两个系统:动作规划系统和人类引导的轨迹系统,如上图所示。在动作库中,“def new_func_a()”表示由动作规划系统生成的新动作,而“def new_func_h()”表示由人类引导的轨迹系统生成的新动作。“def pre_func()”表示预定义的动作。

动作规划系统

动作规划系统主要用于动作推理和生成。该系统使用可更新的情境库和动作库作为知识检索基础。受到Cradle工作的启发,在输入游戏截图的引导下,系统使用一组VLMs选择或生成适合当前情境的动作。生成的情境和动作被存储或更新在这两个库中。


此外,技术团队提出了可分解的特定任务辅助模块,以将大型任务分解为更小的子任务,然后由多个VLMs分布式处理,以减少模型遗忘和幻觉的发生。


技术团队还引入了一个自我优化动作生成模块,以鼓励VLMs针对某些困难任务生成新的动作,从而更有效、更高质量地完成复杂任务。


动作生成模块。技术团队希望模型能在实时战斗中学习新动作。因此,技术团队引入了一个负责新动作函数生成的组件,它分析当前任务下敌人的特征,如名称、外观、武器等。最重要的是,它需要分析敌人当前和之前的动作。例如,牯护院的攻击动作大致可以分为:“用斧头向前冲”和“连续向下砍三次斧头”等。因此,该组件需要基于当前敌人的动作推断新的躲避和反击动作。例如,对于“用斧头向前冲”,新动作应该是先躲避一次,然后连续攻击;对于“连续向下砍三次斧头”,新动作应该是在躲避三次后再反击。生成的新动作是“躲避”和“轻攻击”原子操作的排列组合。


任务分解模块。在动作游戏中,尤其是在《黑神话:悟空》游戏中,VLM的推理涉及大量的token,包括多个图像和长文本。但由于每个模块的输入token过多,模型可能无法有效关注关键信息,导致遗忘和幻觉等错误。因此,技术团队将原来处理多个任务的决策制定模块分解为多个子模块,包括如敌人子模块用于分析敌人的状态(如其血量、位置等)和动作描述;战斗子模块通过观察游戏屏幕右下角的重攻击状态来决定使用哪种战斗方式,包括轻攻击或重攻击;血量子模块负责不断监控玩家的血条等等。


人类引导系统

人类动作被视为有价值的数据,隐含着丰富的物理和游戏世界知识,这可以引导非常复杂任务的高级动作组合,例如寻路任务和高难度战斗任务。技术团队将标注得到的数据集称为人类引导库。它是由游戏截图和人类操作组成的对集合,每对都有唯一的时间戳。


对于游戏中非常困难的任务,技术团队首先截取当前游戏界面的截图。基于这个游戏截图,技术团队在人类引导库中查询最相似的截图。然后将这个截图以及随后的n帧截图及其相应的操作输入到人类引导系统中。该系统将使用VLM分析和总结输入的图像和操作,最终输出一个新的人类引导动作,然后存储在动作库中供动作规划系统选择和执行。

VARP Agent表现已接近新手人类玩家


75%的任务发生在战斗场景

技术团队定义了10个基本任务和2个挑战任务,其中75%的任务发生在战斗场景中,如图所示。对于战斗任务,如果玩家角色击败了敌人,则认为任务成功;如果玩家角色被敌人击败并杀死,则认为任务失败。


技术团队还评估了12个任务的难度,并将它们分类为简单、中等、困难和非常困难。由于《黑神话:悟空》游戏中缺乏地图和指引,并且存在许多“空气墙”,技术团队将任务12:自主寻路(需要在五分钟内从出发点移动到牯护院的位置)归类为非常困难的任务,因为该任务即使是对人类新手来说也很难。

任务定义

VARP Agent在部分战斗上超人类

实验结果


技术团队提出的VARP和人类新手玩家在任务1到8上的成功率都很高,大多数任务的成功率接近100%。


在任务9中,VARP Agent的平均成功率为40%,这也证实了它的“中等”难度。


任务10中的敌人是玩家在游戏中遇到的第一个boss级怪物。对于人类新手玩家,这项任务的成功率为15.63%,而VARP Agent的平均成功率为20%。


任务11被归类为“非常困难”,因此人类新手和VARP Agent的成功率都很低。具体来说,VARP Agent受到VLMs推理速度的限制,无法实时输入每一帧游戏画面,只能以秒级的时间间隔输入关键帧。在ARPG中,这很容易导致错过敌人攻击的关键信息。因此,任务11对代理来说特别具有挑战性。


任务12,即自主寻路方面,人类可以轻易地在五分钟内找到关卡的最终boss敌人,但对于VLMs来说,这是一个几乎不可能完成的任务。如果没有人类引导,该任务成功率为0%。由于游戏没有为导航任务提供指引或提示,并且包含许多“空气墙”,VLMs缺乏在没有人类帮助的情况下感知3D场景中正确路径的能力。在加入人类引导模型后,寻路成功率可以提升到40%。


总之,VARP Agent在任务1到11的表现已经接近新手人类玩家。然而,在3D场景感知和先验知识方面,VARP Agent仍然远远不如人类。

具体战斗示例分析

示例分析

如图所示,第一行和第二行中的动作是预定义函数。我们的VARP会根据输入的视觉信息自动检测是否使用这些动作。例如,如果可以使用「定身」技能,代理将执行:

``fight_immobilization_spell_skill'' 动作。同样,如果玩家的血量状况较差,它将使用 ``recover_health'' 动作。


第三行中的动作由人为引导的轨迹系统生成。人类的先验知识可以有效地指导代理提高导航任务的效率。


第四行和第五行中的新动作是SOAG模块。在玩家角色与敌人的每次战斗互动后总结并存储在动作库中。这些动作特定于特定的敌人及其攻击模式。例如,在第四行中,当Agent观察到名为 Bullguard 的敌人举起武器时,这表明敌人即将执行“连续三次向下砍斧头”的动作。然后,Agent可以在动作库中找到特定的反击动作。


“fight_new_action_bullguard_raise_weapon”动作在战斗开始时被定义为连续躲避四次,然后攻击五次。随着战斗的进行,此动作被优化为在躲避之间的间隙进行反击,从而大大提高了击败敌人的成功率和效率,如第四行所示。这表明SOAG模块可以不断优化其生成的动作。

在本研究中,算法工程师们探讨了当前多模态大模型(VLMs)在复杂动作角色扮演游戏(ARPGs)中的决策能力,以《黑神话:悟空》作为实验平台。算法工程师们提出的框架VARP,通过利用仅视觉输入进行ARPG环境中的动作规划,引入了一种新颖的游戏互动方法。VARP框架在简单和中等难度的战斗场景中取得了90%的成功率,表明VLMs可以有效应用于传统上由强化学习主导的任务中。算法工程师们提出的基准可以有效评估视觉Agent在《黑神话:悟空》游戏中的表现。此外,算法工程师们提供的人类操作数据集为未来研究提供了宝贵资源,使得在视觉复杂环境中研究类人游戏玩法和动作决策成为可能。研究结果强调了多模态Agent在增强动作导向任务中的泛化能力和性能的潜力。展望未来,从这项研究中获得的见解可以为设计能够应对更广泛挑战的更复杂Agent铺平道路,无论是在ARPGs中还是更广泛的领域。

说明与局限性

感谢您的阅读,由于《黑神话:悟空》游戏的极高人气,希望澄清一些可能争议点和误解。首先,工作仅限于科学研究,而非商业用途。同时,框架具有广泛的适用性,未来将进一步推广到更多类似的动作游戏和其他场景,而不仅限于《黑神话:悟空》游戏。本文探讨了使用多模态大模型在游戏任务中执行动作组合的潜力,特别关注它如何利用动作规划和视觉轨迹模块的优势,在与中等和困难实力的敌人战斗中取得胜利。此外,我们提供了一个人类操作数据集,为多模态检索增强生成、模仿学习和强化学习等技术提供了可能性,未来计划招募更多志愿者以收集更高质量的数据,也欢迎您联系我们,贡献您的想法、甚至游戏数据。