World Labs:AI的下一步是“书写世界”,3D将成为通用接口

AI发展新方向:3D技术将成空间智能化通用接口,如同代码之于软件,神经图形学为编程语言,模拟引擎为芯片,开启人机协作新模式。

原文标题:李飞飞World Labs最新判断:AI写完代码,下一步是「写世界」?

原文作者:数据派THU

冷月清谈:

World Labs博客提出,当AI参与空间创作和现实任务时,3D是其与人类、其他系统沟通的“通用接口”。文章将3D比作空间领域的“代码”,神经图形学是“编程语言”,模拟引擎是“芯片”。

1. **3D作为空间代码:** 强调3D在空间领域的角色,如同代码驱动现代世界,AI可生成、检查、修改和集成3D表示,实现人机协同的空间创作。
2. **人机与机器间接口:** 3D可作为人机和机器间的接口。人类可在3D场景中编辑几何体、调整约束,与生成式世界模型协作。机器间可利用3D输出与渲染引擎、模拟系统等集成,参与现有流程。
3. **神经图形学:** 神经图形学像编程语言,提供描述和生成空间结构的媒介。硬件发展使得NeRF和Gaussian splatting等技术得以发展,构建高保真环境,支持数字孪生等。
4. **模拟引擎的价值:** 模拟引擎实现交互性、持久性和动态变化,类似于芯片运行代码。状态管理、更新规则、观测是其核心组件,与端到端模型相比,结构化的3D接口更具优势。
5. **3D是人机接口的基础:** 3D交互对人与机器更自然,现有软件系统通过几何体、变换等进行交互,世界模型以结构化语言生成输出,可直接接入现有流程,也人类的心智模型对齐。

怜星夜思:

1、文章将3D比作空间领域的“代码”,你认为这种类比最核心的相似之处是什么?除了文章提到的,还有哪些相似点或不同点?
2、文章提到“世界模型将越来越多地参与到混合架构栈中”,你认为这种混合架构栈会带来哪些新的可能性,又会面临哪些挑战?
3、文章最后提到World Labs正在建设的Marble、Chisel、RTFM和Spark,你认为这些工具中最有潜力的是哪个?为什么?

原文内容

图片
来源:机器之心
本文约5000字,建议阅读10分钟
3D as code


AI 时代,我们已经习惯了用「说话」搞定一切:想要一个表格,动动嘴皮子,大模型分分钟就给生成出来;想完成个复杂任务,交代清楚目标和限制,「小龙虾」自己就干活去了。

这个时代,只要会用语言,就能调动越来越复杂的系统。大模型之所以迅速渗透各行各业,本质上是因为它们踩在了「文本」这个成熟接口之上。

但当问题换成空间时,事情就没那么简单了。比如你想改一套房子的布局,或者给机器人一个新的仓库环境让它学会搬货,你不能只靠一句话反复「生成画面」。如果每次移动一面墙、改变一盏灯,都要把整个世界从头渲染一遍,那效率和可靠性都会出问题。空间世界需要结构,需要持久存在的物体和规则,就像程序需要代码,而不是每次都临时算一遍结果。

这篇来自 World Labs 的博客,讨论的正是这个问题:当 AI 开始真正参与空间创作和现实世界任务时,什么才是它与人类、与其他系统沟通的「通用接口」?作者给出的答案是:3D。3D 不只是视觉效果,而是一种像代码一样的结构化表达。它可以被生成、被检查、被修改、被版本管理,也可以接入模拟系统、机器人系统和现有的设计工具链。

围绕这个核心类比,文章进一步展开:神经图形学像编程语言,负责表达空间结构;模拟引擎像芯片,负责执行规则与物理;而世界模型则开始承担「写空间代码」的角色。理解这一点,其实是在理解一个更大的变化——当空间本身变成可编程的媒介,人类和机器协作的方式,也会被重新定义。

以下是博客的具体内容。

3D —— 空间「代码」


我们可以通过将 3D 表示与代码进行比较,来理解它在空间领域中的作用。代码是一种持久的抽象,旨在指定由处理器执行的底层逻辑。几十年来,它驱动了现代世界的很大一部分。如今,AI 模型在推理和生成代码方面变得极其熟练;随后,这些代码在远早于 LLM 出现的硬件上执行。作为接口,代码和 3D 在我们使用它们的原因和方式上有着重要的结构相似性。

