2022 AI Day:如果你看懂了,欢迎投递简历

AI1年前 (2023)发布 aixure
72 0 0
导读:「AI」这个名词出现我们日常生活中已经有些时日,不过如果有人问 AI 对人类社会至今起到了怎样的帮助,产生了怎样的价值,我想很多人都会陷入沉思。 关于 AI 的释意,简单来说,它通常指通过计算机来实现人类智能的技术,比如让计算机像人类一样识别,像人类…

「AI」这个名词出现我们日常生活中已经有些时日,不过如果有人问 AI 对人类社会至今起到了怎样的帮助,产生了怎样的价值,我想很多人都会陷入沉思。

关于 AI 的释意,简单来说,它通常指通过计算机来实现人类智能的技术,比如让计算机像人类一样识别,像人类一样认知,像人类一样思考。

又或者,像人类一样驾驶。

2021 年,特斯拉举办了第一届 AI Day,期间公布了大量关于 FSD Beta 的技术细节,并继 2019 年发布 FSD 智能驾驶芯片之后,发布了用于机器学习训练的自研超算系统 Dojo,以及在最后的环节还发布了一款人型机器人 Tesla Bot,发布会中展现的信息之多、实力之强让全球同行都为之震惊。

随后的时间里,马斯克又给出了全场景智能驾驶的落地进程更为具体的时间承诺:「如果特斯拉没有在 2022 年实现 Full Self-Driving 我会感到非常诧异」。

类似的承诺马斯克在过去几年早已说过多次,但之前的每一次都要么跳票要么延期。距离 2022 年结束还有两个月,在 2022 年 AI Day 的内容里,这个问题有了新的进展。

不过在今年的发布会上,特斯拉率先展示的内容是工程版的人型机器人「Optimus」。

01Optimus:特斯拉「变人」

随着印有机器手比心图案的大幕徐徐拉开,一台没有外壳,线束和电路板裸露在外的机器人出现在了舞台上,它走了两圈,与众人打了几个招呼,随后便默默站在舞台上。一套动作下来虽然速度不快,但举止间已经能看出显著的仿生动力学设计。

这就是特斯拉人型机器人 Optimus(擎天柱),这还不是它的完成态,但足以完成发布会展示。

Optimus 正式亮相

其中的一个小细节是 Optimus 原型机的这次登台,是它首次在没有其余辅助设备的帮助下进行演示,所以这次演示环节时长短的原因之一用马斯克的话说就是「怕它待会要一头摔倒在舞台上」。

不过把这个听起来比较搞笑的机器人被放在发布会的第一个环节,特斯拉显然是有其用意的。

从「组装厂」出来的擎天柱

规模化效应是特斯拉在每一款新产品中都会着重考虑的因素,在马斯克看来,市面上现有的人型机器人里其实已经有做得不错的,只是这些机器人「缺脑子」,即没有足够强大的计算单元,无法在真实世界里「独善其身」,并且价格昂贵,难以走向规模化和市场化。

以最著名的波士顿动力公司为例,其机械狗机器人「spot」单只售价 7.5 万美元,辅助配件另算,人型机器人 Atlas 目前还没有正式公开销售,价格比起 spot 只会多不会少。

波士顿动力机械狗 spot

波士顿动力人型机器人 Atlas

因为价格和使用价值的原因,目前 spot 并未像其他工业机器人那样成为当今制造业的生产力,老百姓们也基本上只在视频里见过它。

在特斯拉机器人项目中,马斯克并不想做一个让人惊呼完「牛 X」之后就想不到其他用处的工业奢侈品,他心中的 Tesla Bot 是一款可以创造实用价值的人型机器人。由此出发引申而来的设计考虑有这么几点:

易于量产

低成本

高可靠性

于是特斯拉选择了一个「捷径」,用自家汽车的零部件来打造这台机器人

Optimus 与特斯拉汽车一样通过纯视觉算法实现对环境的感知,感知器件为安装在机器人头部的摄像头。

2021 年 AI Day 上 Tesla Bot 的硬件介绍

Optimus 与 FSD 共用视觉感知

Optimus 眼中的世界

其「大脑」为特斯拉汽车同款 SoC,内置 Wi-Fi、LTE 天线和音频模块,为机器人供能的是埋在胸部的 2.3 kWh 电池组,标称电压 52V,搭载特斯拉汽车同款圆柱电芯。

某种程度上,Optimus 就是通过特斯拉汽车零部件「组装」而成,只是不论从技术相通性还是成本控制的角度,这样的做法都有其合理性。这种事情特斯拉也并不是第一做,在储能产品线中特斯拉就采用的很多汽车业务的零部件,比如电芯、逆变器、热管理系统等等。

如果已有成熟、可靠且已量产的方案,那么在满足性能的前提下将这些方案应用于更多平行业务确实是更高效、占用资源更少的方式。

Optimus 原型机部件一览

Tesla Bot 从概念到实物经历的变化

图注:特斯拉机器人从概念到实物经历的变化

人和机器人

讲 Optimus 的技术细节之前,特斯拉先把人体的结构拿出来赞叹了一番,这一幕让我想到了 2021 年 AI Day 上 Andrej Kapathy 在介绍 FSD 视觉感知系统前,先和大家介绍了一番人类的视觉神经网络。

特斯拉的 PPT 里放了几个关于人体的参数:

静坐能耗 100 W

行走能耗 500 W

体重 73 kg

全身自由度超过 200 个

手部自由度 27 个

其中最重要的参数是最后两个,关于自由度的专业概念我们不做深入解释,大家可以大致理解为「可活动方式」,自由越高那么部位就越灵活,可以实现的动作越多。

如果想要让机器人像人类一样的灵活,那么仿生结构上的自由度同样也是越多越好,一个很简单的例子就是人崴脚以后走路会不方便,其实就是踝关节的自由度受限了。

但增加自由度会带来系统复杂性和运动学控制难度的显著增加。做出完全和人体自由度一样的人型机器人现阶段还没谁做到过。

特斯拉这次也没有,但特斯拉取了其中优先级较高的 28 个自由度,并且给手部分配了 11 个

Optimus 的电池组在热管理方面不再采用特斯拉汽车电池包那样的 S 型液冷片,而是将热管理板贴在电池底部,因为机器人整体功耗相对汽车而言不再那么需要电池的快充快放,发热会相对减少,并且机器人的体积有限,更需要考虑系统的集成度。为此 Optimus 还将将电池管理系统的模块也一同做进了电池包当中。

如何让 Optimus 便宜又皮实?

在机器人的防摔设计方面,特斯拉再度拿出了自己在汽车碰撞测试中应用的模拟分析软件以及积累的数据,在 Optimus 的胸部做了一块防摔板,并控制机器人摔倒时的倒地姿势,让这块护板接触地面承受冲击成为机器人的「防撞梁」,让相对昂贵和维修难度较大的手臂部件不至于产生严重损坏。

Optimus 胸部的防撞梁

同样的力学分析模型也被用于 Optimus 的驱动器(Actuators)设计之中,特斯拉会从已验证的结构力学分析模型上找到合适于驱动器的力学输入,并且加入机器人后续可能进行的工况验证,从简单的走路、上下台阶再到搬运物体等等,然后再对整个力学模型进行再一轮的优化。

力学模型优化

在进行人型机器人的集成结构控制设计之初,业界同行通常会尽可能地给到机器人强大的基础的动作执行能力,让其基础动作执行频率可以达到 10 Hz(一秒做十次),这样会使得设计后续的行走动作时机器人具备足够的基础运动能力,让「行走」的实现变得更为简单。

基础动作模拟

但特斯拉并不认为 Optimus 也该用这样的设计思路,因为 Optimus 是一台要大规模量产,达到百万级产量的机器人,在成本上应当遵循「满足基本需求的情况下尽可能的便宜」,所以材料方面别说用钛合金和碳纤维复合材料,特斯拉连金属材料都不太想用,能用塑料搞定的就尽可能用塑料

这么一来把钱省下来的同时 Optimus 自身的结构刚度等力学特性上自然也会逊色于友商们用料豪华的人型机器人,不过在这之后特斯拉又抛出了一个好问题:「我们用得着这么高标准的动作执行频率吗?毕竟连我自己抖腿的频率都达不到一秒十次。」

言外之意,既然人体能实现的最快基础动作执行频率不到 10 Hz,那就说明各种肢体动作在低频率下也是可以实现,只是低频下对于执行控制环节提出的要求更高,这个是可以去通过软件算法进步的地方

