英伟达 AI 智能体接入 GPT-4,完胜 AutoGPT,自主写代码独霸我的世界,无需人类插手

给游戏行业来点 GPT-4 式震撼?这个叫 Voyager 的智能体不仅可以根据游戏的反馈自主训练,而且还能自行写代码推动游戏任务。

继斯坦福的 25 人小镇后,AI 智能体又出爆款新作了。

最近,英伟达 AI 科学家 Jim Fan 等人把 GPT-4 整进了「我的世界」(Minecraft)—— 提出了一个全新的 AI 智能体 Voyager。

Voyager 的厉害之处在于,它不仅性能完胜 AutoGPT,而且还可以在游戏中进行全场景的终身学习!

比起之前的 SOTA,Voyager 获得的物品多出了 3.3 倍,旅行距离变长了 2.3 倍,解锁关键技能树的速度快了 15.3 倍。

对此,网友直接震惊了:我们离通用人工智能 AGI,又近了一步。

所以,未来的游戏,就是由大模型带动 NPC 来玩的吧?

真・数字生命

接入 GPT-4 之后,Voyager 根本不用人类操心,完全就是自学成才。

它不仅掌握了挖掘、建房屋、收集、打猎这些基本的生存技能,还学会了自个进行开放式探索。

它会自己去到不同的城市,路过一片片海洋,一座座金字塔,甚至还会自己搭建传送门。

通过自我驱动,它不断探索着这个神奇的世界,扩充着自己的物品和装备,配备不同等级的盔甲,用盾牌格挡伤害,用栅栏圈养动物……

论文地址:https://arxiv.org/ abs / 2305.16291

项目地址:https://voyager.minedojo.org/

Voyager 的英勇事迹包括但不限于 ——

大战末影人

造基地

挖紫水晶

挖金子

收集仙人掌

打猎

钓鱼

数字生命的潜能究竟有多大?我们只知道,现在 Voyager 仍然在 Minecraft 中一刻不停地探索,不断扩展着自己的疆域。

「训练」无需梯度下降

此前,AI 领域的一大挑战就是,构建具有通用能力的具身智能体,让它们在开放世界中自主探索,自行发展新技能。

以往,学界都是采用强化学习和模仿学习,但这些方法在系统化的探索、可解释性和泛化性等方面,表现往往差强人意。

大语言模型的出现,给构建具身智能体带来了全新的可能性。因为基于 LLM 的智能体可以利用预训练模型中蕴含的世界知识,生成一致的行动计划或可执行策略,这就非常适合应用于游戏和机器人之类的任务。

此前,斯坦福研究者构建出生活着 25 个 AI 智能体的虚拟小镇,震惊了 AI 社区

这种智能体还有一个好处就是,不需要具体化的自然语言处理任务。

然而,这些智能体仍然无法摆脱这样的缺陷 —— 无法终身学习,因而不能在较长时间跨度上逐步获取知识,并且将它们积累下来。

而这项工作最重要的意义就在于,GPT-4 开启了一种新的范式:这个过程中是靠代码执行「训练」,而非靠梯度下降。

Jim Fan 解释道:我们在 BabyAGI / AutoGPT 之前就有了这个想法,花了很多时间找出最好的无梯度架构

「训练模型」是 Voyager 迭代式构建的技能代码库,而非浮点数矩阵。通过这种方法,团队正在将无梯度架构推向极限。

在这种情况下训练出的智能体,已经具备了同人类一样的终身学习能力。

比如,Voyager 如果发现自己处在沙漠而非森林中,就会知道学会收集沙子和仙人掌就比学会收集铁矿更重要。

而且,它不仅能根据目前的技能水平和世界状态明确自己最合适的任务,还能根据反馈不断完善技能,保存在记忆中,留在下次调用。

所以,我们离硅基生命出现还有多远?

刚刚回到 OpenAI 的 Karpathy 对这个工作表示盛赞:这是个用于高级技能的「无梯度架构」。在这里,LLM 就相当于是前额叶皮层,通过代码生成了较低级的 mineflayer API。

Karpathy 回忆起,在 2016 年左右,智能体在 Minecraft 环境中的表现还很让人绝望。当时的 RL 只能从超稀疏的奖励中随机地探索执行长期任务的方式,让人感觉非常 stuck。

而现在,这个障碍已经在很大程度上被解除了 —— 正确的做法是另辟蹊径,首先训练 LLM 从互联网文本上学习世界知识、推理和工具使用(尤其是编写代码),然后直接把问题抛给它们。

最后他感慨道:如果我在 2016 年就读到这种对智能体的「无梯度」方法,我肯定会大吃一惊。

微博大 V「宝玉 xp」也对这个工作给予了高度评价 ——

真的是了不起的尝试,整个代码都是开源的,这种自动生成任务-> 自动写代码执行任务-> 保存一个代码库可以重用的思路,应该是可以很容易应用到其他领域。

Voyager

与其他 AI 研究中常用的游戏不同,Minecraft 并没有强加预定义的终点目标或固定的剧情线,而是提供了一个具有无尽可能性的游乐场。

对于一个有效的终身学习智能体来说,它应该具有与人类玩家类似的能力:

1. 根据其当前的技能水平和世界状态提出适当的任务,例如,如果它发现自己是在沙漠而不是森林中,就会在学习收集铁之前学习收集沙子和仙人掌