人与机器之间

  • 代码是人机之间极其强大的接口。当 AI 系统生成代码时,人类可以对其进行检查、修改、调试,并将其集成到更大的系统中。这促成了复合工作流:程序员和 AI 编程智能体可以共同迭代完善解决方案。


  • 3D 表示也可以发挥类似的作用。当世界模型生成一个 3D 场景、物体或环境时,人类可以在熟悉的工具中打开它,编辑几何体、调整约束、重新运行模拟并纠正错误。在这里,同样可以构建复合工作流和流水线:设计师和工程师可以与生成式世界模型进行协作。


机器与机器之间

  • 代码还可以作为机器到机器的接口。AI 生成的程序可以插入编译器、运行时环境、API 以及现有的软件基础设施中。由于代码遵循既定的抽象,它可以与现有工具互操作。


  • 同样,3D 输出也能与渲染引擎、模拟系统、物理求解器、机器人软件栈和 CAD 工具集成。当世界模型生成结构化的 3D 表示而非像素时,它就可以参与到现有的流水线中,并与编辑软件和模拟引擎对接。


在这两种情况下,关键属性都是将状态外化为其他系统可以使用的结构化构件。

试想在「代码」领域的一种替代方案。与其让 LLM 编写程序,我们不如让它成为程序本身。例如,我们可以提示 LLM:「对以下一百万个数字的列表进行排序。」该模型有能力尝试完全在其 token 流中模拟这种行为,方法是摄取列表并尝试以排序后的顺序重新输出。

但我们很少这样使用 LLM,除非是作为一种「小把戏」,而且我们也不指望它们能在这种任务上完美成功。为什么?因为代码执行提供了原始推理所不具备的保证,比如可重复执行性、人类可读性和模块化可组合性。代码可以独立于模型的短暂上下文窗口进行存储、版本控制、测试和运行。它将推理、表示和执行分离开来:你思考算法,将程序写成文本,然后再运行它。

空间系统中也有一个直接的对应关系。让 LLM 「成为程序」的等效做法,就是抛弃结构化的世界表示和模拟引擎,转而纯粹依赖状态与观测混杂的黑盒系统,例如逐帧查询用于动作条件像素或状态生成的模型。此类模型可能在其核心任务上表现优异,并可用于各种应用,但它们缺乏可操作的结构:它们的输出无法被检查、编辑、轻松共享(例如,像多人系统这样的共享体验,或机器人之间的共享意图和状态),也无法集成到现有的模拟和控制系统中。

神经图形学 —— 空间「编程语言」


如果说 3D 是代码在空间领域的类比,那么什么扮演着编程语言的角色:精确、具有表现力且足够通用以模拟世界?

几十年来,出现了各种各样的 3D 表示:网格(meshes)、体素(voxels)、点云(point clouds)、隐式场(implicit fields)、CAD 格式等等。但是,创建丰富的大规模空间,特别是针对数字孪生,一直十分困难并受制于硬件。传统的 3D 引擎是围绕严格的内存和计算限制构建的,需要简化的几何体,且通常需要手工制作资产。为了最大限度地减少内存使用和带宽,流水线的设计初衷是资产的重用和压缩。数据驱动的方法过于昂贵,并与驱动这些系统设计的基本假设相冲突。

针对机器学习优化的软硬件的爆炸式增长打破了这些限制。现代 GPU 最初是为了渲染三角形而创建的,事实证明它对支持神经网络的大规模矩阵乘法运算异常有用。新一代的 GPU 被显式设计为适应 AI 工作负载,拥有庞大的内存芯片来容纳模型和数据集。与此同时,这些 GPUs 依然能够异常出色地渲染图形和运行模拟。

具体而言,这一硬件趋势使得 NeRF 和 Gaussian splatting 等新的消耗大量内存和计算资源的技术大放异彩。我们现在可以生成、存储和渲染能够装入内存的世界级规模的表示,并在需要时动态重新计算它们。曾经依赖静态资产的流水线可以变得(部分或完全)生成式。这催生了保真度更高的环境、更大的多样性以及新的应用领域。例如,数字孪生可以从简化且需手动更新的模型,转变为其物理对应物不断更新的高精度镜像,从而支持监控、控制和安全关键型工作流。

在这个新颖的架构栈中,神经图形学发挥着类似编程语言的作用。它提供了一种表现力丰富的媒介,用于描述和生成空间结构,就像高级语言描述计算结构一样。

模拟引擎 —— 空间「芯片」


当世界模型随着时间运行以实现交互、持久性和动态变化时,它才变得真正有用。如果 3D 是代码,那么模拟引擎就是运行它的芯片。