这一逻辑很难让我不联想到特斯拉在激光雷达和纯视觉路线上的选择,似乎在每每这种技术岔道口上特斯拉总是会选择硬成本最低,软成本最大的方式来后发制人,某种程度上这也是特斯拉第一性原理的体现

事半功倍的四连杆膝盖

如同 Model X 的鹰翼门一般,Optimus 膝盖关节的设计在 AI Day 上被专门提及。特斯拉表示这一处仿生学设计,参考对象是人类的膝盖结构。

Optimus 四连杆膝盖结构

人体膝盖结构

基于仿生学的四连杆膝盖关节

相比更简单的转轴设计,这种模拟人体膝盖的四连杆膝盖关节可以让 Optimus 腿部的力学模型变得更优,或者叫更「驱动器更友好」。

其中原因如 PPT 所示,随着腿部的弯曲角度变大(越接近蹲姿),执行同一任务所需的扭矩会越来越大。如果做个类比,就是半蹲走路会比站着走路更费劲。

膝部负载扭矩和弯曲角关系

采用四连杆结构会让同一负载在直腿状态和弯腿角度下的所需的扭矩更为平缓和一致(绿线),而如果只是用简单的二连杆设计,直接将机器人的大小腿用一个转轴连接,那么所需的执行扭矩图谱就会变成蓝线的状态,在弯腿状态的所需的执行扭矩会显著增加。图中二连杆结构下对驱动器的最大扭矩要求要比四连杆机构高出一倍不止。采用四连杆膝盖结构可以实现小马拉大车的效果

四连杆结构对比转轴结构的负载扭矩曲线

汽车到机器人,驱动器从 2 到 28

驱动环节的能耗管理是特斯拉一向注重的环节,在汽车上特斯拉要管理的内容「相对简单」,一台特斯拉电动车前后一起顶多三个电机,PPT 上则是更常见的双电机, 工况分类比较清晰,工程团队可以针对不同工况的能耗图谱反过来设定好电机的能耗特性。

电动车与机器人的驱动器对比

但是来到 Optimus 上,驱动的数量一下增加到了 28 个,至于工况,除了站立、行走、左右转弯等这些比较好列举的工况,其他的场景下机器人随便换个动作,换个发力都不一样,数量和复杂程度进一步增加。

不过实际的方法论上依然和电动车有相通之处。特斯拉会先将某一工况下,某一具体关节的驱动器工作图谱记录起来,然后再对比驱动器自身的能效图谱,接着就获得了一组驱动器的能效数据

单一关节的驱动器性能测试

特斯拉接着又将对应驱动器的总能耗表现与系统成本挂钩作为纵坐标,并结合驱动器重量作为横坐标形成一个数据点放在下图之中。

单个驱动器的系统成本与轻量化关系坐标

同样的流程在更多的驱动器上(特斯拉称数百个)去做一遍,就获得了一个驱动器重量和系统成本的图谱。越是能同时兼顾低成本和轻量化的驱动器那么就越适合作为这一关节的驱动器,比如下图红叉标记的点就是特斯拉认为最适合作为右髋偏转关节的驱动器。

最佳驱动器选型

一个关节搞定了,还有其他 27 个,同样的流程再到这 27 个关节上执行一遍,那么所有的关节基于成本-轻量化最佳考虑下的驱动器选型就确定了。

单一关节的最佳驱动器选型结果

每个关节的最佳驱动器选型结果

可特斯拉觉得这还不够,因为即便如此,整个系统内的驱动器型号组合依然过多,其中有一些是特殊型号,生产制造效率不够高

于是「减配」继续,在前面的选型基础上特斯拉又对所有驱动器进行了通用互换性测试,再去找到其中在合理范围的成本-轻量化量导向下,可以在不同关节实现一机多用的驱动器型号。

加入一机多用考量后的最佳选型结果

经过层层考量,特斯拉最终为 Optimus 的 28 个关节选出了 6 种驱动器,其中包括 3 个旋转驱动器和 3 个直线驱动器,每一个都有着很好的「扭重比」。

最终选出的 6 类驱动器

体积不大,力气不小

在驱动器的设计上特斯拉十分注重扭矩的输出,因此在 Optimus 的旋转驱动器和直线驱动器上特斯拉都采用了以「多行程」换雀大力矩」的机械结构,例如直线驱动器内的倒置滚珠丝杠。

驱动器内部也布置了相应的位置传感器和力矩传感器,以实现更精准的电控。

为了更直观地展示效果,特斯拉用 Optimus 上作为「臀大脊和「股直脊的直线驱动器吊了一个重达半吨的九尺三角钢琴做往复运动演示。

但在演示之后,特斯拉表示这并不是什么值得炫耀的事情,而是人型机器人想「变人」的一个必要性指标,我们人体对应部位的肌肉在直接连接负载的情况下也有差不多的力量,只是经过关节的幅度放大之后,我们用力矩换取更高的速度能力,也因如此人体才能有出色的运动能力和敏捷性。

打造灵活的机器之手

流程照旧,在介绍 Optimus 的手部设计之前特斯拉又赞叹了一番人手的强大:

可以轻松在一秒内转动 300°;

拥有数以万计的触觉传感器;

#NAME?

而且人类社会中有大量的物品是按照便于人类使用尤其是便于人手使用的逻辑去设计的,所以 Optimus 的手部设计又一次采用了人体仿生设计。这句话又让人想起了特斯拉以视觉为 FSD 核心感知的原因:因为全世界的道路都是为人类驾驶而设计,而人依靠视觉开车。

Optimus 的每一只手都搭载了 6 个驱动器,拥有 11 个自由度,具备自适应抓取能力。手指关节采用具备自锁结构的蜗轮蜗杆设计,只能由蜗杆(左侧深色)驱动涡轮(右侧亮蓝色),反过来涡轮无法驱动蜗杆。

手指关节采用的蜗轮蜗杆设计

这样的好处有两点,一方面机器手不会因关节负重而导致驱动器反转,另一方面在提取重物时关节会因自锁效应固定从而保持手部姿势,指关节驱动器此时无需工作

能力上 Optimus 可提起一袋 20 磅的重物(9.07 公斤),可以使用部分工具,还可以精确地抓取一些小部件。

都是机器人,带轮子和有腿的共用一套软件

软件环节,感知上 Optimus 采用了特斯拉 FSD 同款的纯视觉环境感知神经网络,机器人所处的环境与道路驾驶会不一样所以 Optimus 需要认识的特征也会有所区别。因此机器人的感知神经网络里需要针对新环境下的新特征进行专门的机器学习训练。

FSD 同款视觉感知

另外机器人与物体会有更多的交互动作,在实物的 3D 探测上,机器人的视觉感探测需要提供更为精确的景深体积感知,这会是 Optimus 视觉感知上后续会进行强化的主要环节之一。

基于视觉的 3D 体积感知

对于机器人,如何在只有 GPS 信号的支持下实现自主室内导航是另一个难题,毕竟室内没有车道线,也没有指示路牌

为了做到这个事情,特斯拉在对机器人采取了一种特殊的路径导航方式,将机器人通过视觉检测到的物体搭建成一个空间点云图谱,通过训练让机器人识别室内环境下的常见物体和关键特征,然后再在图谱中避开环境中的实体从而规划出可行进路径。

Optimus 的室内导航方案

特斯拉在 FSD 的训练中有自己专门的环境道路模拟器,针对 Optimus 的训练特斯拉也准备了类似的模拟器,下图就是模拟器内进行的机器人不同阶段关节启用后的动力学演示。

联动关节越多走路越顺畅

行走,其实一点也不容易

「走路看上去挺简单的对吧?我们每天都在行走,控制行走纯凭感觉,甚至都不需要经过思考。」当一位特斯拉的机器人科学家开始这么说的时候,通常意味着这个简单事情实现起来非常复杂。这位科学家随后表示在工程学上,让机器人行走有四大难题。

实现行走的 4 大挑战

第一,人型机器人要具备物理层面的自我感知能力,它需要知道自己的步幅有多大,自己的腿有多沉,脚踩的位置又会在哪里;

第二,人型机器人的行走动作还需要具备较好的高能效带宽,保证不同的行走工况都能取得较好的能耗表现;

第三,非常重要的一点,要有足够的自平衡能力,保证走路不摔跤;

