把 GPT-4 放进一个虚拟世界会怎么样?比如《我的世界》。
英伟达开发最新方法 Voyager,在游戏中点亮科技树的速度是此前方法的15.3 倍,同时获得的独特物品是此前的 3.3 倍,探索范围是 2.3 倍。
(资料图片)
更关键的是,Voyager 目前完全借助游戏画面推理,一切操作与反馈通过文本和游戏的 Javascript API 进行。被其他 AI 玩家视为噩梦的挖钻石也不在话下。
结合人类反馈,盖个房子也不是问题。更不用说撸树、游泳、摸鱼……这些基础操作。这项成果来自英伟达科学家 Jim Fan(范麟熙)团队。
Voyager 的出现甚至引发了一些网友的恐惧。
当 GPT-4 不再只是一款大语言模型,而拥有了与其他工具交互进行复杂动作的能力,学会推理和创造,真正的 " 人工智能 " 即将降临……
深度广度双双提升团队将 Voyager 的表现与 ReAct、Reflexion 和 AutoGPT 进行了对比。
在地图探索距离上,Voyager 达到了其他 AI 玩家的 2.3 倍。
而在科技树方面,只有 Voyager 成功解锁了钻石工具。对于其他工具,Voyager 解锁的效率也最高。
下表中,括号前的数字表示提示迭代的次数,越少说明效率越高;括号中的数字则表示在 3 次试验中 AI 玩家的成功率。
除了能点亮训练过的科技树,Voyager 在零点测试中表现同样出色。研究人员让这些 AI 玩家制造没有训练过的钻石镐、金剑、岩浆桶和指南针。
结果只有 Voyager 取得了 100% 的成功率,效率也比其他玩家更高。
如果有人工的帮助,给予评价或指导,Voyager 还能构造建筑。之所以需要人工,是因为在研发 Voyager 时 GPT-4 还不具备视觉能力。
如何实现Voyager 主要由三部分组成,即自动任务生成系统、技能库和迭代提示机制。
顾名思义,自动任务生成器负责根据宏观目标生成具体任务及操作游戏的代码并进行优化。Voyager 使用的是一个流行的 Javascript Minecraft 操作库 ( Mineflayer ) 。GPT-4 根据 Voyager 发送的提示生成代码调用这个操作库,并根据 JS 运行情况和游戏反馈对代码中的错误进行修正。
Voyager 发送给 GPT 的提示中主要包含四部分内容:
一是鼓励 GPT 尝试多种方式,同时又加以限制的总方针。
二是目前的状态,包括生命和饥饿值、持有物、位置和周围环境等。
三是之前成功和失败的操作,反映目前的工作进展。
四是额外信息,让 GPT-3.5 根据前述状态提问并调用知识库自答,将过程传给 GPT-4。
说完了任务生成器,再看看 Voyager 的技能库。通过让 GPT-3.5(成本考虑)对生成的代码进行注释,并纳入技能库同时建立索引。
操作时则先用 GPT-3.5 生成操作说明,调用数据库中最匹配的五个。
然后,GPT-4 将决定是调用数据库中的已有技能还是重新生成代码。
这一过程给 GPT 的提示则由五部分组成:一是代码生成的指导,如 " 你生成的代码将被反复使用 "。
二是控制 API 及相关技能。
三是上一步中生成的代码,以及对应的运行状况和反馈。
四是当前的状态,具体内容和代码生成器部分相同。
五是利用思维链方式,让 GPT 生成代码前进行推理。
最后再来看看 Voyager 的迭代提示机制,这一机制用于 Voyager 的自我提升。
这一机制会收集环境反馈、运行错误等信息。
同时结合对任务成功与否的自我检测,对自身进行优化。下图就展示了自我检测的几个实例。
消融测试结果显示,缺少这一环节会导致 Voyager 运行质量的显著下降。论文地址:https://arxiv.org/abs/2305.16291
项目主页:
https://voyager.minedojo.org
GitHub 页面:
https://github.com/MineDojo/Voyager
参考链接:
[ 1 ] https://twitter.com/DrJimFan/status/1662115266933972993
[ 2 ] https://m.weibo.cn/status/4905873598054632