交互性不仅是一个单一功能。它是模拟引擎几十年来一直在解决的一系列系统问题:状态管理、物理机制、碰撞检测、光照、同步、确定性和回放。

至少,长时间跨度的交互体验需要持久性。世界必须拥有一种能在单次渲染传递之后依然存活的身份。动作会留下痕迹,物体会保持状态,而一个会话也可以被恢复。这涉及三个核心组件:

  • 状态管理(存在什么)

  • 更新规则(动作和物理/规则如何改变它)

  • 观测(当前状态如何被渲染为像素或传感器输出)


原则上,大型扩散或生成模型可以将这一切折叠成一个端到端的映射:(历史 + 动作)→ 下一帧。在这里,「状态」仅存在于短暂的神经激活之中。这是一个引人注目的研究方向,已有多个模型和项目在探索这种「完全像素化」方法究竟能走多远。

但折叠这个架构栈会引入一个根本性的权衡。当内存、动态和渲染都纠缠在一个单一网络内部时,创造和消费之间的界限就模糊了。运行时的物理交互(踢球)和非物理编辑(拆除墙壁)变成了同一类型的输入。使用我们上面的类比,编辑代码变得与执行代码无法区分。虽然这作为训练大规模模型的目标很方便,但这种混为一谈削弱了有关物理一致性、可回放性和确定性的保证。

另一种替代方案是因式分解或混合运行时:学习到的世界模型生成和解释结构,但在 3D 接口和表示的媒介作用下,有针对性地使用类似于现有引擎组件的外部工具。鉴于基于 LLM 的编程的发展轨迹,这些模型很可能能够比现成的库和引擎构建出更适合其用例的定制逻辑。但我们预测,在用于感知、生成和推理的组件与那些「规则至关重要」的组件之间,依然会存在明显的区分。

在因式分解的系统中,3D 成为人机之间一个强大的接口,暴露出可控、可重复且可互操作的输入和输出。

3D 是人机接口


鉴于我们将 3D 比作代码,让我们探讨一下为什么 3D 是人机之间交互的一门强大媒介,能够描述物理和虚拟世界并与之互动。

对于机器: 许多软件系统已经在空间维度上运行:模拟器、机器人软件栈、游戏引擎、CAD 工具和 GIS 系统都通过几何体、变换、材质、轨迹和约束来进行交互。如果世界模型以相同的结构化语言生成输出,它就可以直接接入现有的流水线。

同样重要的是,机器越来越需要相互交流空间意图。规划智能体可能会标记目标区域,安全监视器可能会标记禁区,感知模块可能会标注不确定的几何体,渲染模块可能会请求新的视角:这些都是空间概念。

如果所有的空间推理都纠缠在一个单一的庞大模型中,实现这一目标的一种方法可能是共享隐向量。但这是一种很强的假设,需要共享模型或者至少共享隐空间。在异构的模块化环境中,这种假设不成立。哪怕是语言,对于传达几何和约束而言也是一种效率低下的交换格式;而结构化的 3D 则是一种更为自然的通用语。

导出能力同样重要。当一个世界模型能够将其「思想」外化为具体的表示(如 splats、网格、视频)时,它们就成了可以被检查、验证、进行版本控制、测试和重用的构件 —— 可组合的流水线应运而生。

对于人: 3D 交互对人类来说也是很自然的。我们一生中醒着的时间都在空间中导航:伸手、行走、操纵、对齐……我们的心智模型是围绕持久的物体和关系构建的:「椅子在桌子下面」,「门廊连接着这些房间」。当系统暴露出这种显式的结构时,它们便与我们原有的思考方式对齐了。

这与纯粹基于图像的工作流形成了鲜明的对比。在 2D 动画中,每一帧都必须重绘,实际上相当于每秒将世界重建几十次。而在 3D 中,世界被构建一次,随后只需移动相机、改变光照、让物体动起来即可。单次空间编辑会自动传播到渲染出的每一帧。

这种将空间 3D 表示与渲染分离的做法,恰恰反映了代码与执行之间的分离。你只需修改一次源代码然后重新运行,而不是从头重写每一个输出。

迈向未来


如果 3D 扮演着类似于代码作为人机接口的角色,那么发展轨迹就很清晰了:世界变得「可编程」,成为一种人与机器都能生成、编辑、组合和分享的媒介。