第四,具备行走状态下的空间坐标定位能力,或者说能将空间坐标转化为精确的行走位置。

解决这些问题的软件栈被称作「Locomotion planning and control stack」,即运动规控栈。其中会涉及的环节包含机器人的动力学、运动学以及肢体接触控制。

Optimus 运动规控

一条计划路径在输入系统以后会被拆解成更细分的控制指令,从阶段来看一共有三个。

最开始是根据行进路线生成「脚庸级别的每一步位置规划,这一信息在第二个阶段的「Locomotion Planner」中被拆解为对应路径下的抬脚和后跟落地动作。这些动作会衔接每一次迈步,机器人由此可以获得更大的行走步幅和更小的屈膝,从而降低行走动作消耗的能量。

最后,系统会计算得出机器人在对应动作下的可以保持动态平衡的重心移动轨迹。于是从路径到动作的拆解规划环节就此完成,接着就是如何让机器人去执行。

前面说了很多 Optimus 的运动规划策略,但在真实世界的执行总是事与愿违,机器人不能按规划完成动作而是不断摔倒。

对这一现象的解释非常简单:模拟软件中的机器人和环境都是理想化的,而真实世界的环境要复杂得多。比如机器人自身会有抖动,传感器会受到噪声干扰以及类似的种种。这些在运动规控栈计算之外的干扰会让原本的运动规划在执行中发生偏差。对于本属于动态平衡的双足行走动作,这样的干扰非常容易导致失稳的发生。

真实世界下的干扰因素

而改善的办法是打破「闭门造车」,在机器人的稳定检测系统中融入实时的环境感知反馈,并将稳定系统通过环境检测得到的纠偏信号输出给运动控制系统,从而形成融入实时状态感知的闭环控制,让机器人保持动态平衡。这种做法听起来有那么点像机器人版本的「车道居中保持」

加入实时反馈实现闭环平衡控制

如何帮助机器人「练手」

能保持基础的行走平衡之后,Optimus 的下一个目标就是「使用双手」。这是让 Optimus 从一个传统的人型机器人转变为有价值生产力(机器工人)的关键环节。

手部动作训练流程

训练手部动作的流程可以理解为「真人实操领进门,系统学习重生成」,先用动作捕捉器获取人类在某一动作下使用双手的运动学信息,然后将收集到的运动信息逆向生成机器人的模拟动作。当采集的人类演示动作足够多的时候就可以形成这一套动作的数据库。

通过真人动作捕捉为机器人建立动作素材库

不过现实生活中同一类动作会有很多不一样的执行细节,就比如搬箱子,箱子的尺寸、位置都会发生变化,如果真人演示只演示了搬起正前方的箱子,那么通过逆向动作学习的机器人也只能学会搬起正前方的箱子。

这样的效率显然是很低的,为了让系统做到举一反三,特斯拉在这之中又加入了一套在线运动轨迹优化控制系统。这套系统会在已经学会的基础动作之上加入对于真实环境的自适应调整,重新得出不同场景下手该怎么放、机器人如何实现新动作下的平衡等信息,从而增加动作学会以后的真实场景适用范围。

小结一:Optimus 的预期与价值

第一个环节关于 Optimus 的内容主要就是这些,特斯拉在发布会中说了很多关于这台机器人在设计中的思考以及让它变得更强大的训练策略。相比各种技术细节,这台机器人的核心理念十分明确:要便宜、要大能规模量产、要能像人类一样干活

如果这三个目标的实现到达一定程度,将是一件非常不得了的事情。因为这样的人型机器人将具备替代部分社会劳动力的可能性。它的售价可能最终会低于 2 万美元,除去购买成本,后续生产工作中能耗成本相对于它能产生的价值几乎可以忽略不计。

大家可以想象一下,如果一个可以几乎 24 小时工作的机器工人日薪只是几度电而已,那么哪怕它的效率不如人类工人,仍然具备很高的投入产出比。甚至像守卫这一类的工作,眼观三路、不会疲劳又实时联网的 Optimus 简直就是完美方案。

甚至我还会想,基于纯视觉感知,与 FSD 共用神经网络算法的 Optimus 是不是还能以机器人司机的形式实现另一种方式的「无人驾驶」

总之,如果 Optimus 的目标是「变人」,那么这一业务的想象力会非常巨大。

不过回过头来讲,发布会里关于 Optimus 的很多内容介绍目前仍是「预期」,刻薄一点可说是 PPT 阶段。但作为特斯拉的新业务线,Optimus 从去年公布到今年造出原型机的速度已经十分高效。在这速度下特斯拉会争取三年内将其量产

02FSD Beta:两年驾龄「老司机」

2021 年 AI Day 的重点是 FSD,今年 FSD 在第二环节登常首先特斯拉展示了一年时间里 FSD Beta 用户从 2,000 人增加到 160,000 人之间经历的变化:

共推送 35 次软件更新;

已上线 281 个可提升 FSD 表现的神经网络模型;

期间共有 18,659 次代码改进

共对 75,778 个神经网络模型进行机器学习训练(平均每 8 分钟新增一个);

已有 480 万数据集。

FSD Beta 从 2021 到 2022 的演变

如特斯拉此前计划的那样,FSD 发展至今依然是一套基于单车智能纯视觉感知的系统,它拥有基于视觉神经网络的 3D 环境感知和低延迟的本地规控能力。如今的 FSD Beta 已经可以实现从 A 到 B 的点对点智能驾驶,FSD 团队所做的事情就是让 FSD 可支持的 A 到 B 场景越来越广泛,同时让 A 到 B 的过程越来越顺利。

特斯拉 FSD 如今包含 5 大块的部分,最顶端的部分是车辆的规控系统,下方是感知神经网络,包含对于真实世界的环境探测,以及对于驾驶道路的识别和理解。神经网络的下方是机器学习的训练数据,特斯拉的训练数据来自于自动标注、训练专用模拟器以及影子模式驱动的反馈数据引擎。

FSD 大系统架构

软件算法的训练还需要体系化能力的支持,这个就是感知神经网络左侧的「Training infrastructure」,特斯拉 Dojo 超算系统就是这一系统今后的核心硬件。

图中右侧的辅助部分是 AI 编译器及推理引擎,主要用于 HW3.0 计算芯片下用双路独立 SoC 跑同一个神经网络,系统必须能通过各种方式的改进达到足够低的延迟时才能支持这样的操作。

接下来就从路径规划开始看看现在的 FSD Beta 达到了怎样的水准。

驾驶决策:要全面、安全还要长远

这部分的演示上来就用了一个十字路口的无保护左转案例。图中标记的三个红圈是系统在完成这次左转执行动作里需要紧密关注的三处交通参与者,左边是一个遛狗过马路的行人,前方是对象路口即将右转的车辆,右侧是正常直行车辆,对这几处交通参与者的轨迹预判决定了车辆进入路口的时机、速度、物体间距和路线

无保护左转案例中需要关注的交通参与者

在车辆的路径规控系统内,对这个场景做了这么几种预测。

第一种是激进驾驶策略,直接快速进入路口,抢在行人之前左转进入直行车道。此时标浅蓝色的两台车辆不会与我们的行进发生干涉,但显然这种策略对遛狗的行人造成了一定的危险。

策略一可能对遛狗行人威胁

第二种策略是让人不让车,车辆进入路口的时机比第一种稍慢,等行人过双黄线后立即驶入路口进入向左的直行车道,但这种做法会迫使右侧直行车辆大幅减速,不符合路口「转弯让直行」的逻辑。

策略二可能对右侧直行车辆造成阻挡

第三种是车辆实际选择的做法,等待行人通过双黄线,右侧直行车辆通过之后再驶入路口,此时的选择下车辆不再会与路口的交通参与者发生干涉。

策略三等待行人和直行车辆通过再安全驶入路口

将这个案例里系统的决策过程继续展开,其实涉及的都是对每一种可能的预判和参数计算。比如针对右侧直行车辆,在我们不同的切入时机下,这台车如果要不和我们发生碰撞他最小减速度要为多少?

但这只是其中一环,如果只以不和右侧车辆发生碰撞为目的,那么整个系统做出的决策水平上限也不会太高,因为在真实道路环境中需要考虑关注的参与者远比这个要多。

所以问题最终变成了,规控系统如何对多交通参与者完成路径预测,同时又在这个基础上把自身行进路线对他们的影响考虑进来。

