DC娱乐网

特斯拉AI负责人首次揭秘:FSD自动驾驶实现方法论

编者按:北京时间10月25日,特斯拉AI负责人阿肖克·埃卢斯瓦米(Ashok Elluswamy)在X上发布长文,分享了

编者按:北京时间10月25日,特斯拉AI负责人阿肖克·埃卢斯瓦米(Ashok Elluswamy)在X上发布长文,分享了在国际计算机视觉大会上分享的内容。这篇文章部分揭秘了特斯拉FSD自动驾驶实现方法论。

Ashok Elluswamy是特斯拉的AI软件副总裁,负责特斯拉的人工智能业务。他于2024年晋升至现职,此前曾任自动驾驶软件总监。自2022年起,他直接向马斯克汇报工作,曾参与特斯拉自动驾驶系统的早期开发。

以下是全文:

本周,我非常荣幸能代表 @Tesla_AI 团队,在国际计算机视觉大会 (International Conference of Computer Vision) 上展示我们近期的部分工作成果。在这篇演讲的精简版中,我们将探讨特斯拉实现自动驾驶所采用方法的一些核心要素。

正如许多人所知,特斯拉采用端到端神经网络来实现自动驾驶。这个端到端神经网络会接收来自多个摄像头的像素、运动学信号(例如车速)、音频、地图和导航信息,进而生成驱动车辆的控制指令。

为什么选择端到端?

尽管特斯拉坚信端到端神经网络的潜力,但这绝非实现自动驾驶的行业共识。大多数其他研发自动驾驶的公司采用的是一种依赖重度传感器、模块化的驾驶方案。虽然这类系统在初期可能更易于开发和调试,但它们也存在诸多复杂性。与这种传统方案相比,端到端方法具有多项优势,举例如下:

将人类行为选择进行编码是极其困难的,而从数据中学习则相对容易。感知、预测和规划之间的接口定义不清。在端到端系统中,梯度(gradients)可以从控制一直回传到传感器输入,从而对整个网络进行整体优化。易于扩展,以处理现实世界机器人技术中庞杂且长尾的问题。同构计算,延迟具有确定性。总体而言,在扩展性方面,这更符合“惨痛的教训”(the bitter lesson) 所揭示的规律。

以下几个例子可以说明这一点。

示例 1:

在下面的例子中,人工智能需要决定是碾过一个大水坑,还是驶入对向车道。通常情况下,驶入对向车道可能非常糟糕,并具有潜在危险。然而,在这种情况下,车辆有足够的视野来判断在可预见的未来不会有来车。其次,那个水坑相当大,最好是避开。这样的权衡取舍很难用传统的编程逻辑来写定,而对于观察场景的人类来说,这却相当直观。