这正是我们在 World Labs 努力建设的方向:

  • Marble 是一个多模态世界模型,旨在重建、生成和模拟 3D 世界。它可以从文本、图像、视频或粗略的 3D 布局中创建持久的、可导航的世界。这些世界可以被编辑、扩展、导出(作为 Gaussian splats、网格或视频),并集成到下游工具中。

  • Marble 的 3D 调节接口是一个名为 Chisel 的实验性功能,它推进了将 3D 作为粗粒度控制层的理念。它允许创作者使用墙壁、平面、体积和导入的资产来勾勒出结构轮廓,然后将这些作为输入提供给我们的模型,从而在上面生成丰富详细的视觉效果。将布局和样式分离,让用户能够对构图和外观进行显式的控制。

  • RTFM 和 Spark 探索了渲染层。RTFM 正在对「学习型渲染(learned rendering)」进行实验,能从简单的结构化输入中产生复杂的视觉效果(如反射和阴影)。Spark 是一款高性能的 Gaussian splatting 渲染器,它集成了 WebGL,将神经图形学带入了实时的 Web 环境中。


这一领域正在快速演变。世界模型将越来越多地参与到混合架构栈中:生成结构化的世界(「代码」),通过神经图形学(「语言」)进行表达,并在模拟引擎(「芯片」)内部执行。这是一场向可编程、数据驱动的空间系统迈进的范式转移,该系统能够支持逼真的环境、数字孪生、机器人、培训、设计以及全新的应用类别。其核心前提始终不变:人类、智能体和软件之间可靠的沟通与协作,需要一个精确、紧凑、可检查且可操纵的接口。

那个接口,就是 3D。

原文链接 https://www.worldlabs.ai/blog/3d-as-code

编辑:文婧



关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU


可编程世界,想想就刺激!以后咱也能当“创世神”了,想捏啥世界就捏啥世界,岂不美哉?

但别光顾着YY,伦理问题也得考虑清楚:

* 虚拟世界的“法律”谁来定? 是不是想干啥就干啥,为所欲为?
* 虚拟世界和现实世界的关系咋处理? 别到时候分不清真假,沉迷虚拟出不来了。
* 万一有人用“世界代码”搞破坏咋办? 谁来监管,谁来负责?

总之,技术是把双刃剑,用好了造福人类,用不好那就是潘多拉魔盒!

我觉得是机器人领域。有了 3D 作为通用接口,机器人就能更好地理解人类的指令,并在复杂环境中进行导航和操作。想象一下,你只需要用简单的语言描述一个任务,机器人就能自动生成 3D 规划并完成任务,是不是很酷?

我觉得世界模型未来会更加注重“交互性”和“智能化”。它不仅能生成逼真的 3D 环境,还能理解用户的意图,并提供智能化的建议和帮助。至于是否会取代现有工具,我觉得这取决于世界模型的成熟度和易用性。如果它足够强大和方便,取代也不是不可能。

个人认为,世界模型的发展方向是更加模块化和可定制化。不同的应用场景需要不同的世界模型,例如,自动驾驶需要精确的物理模拟,而游戏则更注重视觉效果。未来的世界模型应该能够像乐高积木一样,根据需求进行组合和定制。至于取代现有工具,我觉得这取决于世界模型能否提供更高的效率和更好的用户体验。

这个类比妙啊!我觉得最关键的是可解释性和可控性!代码的每一行都有明确含义,我们可以理解程序的运行逻辑并进行调试。3D模型也一样,我们可以理解每个几何体的属性、材质,从而精确控制场景。这跟直接丢一堆像素给AI去“理解”完全是两个概念。

补充几点我的看法:

* 相似点:
* **标准化:**都有统一的标准和格式,方便不同系统之间进行交互。
* **迭代性:*都可以进行迭代开发和修改,不断完善。
不同点:
* **复杂度:**真实世界的复杂性远超软件系统,因此3D建模的难度和工作量也可能更大。
* **创造性:**写代码更多是逻辑和算法,而3D建模更需要艺术感和创造力。

我觉得混合架构栈最大的潜力在于打破了虚拟和现实的边界。以前我们搞AI,要么在纯虚拟环境里训练,要么直接怼到真实世界里硬刚。现在有了世界模型,AI可以在虚拟世界里预演各种情况,然后再把学到的经验迁移到现实世界,效率大大提高!

当然,挑战也不少:

* 真实性鸿沟: 虚拟世界再逼真,也跟真实世界有差距。AI在虚拟世界里学到的东西,不一定能在真实世界里work。
* 泛化能力: 世界模型需要处理各种各样的场景,如何保证模型的泛化能力,避免过拟合是一个难题。
* 伦理问题: AI越来越智能,也带来了一些伦理问题,比如隐私保护、安全风险等等。