系统进行规划时能同时纳入计算的最多交通参与者变量决定了车辆做出决策的速度,这个过程的最短时间上限会接近 10 ms(0.01 秒)。

真实道路中交通参与者超过 20 个,路线大于 100 条

以无保护左转为例,路口需要纳入路径规划考虑的交通参与者通常会超过 20 个,系统对其生成的行进轨迹组合会超过 100 种,这样的计算量会给系统带来很大的负担,如果按前面的计算方式,这会让系统的决策时间轻松超过 1,000 ms,而特斯拉要求规控系统做出最终决策的时间是 50 ms

为了解决这个问题,FSD 软件团队在路径规划的算法中加入了最佳路径搜索机制,其逻辑简单来讲就是把系统资源优先给最可行的方案,而不是简单的雨露均沾

这里纳入考量的因素包括车辆自身轨迹、道路环境结构、其余交通参与者轨迹、实际车道线、交通信号灯以及法规,在计算得出的候选路线选择中,又会考虑到路口决策和后续更长远的路径选择机动性。

并行树路径搜索

在经过并行树的上两级推算后,系统会生成多种可行进路线,从第三层开始,系统的在可行路线上择优的考量因素才会开始逐渐加码,按优先级从高到低进行逐层优化。

例如前面无保护左转路口的几种路线就是在这一层生成,而左侧到威胁行人的激进驾驶路线此环节被否。

进入到第四层,系统继续加入更多约束条件,比如前面案例中左转后对右侧直行车辆的逼迫降速。

在基于数值优化的物理模型下,每生成一次结果需要 1 到 5 ms,前面提到过无保护左转路口场景下,需要预测的路线组合可能超过 100 种,所以最终的累积延迟依然不短。

于是特斯拉想到了另一个办法,直接让系统「查字典」在规控网络循环里加入轻量可查询网络,这个网络上包含特斯拉 FSD 队列(入网 FSD 车辆)中由人类驾驶者实际示范的模板,以及由时限宽裕的离线求解器训练得到的方案。适用于这种方案的策略每生成一次只需要 100 us(0.1 ms)。

加入轻量可查询网络

两种路径生成策略结合运行,系统继续对规划路径打分评级,其中环节又包括碰撞检验、路线舒适性评估,系统还会测试 FSD 队列中人类示范的驾驶路线,并对相应路线下路口接下来几秒将发生的结果进行评分,而另一套评分则是纯粹看系统的规控策略和人类相比有多少相似度。

所以这个大环节中既包含了绝对理性的物理模型数值筛选,又融入了相对感性和人类驾驶逻辑导向的拟人化逻辑程度考量,且根据评分减少了所需生成的路径数量,降低了系统决策过程的时延。

好决策的前提:精确且丰富的感知

在 3D 环境感知网络介绍的开头部分,特斯拉拿出了一个很常见的摄像头遮挡案例,图中左上角的紫色车辆会在右侧红圈车辆左转的过程中被遮挡一段时间。如果不采取其他措施,这段被遮挡的时间里系统就出现了道路物体感知的缺漏。

未被遮挡时的物体

相机被遮挡以后

但如果用物体被遮挡前的行进轨迹通过推理生成遮挡期间的预测轨迹,那么被遮挡期间系统损失的感知信息会因此减少,从而可以做出更优的策略。从这个案例中也可看出感知能力对于规控的重要性。

特斯拉 FSD 软件中运行的感知神经网络可以利用 8 个 ADAS 相机获取的图像信息生成所在驾驶环境的的立体感知,对道路环境中的各种物体可以实现体积感知。在立体探测之外还可以识别不同物体特征的语义信息,例如车、路障、路牌、行人、路肩甚至是道路坡度等。

系统感知的道路环境的信息流也会用于各种特征的动态轨迹预测,展示案例中一台皮卡后的拖挂车在经过拱桥路面时发生摆振,系统在拖车向右摆动时预判到了其下一阶段向左回摆的趋势,于是向左进行了避让。

系统发现拖车出现向右的摆动

车辆的运动轨迹模型预判了往左的回摆并及时躲避

这套动态轨迹预测系统每 10 ms 就会更新一次数据,并应用于所有搭载 FSD 芯片(HW3.0)的车辆当中

高阶视觉:从原材料到可用数据

特斯拉在视觉感知上的钻研已经渗透到了每一个环节。

最开始的部分是摄像头的信息校准。在这一环节,系统对 8 个 ADAS 相机获取的图像信息进行「毛加工」畸变修复处理,然后输入到下一个环节的特征提取层。

值得注意的是这个「毛加工」环节里,相机获取的图像信息不经过 ISP 图像处理器,而是直接把原始的 12 bit 色深光子信息给到特征提取层,这么做一方面减少了信息流经 ISP 延迟,其次获得了比 8 bit 色深高出 16 倍的色彩动态范围(最大信号和最小信号的比值大 16 倍)。

经图像特征提取器完成特征识别检测后,系统会用这些物料构建出一个可查询的 3D 空间模型,并且将其中的关键特征与参数放到「重点空间」模型中运行。

这些内容经「重点空间」处理后输出为高维度空间特征,系统接着会把这些高维度空间特征在不同时间下的坐标关联起来,完成特征的时序对齐

最后,系统会将完成时序和空间对齐的高维特征运行逆向计算,最终形成特征在空间中的体积测算结果(模型中用灰色方块显示)。

对于精度要求更高的特征,系统还会将上述的「灰色立体方块」放到 MLP 多层感知运算模型中进行进一步细化还原,利用可查询 3D 点云数据获取特征在任意位置下的语义和坐标。

说完特斯拉又举了一个铰链式大巴的特征识别案例。图中在马路右侧有一台停站状态的铰链大巴,此时系统将其识别为静态特征(红色标记)。

铰链大巴被识别为静态

在接近大巴的过程里,大巴开始起步,铰链前半截车厢开始移动,但后面半截车厢依然处于静止状态。此时感知系统已经开始做出反应,将前半截车厢识别为动态特征(蓝色标记)而后半截车车厢依然识别为静态特征。

铰链大巴前半截车厢被识别为动态

当铰链大巴继续前进,系统进一步认识到后半截车车厢与前半截车厢是一个移动整体,于是将整个铰链大巴标识别一个连贯动态特征,并且相对准确地还原了铰链大巴此时前后车厢的折角。

铰链大巴整体被识别为动态,车侧弯曲轮廓得以还原

对于传统特征识别,这个案例的难点是系统到底会把铰链大巴识别为两个特征还是一个特征,这决定了系统在运算时采用的最大外表体积标记框对铰链大巴用一个体积框还是两个,因为铰链大巴在转向时是弯曲的,因此其中的偏差会导致系统对于铰链大巴干涉体积判定的失误。

而特斯拉的视觉环境感知系统则相对精确地构建出了这一场景下的特征空间状态。

除了交通参与者以外,特斯拉的视觉感知系统还能识别出路面的「可行驶空间」。这一能力可以帮助系统在施工路面弯道里更好地实施车控。路面 3D 感知的结果相对于其他环境感知没有采用体积方块表达,而是根据环境信息生成相对平滑和连续的模拟表面。

道路型面感知

道路坡度感知

在这一小节的最后,特斯拉还介绍了近期在 NeRF 上取得的突破,即 Neutral Radiance Field,神经网络辐射场。特斯拉正在尝试用这种模型去实现更强大的基于视觉构建而成的 3D 环境模型。

或者换句话说,特斯拉期望用这样的方式在全世界实现 FSD 车队用视觉即可采集高分辨、高还原度的立体环境信息

可逆向构建 3D 环境模型的 NeRF 网络

讲 NeRF 时,特斯拉拿出了近期他们用 FSD 队列收集的体积渲染信息做的一初高精度 3D 环境重构场景,目前的结果已经有不错的还原度。

通过 NeRF 构建的 3D 模型

说回特斯拉的视觉感知网络,整个神经网络的特征感知能力是通过海量的自动标记数据训练完成的,特斯拉对此的终极目标是在数据训练的闭环流程中,不再需要任何人工。接下来就是关于特斯拉自动标注环节的介绍。

数据训练软优化:减少内耗作用大

机器学习训练是 FSD 整体结构下重要的一环,同时也是一个数据量极其庞大的环节。根据特斯拉的统计,在前面高阶视觉环节用于演示的几段素材是经 14 亿帧训练素材学习之后的结果