大家普遍认为,自动驾驶汽车在现实中基本上碰不到‘电车难题’((trolley problem,那种必须二选一撞谁)的极端情况。然而,事实恰恰相反。自动驾驶汽车时刻都在面临上述那样的微型“电车难题”。通过对人类数据的训练,机器可以学习到与人类价值观相符的价值判断。

示例 2:

在“感知”和“规划”之间很难建立一个清晰的接口。在下面两段视频中,一段是鸡群想要过马路,另一段是鹅群只想待在原地。

你要是想给AI定一套死规矩,比如先让“视觉模块”判断它们想不想过马路,然后再告诉“决策模块”‘你该不该刹车,这几乎是不可能的。像这种‘对方到底想干嘛’的微妙意图(soft intent),最好的办法是用一个‘端到端’的系统来处理。

基于所有这些以及更多的理由,特斯拉选择使用端到端架构来实现自动驾驶。说很简单,但要打造出这样一个系统,仍有许多挑战需要克服。接下来我们将讨论其中的几个挑战。

1. 维度灾难 (Curse of dimensionality)

要在现实世界中安全运行,就需要处理高帧率、高分辨率、长上下文的输入。如果我们对“输入 token”的大小做一个合理的假设,比如一个 5x5像素的图块,我们最终会得到如下数量的 token:

7个摄像头x 36 FPSx 500万像素x 30秒历史数据 / ( 5x5像素图块)未来几英里的导航地图和路线100 Hz 的运动学数据,如速度、IMU、里程计等48 KHz 的音频数据

这总计约 20 亿个输入 token。

神经网络需要学习正确的因果映射,将这 20 亿个 token 缩减为 2 个 token——车辆接下来的转向和加速。要从中学习到正确的因果关系,同时避免学到虚假的关联性,是一个极其棘手的问题。

幸运的是,特斯拉凭借其庞大的车队,拥有如“尼亚加拉大瀑布”般的海量数据。车队每天总共能产生相当于 500 年驾驶时长的里程数据。并非所有数据都“有趣”,也不可能全部接收。

因此,特斯拉使用复杂的数据引擎管线来筛选最有趣、最多样化和最高质量的数据样本。下面是这类数据的一小部分示例。

如果你用这样的数据进行训练,模型将获得极强的泛化能力,能够应对那些难以处理的极端情况(corner cases)。这里有一个例子,展示了 AI 模型如何学会主动规避一次可能的碰撞。

视频中令人印象深刻的是,AI 在第 5 秒左右就做出了反应,而那时情况是否会升级为碰撞还远不明朗。

AI 需要理解到:外面在下毛毛雨,前车可能正在失控打滑,它可能会撞上护栏,然后反弹回本车的行驶路径上,因此现在刹车是明智之举。

只有能力极强的 AI 系统才能如此提前地预测到这类“二阶效应”(second order effects)。

2. 可解释性与安全保证 (Interpretability and safety guarantees)

当车辆表现不符合预期时,调试这样一个端到端系统可能会很困难。在实践中,这并不是一个大问题,因为模型也可以生成可解释的中间 token。根据情况,这些中间 token 也可以用作“推理 token”。

特斯拉的“生成式高斯泼溅”(Generative Gaussian Splatting) 就是这样一项任务。虽然 3D 高斯泼溅 (3D Gaussian Splatting) 近年在计算机视觉领域取得了长足进步,但它依赖于大基线(large baseline)的摄像机视角才能获得良好性能。不幸的是,车辆的典型运动轨迹是相当线性的,运行传统的高斯泼溅会导致重建质量很差,尤其是在新视角下。这些 3D 高斯泼溅还需要来自其他管线的良好初始化,总优化时间可能长达数十分钟。

相比之下,特斯拉的“生成式高斯泼溅”具有出色的泛化能力,运行时间约 220 毫秒,不需要初始化,可以为动态物体建模,并且可以与端到端 AI 模型进行联合训练。值得注意的是,所有这些“gaussians”(高斯体)都是基于量产车配置的摄像头生成的。

除了3D几何,推理也可以通过自然语言结合视频定位(video grounding)来完成。一个小型版的推理模型已经在 FSD v14.x 版本中运行。

3. 评估 (Evaluation)

最后一个也是最困难的挑战是评估。即使拥有高质量的数据集,开环(open-loop)预测的损失(loss)也未必与现实世界中的优异性能相关。评估需要多样化且覆盖多种模式(mode covering),以支持快速的开发迭代。这项工作是繁琐的,我们需要投入巨大的努力才能在评估指标中获得高信噪比。

因此,在特斯拉,我们开发了一个神经世界模拟器 (neural world simulator)。这个模拟器是使用我们筛选出的同一个海量数据集进行训练的。但是,神经世界模拟器并非在给定状态下预测动作,而是在给定当前状态和下一步动作的情况下,合成(synthesize)未来的状态。然后,这可以与智能体(agent)或策略 AI 模型连接起来,以闭环(closed-loop)方式运行,从而评估性能。

这个世界模拟器完全由特斯拉训练,用于生成车辆的所有摄像头和其他传感器数据。它是因果的(causal),并能响应驾驶策略模型的指令。它运行速度快,同时能合成高分辨率、高帧率和高质量的传感器数据。

这里是该神经模拟器模型一次长达一分钟的推演(rollout)示例。

这种模拟可用于根据历史数据验证较新的驾驶模型。

此外,我们还可以人工合成新的对抗性场景 (adversarial scenarios),以测试额外的极端情况。

通过调整测试时(test-time)所用的计算量,同一个模型可以实时模拟世界。下面的例子中,一个人能够驾驶超过 6 分钟,期间由一个神经网络以每秒 24 帧的速度合成了所有 8 个摄像头的画面。你可以注意到,即使在如此长的生成时间内,细节也相当逼真。

以上所有要点的绝妙之处在于,它们不仅解决了车辆的自动驾驶问题,而且能无缝迁移到特斯拉的人形机器人 Optimus 上。这里是这样一个迁移的例子。

同样的视频生成模型也适用于在特斯拉超级工厂中导航的 Optimus 机器人。

显然,上述所有的视频生成功能并不仅限于评估。它还可以用于在闭环中执行大规模的强化学习,以实现超越人类的性能。

加入我们

特斯拉是解决现实世界机器人技术难题的不二之选。我们的团队才华横溢、意志坚定、充满激情。我们现有的技术已处于行业最前沿,未来的发展蓝图更是令人振奋。

我们在这里所做的工作将极大地造福全人类。因此,我们坚信,特斯拉是当下全球投身人工智能事业的最佳平台。

加入我们,让我们携手将数以百万计的智能、友好且实用的机器人带入现实。