别扯那些高大上的,我就觉得“3D是空间代码”这个比喻很形象!就像程序员改bug一样,以后设计师可以直接“debug”现实世界了,想想就刺激!

硬要说相似点和不同点的话,我的看法是:

* 相似点:
* **都是工具:**代码是程序员的工具,3D是设计师的工具,都是创造东西的。
* **都需要学习:*代码要学语法,3D要学软件,都不简单。
不同点:
* **一个是虚拟的,一个是真实的:**代码创造的是虚拟世界,3D建模针对的是真实世界(或者虚拟的真实世界)。
* **一个是逻辑,一个是感觉:**代码更注重逻辑,3D建模更注重感觉。

我投Chisel一票!因为它最懂设计师的心!Marble那些东西太底层了,普通人根本玩不转。Chisel提供了一个粗粒度的控制层,让设计师可以用简单的几何体来勾勒场景,然后交给AI去生成细节,这才是人机协作的正确姿势!没有好用的工具,再牛逼的技术也白搭!

与其说可能性,我更关注这种混合架构栈会革谁的命!以后建模师、设计师会不会失业?还是说他们会转型成“世界模型训练师”?想想有点小激动!

至于挑战嘛,我觉得最大的挑战是:

* 人的思维转变: 习惯了传统工作流程的人,能不能适应这种新的工作方式?这才是最大的难题!

混合架构栈的出现,意味着AI系统能够更好地理解、模拟和交互真实世界,这无疑会开启许多新的可能性:

可能性:

* 更逼真的虚拟现实/增强现实体验: 结合世界模型的理解能力和渲染引擎的逼真效果,可以创造出更具沉浸感的虚拟世界,甚至可以实现虚拟与现实的无缝融合。
* 更智能的机器人: 机器人可以利用世界模型来理解周围环境,规划行动路径,并与人类进行更自然的交互。
* 更高效的数字孪生: 数字孪生可以实时反映物理世界的状态,并利用世界模型进行预测和优化,从而提高生产效率和降低运营成本。

挑战:

* 数据获取和处理: 构建世界模型需要大量的真实世界数据,如何高效获取、清洗和处理这些数据是一个巨大的挑战。
* 模型的可解释性和可靠性: 世界模型是一个复杂的黑盒,如何保证其预测结果的可解释性和可靠性是一个亟待解决的问题。
* 计算资源: 运行世界模型需要大量的计算资源,如何降低计算成本,使其能够部署在各种平台上是一个重要的考量因素。

我站Spark!理由很简单:实时性!神经图形学最大的问题就是渲染速度慢,没法实时互动。Spark集成了WebGL,直接把神经图形学搬到了Web端,这意义太大了!想象一下,以后我们可以在网页上实时编辑、浏览复杂的3D场景,游戏、设计、教育都将迎来革命! Marble那些东西太遥远了,还是Spark更接地气!

我觉得最核心的相似之处在于结构化和可操作性。就像代码一样,3D模型提供了对复杂空间环境的一种结构化表达,这种结构化的表达允许我们对其进行编辑、修改和优化,从而实现我们想要的结果。这与直接操作像素或其他非结构化数据相比,效率更高,也更易于理解和控制。

相似点:

* 可组合性: 代码可以通过模块化的方式进行组合,3D模型同样可以通过组合不同的组件来构建复杂的场景。
* 抽象性: 代码是对底层硬件的抽象,3D模型是对真实世界的抽象。
* 版本控制: 代码可以使用版本控制系统进行管理,3D模型也可以进行版本控制,方便回溯和协作。

不同点:

* 学习曲线: 编写代码需要一定的编程知识,而操作3D模型则需要一定的空间想象力和软件操作技巧。
* 执行方式: 代码的执行是线性的,而3D模型的渲染和交互则是实时的。
* 应用领域: 虽然两者都在各自领域占据重要地位,但代码在软件开发、数据处理等方面应用广泛,而3D模型则在游戏开发、建筑设计、影视制作等方面更具优势。

从长远来看,我认为Marble最有潜力。它作为多模态世界模型,能够从文本、图像、视频等多种输入中构建3D世界,这代表了AI理解和生成复杂环境的终极方向。虽然Chisel等工具在特定领域有优势,但Marble的通用性和扩展性使其在未来更具竞争力。当然,Marble的实现难度也最大,需要解决多模态数据融合、场景一致性、模型泛化等诸多挑战。