如果把用于训练的 GPU 工作至 90℃ 的性能状态,那么 10 万个 GPU 工作一个小时可以完成上述的训练。反过来,如果只有一个 GPU,那么需要 10 万个小时(136.9 个月)才能完成这样的训练。

这样工作量的任务如果用人工来完成,是不现实的。

特斯拉当今的训练量和训练系统规模

特斯拉现有的云计算训练网络里拥有 1.4 万个GPU**,其中 1 万个用于训练,另外 4 千个用于自动标注**。

用于训练的视频素材被存储为分布式管理的 30 PB(30,720 TB)视频缓存,每天输入训练系统的视频多达 50 万个,而训练系统内每秒同时跟进处理的 python 视频实例有 40 万个。

为了处理好这样规模的训练任务,特斯拉自研了训练的软件系统。

机器训练环节的软件优化

在一套训练系统中,加速器(英伟达 A100 GPU 或者是后续的 Dojo)是成本最高的硬件,所以它应作为系统中使用率最高的环节,成为系统的性能瓶颈。

或者说,其他所有的环节的可处理任务量都不能低于加速器,这样才能保成本高昂的加速器不会出现性能过剩的情况

这里涉及的各种漏斗式性能考量十分复杂,包含存储器容量、存储的传输带宽、节点的 CPU 性能、节点的内存容量以及种种。特斯拉在这个环节做了大量优化和提升效率的机制。

训练用的视频素材本身相比图片要复杂很多,因此在训练优化的节点上,特斯拉从上游的存储端就开始,一路进行优化直到最后的加速器。

视频数据库优化带来 30% 性能提升

视频物料本身在传输的过程里不经任何后期处理,特斯拉只会在其中选取训练所需的素材帧以及的关键帧,然后将其打包传输至分享内存,再传输至 GPU,然后再用经过 GPU 加速后的硬解码器对视频素材解码。因此最后相当于直接用 GPU 来做这个事情,没有占用其他的计算硬件资源,系统的训练速度可提升 30%。

这是效率提升最多的措施,其余措施里多的可以到 15%,最少的也有 3%,层层叠加以后环境感知网络的训练速度提升了 2.3 倍

所有优化叠加使得性能提升 2.3 倍

路口难题:依然要地需图

在车道识别的方式上,大家常用的方式是 2D 像素识别,输入图像信息然后区分哪些是当前车道线,哪些是其他线路。这种方式在良好且情况相对简单的高速铺装路面是没有问题的。

传统的 2D 像素车道识别

但是如果将同样的方式应用于相对复杂的城市级智能驾驶,尤其是难度较大的路口场景,2D 像素识别方式得到的车道线预测结果就完全是另一番景象了,系统得到的识别结果几乎没法用,原文中的两个形容是一个简单的转弯就会导致「peaks structured lanes」,而复杂路口的结果更是「hopelessly insufficient」没救了。

特斯拉期望的效果(左侧)和实际的车辆识别结果(右侧)

左侧的图片则是特斯拉希望系统可以获得的信息,整个路口的全路线图谱。图谱中每一处有路线合并、分叉或者停车的地方被称为节点。

大家可以发现,不同节点之间的路线既不是简单的直线也不是简单的圆弧,而是会受到实际的道路形状和车道几何形状影响,所以系统需要结合这些因素计算出节点与节点之间的线路

因为原先的方法搞不定,于是特斯拉开始采取其他手段,引入的新系统叫「车道探测神经网络」,它主要包含三个部分。

第一个部分是视觉感知组件,这部分与原来 FSD 的视觉网络基本相同,系统可以利用视觉感知生成丰富的道路环境视频模型。

在第二个部分,这些信息与车辆的导航地图信息被一起放到一个叫「Lane guidance Module」 的模块中进行运算推演,这里的地图并非高精地图,但是为运算提供了很多基础指引信息。模块运算的结果是稠密张量,相当于对路口进行了「信息解码」。

这些稠密张量随后又将输入第三个环节,特斯拉希望对这些结果进行转化,最终生成车道图谱。特斯拉处理这一数据的过程有点像通过图片生成字幕,将前面得到的稠密张量放到语义回归解码里可以生成一种能用于推算车道关系的文本,特斯拉将其定义为一种特殊的「路线语句」。

其「单词」和「标志」就是 3D 世界中的车道坐标,标志内的修饰符工具类可以对车道之间的关联解码。于是最终生成的车道图谱结果会像下图所示。

整个过程的步骤上,简单来说就是先找出路在地图上的区域,再在路上标节点(路的起点、停止线、汇合处等),然后连接点与点之间的路线,在把连接的路线根据实际道路的几何形状做匹配优化。

具体的细节上,特斯拉在最开始将路口的卫星俯视图类比为空白板,然后在图中某一车道的起点标记一个绿点,将其编码为这个路口的网格分割图谱索引起点。

路线语句的起点

网格索引

因为图里的网格点数量较多,直接进行全图预测过于耗费计算资源,如果针对此类问题做出更好的预测策略,带来的优化将同时给训练和测试过程提供增益。

减少计算消耗的第一步就是先降低索引密度,然后根据道路的车流热区粗定位可能的道路区域(透明度越低的区域车流越大),在这些热区里选中可能性最大的网格区,对这块区域进行下一步的精定位预测,从而找到精确的节点。

根据热区确定大致区域

在已确定区域内提高索引精度

节点分为不同的种类,这里找到的节点是一条线路的起点,所以它被标记为绿色的「起始节点」。于是「路线语句」里的第一个单词就有了。

路线语句生成的第一个单词

用前面的流程继续找寻下一个节点,这次找到了右转后路口的停止线,因为这一节点处在绿点的延续路线上,因此它被标记为延续节点。

延同路线找到第二个延续节点

两个节点需要用线路连接,最基础的是直线连接,但这里需要考虑到路口的几何形状,所以系统会让线路变为适合右转的行进曲线,这时候「路线语句」的第二个单词也生成了。

连接两个节点生成路线

根据道路几何信息重新校准路线曲率

顺着刚才的路线继续,图上的这条右转路线就结束了,紫红色的点被标记为结束点。回到绿色的起始点继续索引,会发现右转不仅可以进入右侧第一车道,还可以进入右侧第二车道。进入右二车道的青色节点被称作分支节点。顺着分支点继续,接着就是这条分支的结束节点。

同一起始节点衍生的分支节点

一遍遍执行上述的索引后,整个路口所有的线路图就构建完了。

这么看下来似乎路口线路的预测方式有些复杂,但实际上 FSD 团队尝试过其他「简单」办法,比如用车道分割的方式来预测线路,但是现实中车道线经常会有不清晰或者恶劣天气干扰等系统难以判断的不确定情况,这时候当你不清楚车道到底有几条的时候就没办法用车道分割来做预测,所以系统会经常失效。

类似的方案还有很多的限制,比如线路重叠时搞不定,如果想解决可能甚至需要对路线在多个图层上处理,总之复杂且低效。

而「路线语句」的框架模型可以更便利地提取样本,适合后期感知处理。这样的框架不仅会用于 FSD 后续也将用于 Optimus 的感知系统

最终的效果就像下图中这样,车辆自身系统可以在无其他外辅助感知(例如预加载高精地图)的情况下直接生成路口的行车路线图。

最后应用的行车路线图

随后特斯拉又介绍了另外两个路线预测上的案例。下图左侧的案例是通过路口时对向有一台闯红灯的车辆,系统会预测短期内闯红灯车辆可能的几条行进路线,比如图中有直行、左转和掉头,然后根据实际闯红灯车辆的行驶轨迹判断它走了哪条路线,从而做出更合理的规避。

对其他车辆的路线预测

图片右侧是一个更加体现系统语义解读能力的案例。案例红绿灯路口的左侧车道有台打着双闪的车辆,尽管路口当时是红灯,而且右侧车辆最终也停下来等红灯,但是系统判断左侧打双闪的车辆并非正常等红灯的状态,等路口变绿灯时这台车也不一定能走,所以车辆提前向右变道然后在右侧车道等红灯。

所以系统的预测信息构成里不仅包含特征、位置、轨迹、路线,还包含目标的特征属性识别。因为真实的驾驶环境下一直是瞬息万变,所以系统需要有能力在短时间内应对各种变量,所以延迟一定要尽可能的低

感知的两个阶段第一个是 3D 状态下的物体和环境感知,第二个阶段是通过 3D 环境的张量数据配合其余附加信息判断目标物的属性和意图,并依此将系统资源有目的地分配给优先级较高的目标