2. 基于环境反馈来完善技能,并将掌握的技能记入记忆,以便在类似情况下重复使用(例如,与僵尸战斗与与蜘蛛战斗类似)

3. 持续探索世界,以自我驱动的方式寻找新的任务。

为了让 Voyager 具有上述这些能力,来自英伟达、加州理工学院、得克萨斯大学奥斯汀分校和亚利桑那州立大学的团队提出了 3 个关键组件:

1. 一个迭代提示机制,能结合游戏反馈、执行错误和自我验证来改进程序

2. 一个技能代码库,用来存储和检索复杂行为

3. 一个自动教程,可以最大化智能体的探索

首先,Voyager 会尝试使用一个流行的 Minecraft JavaScript API(Mineflayer)来编写一个实现特定目标的程序。

虽然程序在第一次尝试时就出错了,但是游戏环境反馈和 JavaScript 执行错误(如果有的话)会帮助 GPT-4 改进程序。

左:环境反馈。GPT-4 意识到在制作木棒之前还需要 2 块木板。

右: 执行错误。GPT-4 意识到它应该制作一把木斧,而不是一把「相思木」斧,因为 Minecraft 中并没有「相思木」斧。

通过提供智能体当前的状态和任务,GPT-4 会告诉程序是否完成了任务。

此外,如果任务失败了,GPT-4 还会提出批评,建议如何完成任务。

自我验证

其次,Voyager 通过在向量数据库中存储成功的程序,逐步建立一个技能库。每个程序可以通过其文档字符串的嵌入来检索。

复杂的技能是通过组合简单的技能来合成的,这会使 Voyager 的能力随着时间的推移迅速增长,并缓解灾难性遗忘。

上:添加技能。每个技能都由其描述的嵌入索引,可以在将来的类似情况中检索。

下:检索技能。当面对自动课程提出的新任务时,会进行查询并识别前 5 个相关技能。

第三,自动课程会根据智能体当前的技能水平和世界状态,提出合适的探索任务。

例如,如果它发现自己在沙漠而非森林中,就学习采集沙子和仙人掌,而不是铁。

具体来说,课程是由 GPT-4 基于「发现尽可能多样化的东西」这个目标生成的。

自动课程

实验

接下来,让我们看一些实验!

团队将 Voyager 与其他基于 LLM 的智能体技术进行了系统性的比较,比如 ReAct、Reflexion,以及在 Minecraft 中广受欢迎的 AutoGPT。

在 160 次提示迭代中,Voyager 发现了 63 个独特的物品,比之前的 SOTA 多出 3.3 倍。

寻求新奇的自动课程自然会驱使 Voyager 进行广泛的旅行。即使没有明确的指示,Voyager 也会遍历更长的距离(2.3 倍),访问更多的地形。

相比之下,之前的方法就显得非常「懒散」了,经常会在一小片区域里兜圈子。

地图探索率

那么,经过终身学习后的「训练模型」—— 技能库,表现如何呢?

团队清空了物品 / 护甲,生成了一个新的世界,并用从未见过的任务对智能体进行了测试。

可以看到,Voyager 解决任务的速度明显比其他方法更快。

值得注意的是,从终身学习中构建的技能库不仅提高了 Voyager 的性能,也提升了 AutoGPT 的性能。

这表明,技能库作为一种通用工具,可以有效地作为一个即插即用的方法来提高性能。

零样本泛化

上图中的数字是三次试验中提示迭代的平均值。迭代次数越少,方法越有效。可以看到,Voyager 解决了所有的任务,而 AutoGPT 经过 50 次提示迭代都无法解决。

此外,与其他方法相比,Voyager 在解锁木工具上快了 15.3 倍,石工具快 8.5 倍,铁工具快 6.4 倍。而且拥有技能库的 Voyager 是唯一解锁钻石工具的。

技能树掌握情况(木工具 → 石工具 → 铁工具 → 钻石工具)

目前,Voyager 只支持文本,但在未来可以通过视觉感知进行增强。

在团队进行的一个初步研究中,人类可以像一个图像标注模型一样,向智能体提供反馈。

从而让 Voyager 能够构建复杂的 3D 结构,比如地狱门和房子。

结果表明,Voyager 的性能优于所有替代方案。此外,GPT-4 在代码生成方面也明显优于 GPT-3.5。

消融实验

结论

Voyager 是第一个由 LLM 驱动、可以终身学习的具身智能体。它可以利用 GPT-4 不停地探索世界,开发越来越复杂的技能,并始终能在没有人工干预的情况下进行新的发现。

在发现新物品、解锁 Minecraft 技术树、穿越多样化地形,以及将其学习到的技能库应用于新生成世界中的未知任务方面,Voyager 表现出了优越的性能。

对于通用智能体的开发来说,无需调整模型参数的 Voyager 是可以作为一个起点的。

参考资料:

  • https://voyager.minedojo.org/

本文来自微信公众号:新智元 (ID:AI_era)

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

文章价值:
人打分
有价值还可以无价值
置顶评论
    热门评论
      文章发布时间太久,仅显示热门评论
      全部评论
      请登录后查看评论
        取消发送
        软媒旗下人气应用

        如点击保存海报无效,请长按图片进行保存分享