新智元报道
编辑:定慧 好困
【新智元导读】 刚刚,全球首个AI多人世界模型开源了!只需一台PC外加1500美元,就能让两个AI智能体在同一个世界中感知、互动、协作。这不仅是AI造梦的一小步,更是AGI创造世界模型的一大步。
如果AI能生成一个多人世界,还能一起飙车会怎样?
今天,来自以色列的Enigma Labs决定创造这个历史——
他们用第一性原理把「世界模型」拓宽到了多个玩家,并开源了世界首个AI生成多人游戏模型Multiverse!
这不是一个简单的游戏引擎,而是一个可以模拟两个AI同时在一个世界中做出「合理动作」和视觉反应的大脑。
更值得一提的是,整套训练流程只需不到1500美元,而且在你自己的电脑上就能跑!
目前,项目代码、数据、权重、架构,以及研究成果,已经全面开源。
Hugging Face:https://huggingface.co/Enigma-AI
GitHub:https://github.com/EnigmaLabsAI/multiverse
技术博客:https://enigma-labs.io/
传统的世界模型(World Model)确实很聪明。它能看着游戏画面,预测下一个画面该长什么样,甚至学会了怎么在「内心」模拟物理、角色、环境等等。比如DeepMind做的Dreamer系列,就能靠想象完成游戏过关。
但问题来了——现实不是只有一个人玩的游戏。
想象一下,你在玩赛车游戏,对手突然一个漂移从你身边切过去,这时你和对手所看到的场景必须是「同一事件的两个角度」,不能各玩各的,不然要么撞车的只有你,而他却穿模消失——这种「视角错乱」在AI世界里,其实是非常难处理的。
如何让两个AI,在同一个世界里「看到同一件事」,并遵循相同物理规律?
这就是Enigma Labs的Multiverse要解决的核心难题。
Multiverse架构详解
Multiverse多人世界模型的架构
为了帮助理解Multiverse多人世界模型的架构,首先回顾一下单人世界模型中常用的架构:
模型接收一系列视频帧和用户的操作信息(如按键),并据此预测在当前操作下的下一帧。
它通过三个主要的组件来实现这个「预测」:
动作嵌入模块:将动作转换为嵌入向量
去噪网络:一种基于之前的帧和动作嵌入生成新的帧的扩散模型
上采样器(可选):另一种扩散模型,它接收由世界模型生成的低分辨率帧,并增加输出的细节和分辨率。
多人游戏架构
为了构建一个多人世界模型,Multiverse保留了核心组件,但彻底调整了结构,重新连接了输入和输出,并从头开始重新设计了训练流程,以实现真正的合作游戏体验:
动作嵌入模块:接收两个玩家的动作,并输出一个代表他们共同动作的嵌入向量
去噪网络:基于之前的帧和两个玩家的动作嵌入,同时生成两个玩家的帧作为一个整体。
上采样器:与单人游戏版本非常相似,不同的是,这里的上采样器接收两个帧(每个玩家一个),并同时计算上采样版本。
要创建多人游戏体验,模型需要接收两个玩家的前几帧画面和动作,并为每个玩家都要输出预测帧。
难点在于:这两个输出不仅需要各自看起来不错,还需要彼此内部一致,简单地说就是两个玩家的感受是一致的,是发生在同一个世界中的。
这带来了真正的挑战,因为多人游戏依赖于共享的世界状态。例如,如果一辆车漂移到另一辆车的前面,或者发生碰撞,两个玩家都应该从各自的角度看到完全相同的事件。
Multivers提出了一种变通的解决方案:将两个玩家的视角拼接成一个统一的图像,将他们的输入混合成一个联合动作向量,并将整个场景视为一个统一的整体进行处理。
由此产生了一个关键问题:将两个玩家「看到的面面」合并成模型可以处理的单一输入的最佳方法是什么?
1. 很显然,最直接的方法是将它们垂直堆叠起来——就像经典的分屏游戏那样(比如最流行的双人成行游戏是横向堆叠)。
2. 另一个更有趣的选择是沿着通道轴堆叠它们,将两帧视为一个具有双倍颜色通道的图像。(下图右边)
Multiverse选择了第二种方案,即沿着通道轴堆叠帧。
因为Multiverse选择的扩散模型是一个U-Net结构,主要由卷积和反卷积层构成,前几层只处理相邻的像素。
如果将两个帧垂直堆叠,模型要到中间层才能将它们一起处理(CNN的特点就是无法在一开始将整张图片的像素一下子关联起来)。这会降低模型生成帧间一致性的能力。
另一方面,当沿着通道轴堆叠帧时,两个玩家的视角在网络的每一层都会被同时处理!
上下文扩展:建模车辆运动学与两车相对运动
为了准确预测下一帧,模型需要接收玩家的操控指令(如转向输入),以及足够多的帧数,来计算两辆车相对于道路和彼此的速度。
研究发现8帧(30fps)就可以让模型学习车辆的运动学,如加速、刹车和转向。
但两辆车的相对运动比对道路的运动要慢得多。例如,车辆以约100公里/小时的速度行驶,而超车时的相对速度约为5公里/小时。
为了捕捉这种相对运动,需要将上下文的长度扩展近三倍。但这会导致模型运行速度过慢,无法满足实时游戏的需求,同时还会增加内存占用,并大幅降低训练速度。
为了在维持上下文长度的同时,获取更长的时间跨度信息,Multiverse对之前的帧和操作进行了稀疏采样。
具体来说,提供最近的4帧,然后从之前的帧中,每隔4帧取1帧,一共取4帧。上下文中最早的帧是20帧之前,也就是0.666秒前的数据,这足以捕捉车辆的相对运动。
此外,这种方法还能帮助模型更好地捕捉车辆相对于道路的速度和加速度,从而进一步优化驾驶体验。
多人游戏训练
为了让模型学会驾驶技术和多人游戏中的互动,模型需要在这些互动场景中进行训练。
在世界模型中,行走、驾驶和其他常见任务通常只需要较短的预测范围,例如预测未来0.25秒的情况。
多人游戏中的互动则需要更长的时间跨度。在四分之一秒内,玩家之间的相对运动几乎可以忽略不计。
因此,为了训练多人游戏世界模型,需要设置更长的预测范围。Multiverse将训练模型进行自回归预测(以30fps/s)最多可预测到未来15秒。
为了使模型能够进行如此长时间的预测,Multiverse采用了课程学习,并在训练过程中将预测时间从0.25秒增加到15秒。
这使得在初始训练阶段能够高效地训练模型,此时模型正在学习诸如汽车和赛道几何形状等低级特征。一旦模型学会了生成连贯的帧并建模车辆运动学,就会对其进行玩家行为等高级概念的训练。
在增加预测范围后,模型的「物理一致性」和帧间一致性显著提高。
「长画面预测」训练
训练一个模型来预测未来超过100帧的画面会面临显存挑战。
因为在更大batch下,将这些帧加载到GPU内存中进行自回归预测变得不可行。为了解决这个内存限制,采用分页的方式进行自回归预测。
在训练开始时,加载第一个batch的数据,并对其进行预测。
然后加载下一页的数据,并丢弃超出上下文窗口范围的帧。
GT赛车数据集
Enigma Labs选择在《Gran Turismo 4》(GT赛车4)上训练模型,「GT赛车4」中提供了来自80个制造商的700种车型,从最早的1886年的戴姆勒四轮汽车,到Nike未来概念车。
游戏设置和修改
测试用例很简单:在Tsukuba Circuit赛道上进行第三人称视角的1v1比赛。Tsukuba Circuit是一条短而简单的赛道,非常适合训练。
难点在于:「GT赛车4」不允许以全屏1v1模式在Tsukuba Circuit赛道上进行游戏。游戏只提供1V5或分屏对战。为了实现想要的设置,Enigma Labs对游戏进行了逆向工程和修改,使其能够在真正的1v1模式下启动Tsukuba Circuit赛道。
数据收集
为了从两名玩家那里收集「第三人称」视频数据,Enigma Labs利用了游戏内的回放系统——将每场比赛重放两次,并从每名玩家的角度进行录制。
然后将两个录像同步,使其与原始双人比赛对齐,并将它们合并成一个视频,展示两名玩家同时进行游戏。
好了画面有了,那么是如何为数据集捕获玩家的按键输入呢?特别是当其中一名玩家是游戏内的自动NPC而不是人类时?
幸运的是,游戏在屏幕上显示了足够的HUD元素——例如油门、刹车和转向指示器——可以准确地重建达到每个状态所需的控制输入。
使用计算机视觉,逐帧提取这些条形图并解码它们背后的控制输入。
这样就能够直接从视频中重建完整的按键操作,从而无需任何直接的输入日志记录即可构建整个数据集。
自动数据生成
乍一看,这似乎意味着我们必须坐下来手动玩游戏好几个小时,并为每场比赛录制两个回放——听着很痛苦,对吧?
但还有一种更具可扩展性的方法:B-Spec模式。在这种「GT赛车」模式中,玩家可以使用手柄或方向盘来指示游戏内的AI驾驶员代表他们参加比赛。
由于B-Spec的控制方式有限且简单,只需要编写了一个脚本,向B-Spec发送随机指令,从而自动触发比赛。然后,同一个脚本从两个角度记录回放镜头,以捕获这些AI驱动比赛的第三人称视频。
最后,还尝试使用了OpenPilot的Supercombo模型来控制车辆,本质上将其变成游戏中的一个自动驾驶AI智能体。
不过最终还是坚持使用B-Spec进行数据生成。
多人世界模型不仅仅是游戏领域的一项突破,更是AI理解「同一个世界」的关键一步。
这些模型让智能体能够在同一环境中学习、反应和协同适应,从而开启了无限可能。
说到底,这不只是个让AI玩游戏的工程项目,它更像是一次尝试:
让AI理解「你看到的世界,和我看到的是同一个」。
这对于下一代AGI(通用智能)来说,是关键的一步。无论是多智能体系统、AI合作助手,还是未来的模拟训练平台,多人世界模型都是一块至关重要的拼图。
这个项目受到了很多大佬的「点名表扬」,毕竟多人游戏是AI生成世界中缺失的一环。而且这个项目的训练成本只有1500美元。
所以,别看Multiverse现在只是「两辆车」在跑,它很可能就是未来AI生成世界的第一个早期版本,更可能是一扇预告未来虚拟宇宙的窗口。
参考资料:
https://enigma-labs.io/blog