超过 1,000 个 NN 信号,每一个都不简单

上一环节介绍了生成道路「路线语句」的路径感知系统,让这套系统做到本地化计算运行是实现单车智能的一大关键。在 FSD 芯片里处理这一任务的是一个叫「TRIP ENGINE」的模块,其功能简单,特点是可以实现效率极高的密集点预测。

FSD 芯片的量产于 2019 年,在硬件设计阶段特斯拉并没有预见 3 年之后要跑这样的一套模型,所以特斯拉在这里面对的挑战是如何用一个硬件去做它原本设计目的之外的复杂工作。

特斯拉 FSD 团队最终用一种颇有创造性的嵌入表导入节点缓存再多次迭代的方式解决了这个挑战,整个运算只用到密集点预测引擎「TRIP ENGINE」。实际上为了让整个流程变得可编译,团队在各个环节做了大量的措施去提高抓取精度以及优化性能。

数据上,最终 FSD 的车端路径神经网络有 7,500 万参数,延迟 9.6 ms,能耗为 8W

FSD 路径神经网络的规模

在整个系统里运行的各种架构、模型与网络中 TRIP ENGINE 只是其中的一个。FSD神经网咯****系统下有超过 1,000 个神经网络信号,包含的参数达到了 10 亿个

海量的神经网络也带来了海量的编译任务,超 15 万的神经网络层和 37.5 万个神经网络连接最终需要经过专门的神经网络编译器与常规编辑器对接,先用图片分割器将神经网络中的图片根据下游硬件分割为独立的子图,经过神经网络链接器与传统链接器对接,完成链接时间优化后再经调度编程成为被系统执行的指令。

到硬件环节,FSD 芯片内的两颗 SoC 以任务混联的方式对各类网络进行处理,经过各个环节的优化和性能提升后,在 100 TOPS 的算力下系统每一帧的神经网络信号可输出超过 1,000 个

FSD 系统神经网络的可视化展示

自动标注:能力泛化的底层能力

在 FSD 章节里特斯拉展示的各种能力除去搭建软件架构,无一不是经过大量的机器学习训练而成。让系统快速学习更多场景,完成不同区域的能力泛化是 FSD 提升可用性和安全性的重要内容。

比如前面提到的 FSD 路线预测模型,特斯拉认为如果要实现较好的能力泛化,训练的任务量会超过 100 万个路口,不过怎么去解决如此大量的系统训练监督问题?

随着特斯拉交付量的提升,路上带 FSD 芯片的特斯拉车型已经越来越多,特斯拉收集的数据量也在与日俱增,日新增路途收集量为 50 万条,将收集的数据转变为可用的训练物料又是一个不小的挑战。

路口问题的训练需要约 100 万个训练素材

从 2018 年开始特斯拉就开始用人工搭配自动标注的方法对软件进行训练。一开始的自动化程度相对较低,能实现自动化的环节也比较受限,效率较低。2018 到 2020 的这两年里特斯拉的标注效率几乎都以 100 倍的速度在提升

FSD 历年标注效率的进步

然后特斯拉介绍了目前最新的多路途重建自动标注机器,其结果是 1 万条路线的的标注工作量从原来需要 500 万小时人工标注才能完成,缩短至仅需 12 小时的机器标注

特斯拉自动标注最新的水准

实现这种全新标注的步骤包括三点。

第一步是基于 8 摄像头视觉感知的轨迹高精度重建,车辆获取环境的视频数据、自身 IMU 惯导数据、里程数据,可以在向量空间里重构道路模型,其轨迹重构的尺寸误差为 1.3 cm/m,角度误差为 0.14°/m。重构的结果会成为后续人工审核的主要参照,特斯拉会将重构的轨迹与环境结构与路线数据进行前融合

第二步是多路线重构融合,它是整个三步中最为关键的一步,它可以将不同车辆收集的的环境重构信息进行拼接融合,系统会进行不同路线的拼接、同路线对齐、路面缺失信息补全等工作,从而获得更完整的道路环境模型。系统标注完成以后重构素材最后会经人工分析员审核定稿。

众包方式的拼接融合

因为整个环节主要靠云计算系统自动运行,所以重构环节到此通常只需要 1 到 2 小时。

第三个环节就是在前两步里已经重构好的模型上不断地加入新增路线。每条新路线的自动标注只需要 30 分钟,人工则需要数个小时。所以这个 3D 重构模型的规模化速度主要取决于新路线数据量和用于训练的计算性能量。

在素材收集的过程中同一环境的情况也会发生变化,比如光照、天气、交通等,但同一路线的素材可以通过多台车辆跑多次收集而来,因此重构模型的质量也可以不断提升。

同路线不同条件下的多素材采集

车道标注只是特斯拉 FSD 众多标注内容里的一种,在其他类型的标注里,很多都有自动标注机制,甚至有一部分是已经无人化的完全自动标注。

特斯拉团队形容自己的自动标注就像一个数据工厂,一头进去采集的原材料,另一头就加工输出大量的训练物料

逆向模拟器:特斯拉的训练元宇宙

这张路口的图片并非实拍,而是特斯拉训练模拟器的视频截图。这个场景的人工构建需要花费 2 周时间,在特斯拉团队看来,这是样的速度是无法接受的。

用于训练的道路环境模拟器

于是特斯拉转而采用地表环境自动标注的方法,在新的自动化工具协助下,机器生成差不多效果的模拟环境只需要约 5 分钟,比人工的效率高出近 1,000 倍

构建的自动化流程始于道路的路面信息(包含路面、车道、路肩等),系统会通过这个数据生成模拟的的道路面并完成渲染。

然后系统再根据车道信息反推生成马路上的各类车道线和交通线。

接着随机生成路肩区域的环境,例如在马路中央的路肩里生成绿化带,在马路两侧的路肩内生成人行道和建筑物。系统还会随机生成一些消防栓和垃圾桶这样的物体,并且生成的的植被也会像真实世界一样掉叶子。

在路口位置,模拟系统会根据路线节点信息生成路口对应的交通指示灯,以及通过路线图谱生成车流。

模拟环境生成以后特斯拉可以对这个环境进行丰富的自定义变量修改,比如各种交通参与者、有不同区域特性的建筑、环境天气、环境光照、积水等等。

以及为了进一步测试还可以更改路面的通行标志,以测试同一个路口环境在不同的路线交汇下的情况。以上都让特斯拉可以更全面地获得更多的测试场景,有些甚至是原本真实世界中很难采集或者无法采集的

路口的车道通行标识可自定义修改

修改后路口的路线图也随之改变

特斯拉利逆向成器生成的真实道路区域块为 150 ,生成好的模拟环境可以保存并在后续时间加载,也可以和其他区块拼接,一组图块的排列可以是 5 × 5 或者是 3 × 3, 通常特斯拉会给区域里车流较大的热点区域或者是值得作为研究的区域做相应的环境模拟。

如果是人工来建造模拟环境,一旦规模变大所需的时间会非常漫长,但是有了自动化的建模工具以后效率会大大提升,比如图中圣弗朗西斯科的模拟区域块在云特斯拉的训练系统下运行一天的时间即可生成。大量基于真实道路生成的可自定义模拟环境有效地增进了 FSD 团队在各种特殊场景下训练。

数据训练:老司机是这样练成的

数据训练的主要作用是帮助系统纠正一些错误的逻辑。比如图中的案例里,这台违停在路口的车辆应当被视作一个静态障碍物,但系统却误认为这是右侧等待通过路口的车辆。

误识别右侧车辆为等待车辆

为了让系统学习学习场景,需要从收集的视频里找到类似场景作为训练素材。然后经过 13,900 个视频学习训练以后,系统再次跑相同的场景就不会再把路口违停车辆标记为待通行车辆,而是标记为红色静止车辆。

类似情况的训练素材

训练后正确识别违停车辆

机器学习训练不仅仅用于 FSD 的特征识别和语义理解,还用于更多细化的方面,甚至是判断车辆的移动的某个信号

同时训练也是无止境的,训练量越多,系统的判断能力就越精确。特斯拉在今年一共给车辆的移动信号判断做了 5 次升级,每一次的升级的训练和评估场景数量都在增加,而系统的精度也从最初的不到 90% 慢慢增加,直到超过 95% 朝着 100% 接近。

今年的 5 次训练升级

类似的训练流程几乎用于所有的神经网络信号判断提升,特斯拉联网 FSD 终端的可观规模和数据收集量是这个闭环的源头要素。而训练背后所需的计算资源也开始成为特斯拉关注的重要环节。

训练的类型多种多样

小结二:激光雷达时代的 FSD

关于特斯拉纯视觉感知的路线选择是否正确的争论从未停止过,随着中国本土新造车军团纷纷拥抱激光雷达,甚至大家看到在 20 万级别的车型上激光雷达也能得以应用时,激光雷达智能驾驶的商业化可行性逐渐开始吸引越来越多的企业。

激光雷达的成本会越来越低、性能会越来越好是一定的。但即便如此,特斯拉也不会去使用激光雷达。因为激光雷达的成本问题只是特斯拉选择纯视觉路线的一个因素,更重要的原因在于视觉提供的语义信息和感知逻辑拟人度都远超其他传感器。

在 2022 AI Day 上关于「感知」的内容只占 FSD 篇章的四分之一左右,其中关于体积感知距离感知的内容特斯拉不再强调视觉的「能不能」,而是着重去讲特殊场景下系统对于场景的正确理解的感知精确性。

换句话说,特斯拉对于自己可以通过视觉实现 3D 环境信息感知这件事已经不那么想重点宣传了,它更希望向世人展示的是 FSD 的整个架构的先进性

如今的特斯拉 FSD 已围绕最初的设想建立起了强大的体系化能力。不论是感知、规控、训练还是标注, 在每一个智能驾驶的大环节上特斯拉都有足够的储备和实力来实现「Full Self-Driving」。并且在各个大小环节,特斯拉对系统效率的重视和投入也让 FSD 业务的快由内而外。

大家最关心的地图数据方面,特斯拉这次十分坦诚地表示在城市的线路感知环节用到了非高精地图用于导入路口的各类车道信息。但在用于系统训练的 3D 道路模拟环节可以明显发现特斯拉在美国本土采用了众包采集的方式。鉴于当下的数据敏感情况,国内是否允许这样的操作不得而知。如果禁止,那么后续中国区 FSD Beta 的训练场景获取成本无疑会更高,迭代升级速度肯定会造成影响。

由于 FSD 进行算法训练的两大要素云计算硬件训练素材都有着较强的本地化属性,所以不难预见 FSD Beta 在不同国家之间有着不同的状态,中国区后续推送的 FSD Beta 如果不想办法针对中国的特殊道路场景进行专项训练那么实际表现可能会水土不服。

03Dojo:下一阶段的制胜之道

在去年的 AI DAY 上,特斯拉已经展示了其自主研发的首款 AI 神经网络训练芯片 Dojo D1,另外还一并展示了由 D1 组成的超级计算机集群 ExaPOD,今年 AI DAY 演讲压轴部分就留给了 Dojo,

之所以需要一个性能如此强大的计算硬件主要在于软件训练的速度决定了特斯拉 FSD 进步和迭代的速度,而某些复杂工程的训练时间在 Dojo 出现之前已经到了按月计时的程度。

如果特斯拉可以自研出性能和成本都具备竞争力的专用训练硬件,对于后续更大规模的训练将是一举两得之策。

因此在系统设计之初,特斯拉团队重点考虑的目标就是效率,这套系统的算力需要做到在极大的规模下仍然有很高的利用率

从上至下的内存选型

一开始特斯拉尝过试用 DRAM(动态存储器)来打造这套系统,但是试验效果不如人意,于是特斯拉十分反常规地决定放弃 DRAM 转而采用了 SRAM(静态存储器)来作为 Dojo 系统的存储媒介。

关于这两种存储媒介的区别可以大致描述为 DRAM 更便宜,更容易做大容量,但是能耗更高,速度更慢。SRAM 更贵,容量要小得多,但速度更快能耗更低。

速度是特斯拉选 SRAM 作为 Dojo 存储的核心原因,尽管 SRAM 的存储容量远不如 DRAM,若想实现高的计算资源利用率,系统就必须要有高带宽低延迟,SRAM 在这方面优势明显。

这种关键决定往往会引发很多的连锁反应,例如假设系统需要虚拟内存那么就需要页表(Page Table),可是页表也需要占据空间,SRAM 存储量本来就小所以就不做虚拟内存。

另外系统内也没有中断器(interuputs),因为系统的加速器直接与编译器相连,而编译器负责所有调度内容,所以系统本身也不需要中断器。总之在一系列的系统设计上特斯拉都与常规方案大相径庭。

特斯拉在系统设计中非常重点追求的一个目标是「No Limits」,这里可以理解为无限扩展性和算力自由组合性。团队希望打造出来的硬件具备高度灵活而且不存在固定搭配限制的理念,但如今的计算硬件很多时候 GPU、CPU、DRAM 等环节都是按照某种配比组合而成,这种方案下如果需要更强的性能通常需要整体升性能更强的新系统。

特斯拉半导体团队希做出一套体系化考量下软硬结合的垂直整合方案,实现极高的系统效率、能耗控制、散热控制、全栈式系统管理等。

为了找到系统的各个限制环节,在很早的时候 Dojo 芯片就开始实验性地用于 FSD 软件的训练任务之中,而过去的时间里特斯拉半导体团队在这样的实践中收获了很多经验和教训。

Dojo 的基本构成与性能

Dojo D1 在 645 mm 的芯片面积上搭载了 500 亿个晶体管,晶体管数量超越了 AMD Epyc Rome 的 395.4 亿个,落后于 NVIDIA 的 GA100 Ampere SoC 的 540 亿个,但是后者的芯片面积为 826 mm。

D1 每平方毫米上集成了 7,750 万个晶体管,有效晶体管密度是首屈一指的,高于 NVIDIA A100 GPU,次于苹果 M1。

D1 的热设计功耗为 400W,FP32 精度下的算力峰值达 22.6 TFLOPS。作为对比,我们再次拿出 NVIDIA A100 GPU,后者热设计功耗同为 400W,但是 FP32 下的峰值算力是 19.5 TFLOPS。

基于 D1 芯片,特斯拉推出晶圆上系统级方案,并通过台积电 InFO_SoW 封装技术,将 25 颗 D1 集成为一个训练瓦。同时,特斯拉将 12 个训练片集成为一个机柜。

所以,在 10 柜机系统前提下,1 个 ExaPod 即含有 120 个训练片模组、3,000 个 D1 芯片,超过 1 百万个训练节点,算力达到 1.1 EFLOP,并拥有 1.3 TB 高速 SRAM 和 13 TB 高带宽 DRAM。

每个训练瓦由 25 枚 D1 芯片组成,它们以 5 × 5 的方式排布,以二维 Mesh 结构互连。它采用的是近存计算架构,片上跨内核 SRAM 达到了 11 GB,但是耗电量也达到了 15 kW,能耗比为 0.6 TFLOPS/W@BF16/CFP8。

另外,特斯拉还开发了 Dojo 接口处理器(DIP),位置处于端板边缘,主要作用是连接训练处理器和 CPU,每个 DIP 都有 32 GB 的 HBM(高带宽内存),以及 900 GB/s 的对外传输带宽,总量为 4.5 TB/s,每个 Tile 共有 160 GB 的 HBM。

每个训练模块外部边缘的 40 个 I/O 芯片达到了 36 TB/s 的聚合带宽,或者 10TB/s 的横跨带宽。

Dojo 的性能宝典:密度成就性能

构建一个规模巨大的一体式加速器是 Dojo 的愿景,对于软件而言,它将是一个单体式的带宽极高、内存极快的无缝计算平台。

实现这一愿景的关键是 Dojo 系统的「训练瓦」,一个训练瓦内不仅通过极高的带宽集成了 25 枚 Dojo 芯片,而且多个训练瓦还可以通过直接连接的方式组成新的训练瓦片组。

高密度是 Dojo 实现高性能的理念,这里的密度不仅指晶体管密度,还有下游的系统密度、供能密度、散热密度等一系列提高系统集成度的环节。

自去年 AI Day 开始,特斯拉降 Dojo 投入软件训练后遇到的第一个难题就是供能。想让 Dojo 实现高性能运算的供能密度是十分夸张的,图示芯片上的 12 相独立供电一共需要 1,000 A 的电流,每平方毫米的电流达到了 0.86 A。面对这样的供电要求,特斯拉开发了一套多层垂直供电方案,因为芯片本身又由不同种类的材料组合而成,巨大的供能带来的发热也使得材料的热延展性成了需要重点关注的内容。

换句话说,如果没有控制好,芯片在工作中可能会因为材料间的热延展不一致而开裂损坏。

Dojo 的高性能运转要求极高的电流供应

起初特斯拉与供应商一同开发这套供电方案,但后来特斯拉意识到这套系统还是需要通过自研来解决。随后的 24 个月时间内,特斯拉做了 14 版电压调节器模组,最终降低了 54% 的热延展,同时将供电电流提高了 2.9 倍。

硬件优化后的效果

在此之后的振动问题也是一个较为棘手的环节,因为芯片的 X、Y 轴都被设计用于高带宽通讯,所以芯片上只有极其有限的垂向空间可供使用,所有的组件都必须与电源集成在一起,包括时钟、供电系统以及系统控制器。当电流大到一定程度时芯片会因压电效应产生振动,进而影响周边电容导致振荡器的时钟输出失效。

解决这个问题特斯拉做了三个措施,改用软端接电容器,避开共振频率,采用 Q 因子降低 10 倍的微震荡器。

降低振动的三大措施

除了在芯片层面提升系统密度,特斯拉也在外部的基础设备上为提升密度做了优化。所有的环节正如 Dojo 环节一开始就提到的那样,一切围绕提升系统密度而打造。因此在每一个阶段的「硬件组」上几乎都可以看到高密度的连接、极快的带宽、充沛的系统供能和强大的散热

训练中心也讲究软硬一体

硬件大致介绍完,特斯拉开始介绍 Dojo 项目里软件发挥的作用,首先就从「性能」的组成开始,性能等于芯片算力 × 一体化程度 × 加速器使用率。所以在硬件相对固定的前提下,提高系统的一体化程度以及加速器的使用率就是提高系统性能的路径。

性能 = 芯片算力 × 一体化程度 × 加速器使用率

提高一体化率主要靠改进编译器,提高加速器使用率主靠改进数据提龋

在类残差网络模型下,随加速器的数量增加,系统的吞吐量几乎是线性增长。

但是视觉模型的实际情况比这个要复杂,运行时系统的步调一致性会出现偏差,进而导致系统性能损失,最后反应在随加速器的数量增加,系统的吞吐量并不是线性增长,而是往后斜率越平缓。

Dojo 计算群在硬件设计之初就考虑了这个问题,所以通过各种硬件结构上的方式实现了多硬件并联后加速器越变越强但系统内仍然只有一个大加速器的效果。

为了匹配这样的硬件设计,Dojo 的编译器采用了批量连续编码,并且引入了候补机制。让信号

花式暴打英伟达

软件优化加 Dojo 的最终效果十分显著,指令延迟在 24 个 A100 GPU 下为 150 us,但是在 25 个 D1 芯片这边仅为 5 us。

用 RESNET-50 作为测试,在接近的 FPS 下英伟 A100 需要 192 批,而 Dojo 仅需 8 批。

在更为复杂的自动标注和环境感知网络下,Dojo 和英伟达 A100 的效果对比分了三组,灰色组是当前的硬件与编译器,可以超过 A100 约 30%,2023Q1 的 Dojo 硬件可以超过 190%,如果再加上 2023Q1 的编译器,那么可以超过 A100 340%。

整个系统下 1 个 Dojo 训练瓦的计算性能可以抵 6 个 GPU 主机,而成本上连 1 个 GPU 主机都不到。

体积更孝性能更强、价格更低

此前需要耗费一个月的训练现在用 Dojo 一周就能完成,

训练时长从月减少到周

在数据摄取上特斯拉通过优化为前/后处理调用了远端计算,让整个数据下载层都能和 Dojo 网络连接,进而让系统的使用率从最初的 4% 提高到了 97%。

自动标注任务原本的 72 个 GPU 柜机的计算性能现在 4 个 Dojo 柜机就能代替。2023Q1 上线 10 个 Dojo 柜机之后自动标注能力会达到现在的 2.5 倍,在帕洛阿尔托特斯拉计划建造 7 台 ExaPOD。

4 台 Dojo 柜机可替代 72 台英伟达柜机

2023Q1 将完成第一个 ExaPOD 上线

POLO ALTO 一共规划了 7 个 ExaPOD

与此同时,特斯拉还将继续开发新的计算集群硬件并持续通过软件优化发掘系统的极限能力,等到下一代硬件亮相时,特斯拉有信心将其性能再提升 10 倍

同时,ExaPOD 不仅仅会让特斯拉自用,还会像 aws 亚马逊网络一样,向第三方提供云计算服务。

04写在最后

对于任何一家科技公司,人才吸引力都是保持竞争力的关键要素。

在 2021 年特斯拉影响力报告中,SpaceX 和特斯拉是 2021 年工程学科毕业生最向往的两家公司。

马斯克此前在聊到举办 AI Day 的目的时说,这个活动主要是为了吸纳全世界各地的 AI 精英加入特斯拉。在 2021 年 AI Day 之后特斯拉收到的相关岗位应聘数比前几周增加了超过 100 倍

与此同时,AI Day 也让更多人了解到了特斯拉的实力,尤其是 AI 相关的实力。而且不得不说,不论是软件还是硬件,特斯拉在很多事情上通常都选择难度最大、但长期收效也最高的方式

有人把这种做法称为长期主义,也有人觉得这是第一性原理的体现,在我看来这些理解都是对的,但我更想强调的一点是,高举高打不是谁都能做的

特斯拉真正让我觉得极其难以被其他企业复制的地方,在于不论做的事情有多么困难,作为一家初创企业它总能坚持到收效的那一天

都说人无远虑必有近忧,但反过来讲,人无近忧方可远虑

特斯拉发展至今已经渡过了最艰难的时期,在今天这样的快速发展期,它有足够的资本和实力在前瞻性业务上坚持长期主义。

以中国的新能源市场竞争为例,Model 3 和 Model Y 这两款分别发布于 6 年前和 3 年前的产品在这个市场上面对各种今年发布的新品依然有着明显领先的销量。一方面因为这两款产品本身竞争力不俗,其次在如今新品牌靠产品打江山的时期,特斯拉已经建立起了友商难以企及的品牌影响力和供应链优势

如果和生存相关的问题是「重要且紧急」那么在特斯拉的待办事项上就没有「重要且紧急」的事项,目前「重要」的事情是为今后的发展做规划和储备,「紧急」的事情是增加产能。

于是当一个又一个背负生存危机的自主品牌为了抢占市场被迫打起价格战时,特斯拉却有自己选择的余地,可以按兵不动亦可以以价换量。本就走小电池低制造成本思路的特斯拉车型即便降价也只是赚多和赚少的区别,远不至于像某些企业那般亏本卖车。

对于一家以汽车销售作为主要营收的公司,良好的销量就是一切业务发展的底气,比如今年 AI Day 的三大环节 Optimus、FSD 和 Dojo。

对于 FSD 和 Dojo 的解读可以总结为特斯拉已经为接下来全球范围推送 FSD Beta 做好了车端软件和云计算的充分准备,特斯拉很有可能成为第一个在多个国家地区依靠单车智能实现点对点智能驾驶的企业,在此之后,FSD 软件营收的拐点也会随之而来。

但更宏大的目标是 Optimus。对于全球人口增长的悲观预判让马斯克开始寻找解决社会生产力短缺的解决方案。正如同今天中国市场的新能源内卷,几年前我们很难想象竞争会变得如此惨烈。虽然当下我们还没有受到劳动力短缺的制约,但如果在今后的某天制造业的产能或者利润率瓶颈变成劳动力,那么 Optimus 就有机会成为特斯拉应对挑战的法宝。

不难发现,特斯拉习惯把危机前置化,总是在为今后的发展做布局。所以很多的事情它比别人做得更早,也因此做得更好。这使得特斯拉在每个阶段它有足够的技能应付当下的竞争,同时它的技能库又在持续以行业领先的速度扩充。而所有特斯拉正在或者将要攻克的事情,多数都是长期的行业级难题,同时这些难题的背后都有着特斯拉宏大的愿景

这也是 AI Day 吸引人才的底层逻辑:想造一艘好船,先要激起人们对于探索大海的渴望。

撰文:莱因哈特

编辑:莱因哈特

这些也值得读

赞助本站

© 版权声明

相关文章

暂无评论

暂无评论...