TeslaAIDay2022万字解读:堪称自动驾驶春晚,去中心化的研发团队,野心勃勃的向AI技术公司转型

原创 汽车ECU开发 2022-10-05 09:00

作者| EatElephant

AI Day 2022所涉及的领域实在是太广泛,从机器人到自动驾驶,从算法创新到数据闭环,从AI编译软件优化,通讯优化,到底层推理训练芯片硬件设计理念,即使作为自动驾驶行业从业者也很难做到对每一个部分都了解的面面俱到,因此本文着重解析AI Day自动驾驶方面内容,类人机器方面其实目前看来还比较初级,离产品商业化还有距离,技术分享本身也不够深入,因此只会在文末对Tesla bot做简单的评述和展望。此外AI Day II技术分享广度十分惊人,但某些部分不够细节,因此本文也会加入一定的自己的理解,因此少量的错误以及与实际有所出入也在所难免,欢迎有对某些模块更了解的朋友理性讨论,纠正指出。


1.概况

2022 AI Day Tesla所展示的其在自动驾驶和人工智能方面研发的创新和广度是前所未有的,虽然近几年来通过不断的技术分享,Tesla独特的技术方案已经逐渐为业界所熟知,但今年所分享的很多最新的理念和创新,包括彻底贯彻端到端的数据驱动方法到技术方案的各个部分,以及从底层硬件到顶层算法的高度纵向集成优化带来的性能飞跃等,仍旧令人瞠目与震撼,因此我觉得把Tesla AI Day称作自动驾驶领域的春晚也一点也不为过。下面我会尽量用通俗易懂的方式来分享一下我对于Tesla AI Day的解读。


2.自动驾驶FSD部分

栅格网络 Occupancy Network

如果在鸟瞰图坐标系下的BEV感知是高水平视觉为主的自动驾驶方案的敲门砖,那么Occupancy Network就是纯视觉自动驾驶技术的又一里程碑。Occupancy Network最早在去年其实就出现在FSD Beta的Release Note中,但是广泛的为大家熟知应该来自于CVPR 2022 自动驾驶workshop中Ashok的分享。

CVPR 2022 Ashok分享Occupancy Network的模型框架

从Ashok的分享可以看出,占据栅格网络Occupancy Network并非推翻了鸟瞰图BEV感知的技术基础,而是对BEV 网络在高度方向进行了进一步的扩展,从上图可以看到整体框架在对各个相机进行图像平面特征提取以后,仍旧是接一个Transformer的模块,在图像feature map中通过MLP生成Value, Key,并利用BEV坐标系下栅格坐标的位置编码生成Query,不同的是这次栅格不只是BEV感知中的2D栅格,而是在高度方向又增加了一个维度变成了3D栅格,进而生成了Occupancy Features替代了原本的BEV Features。

AI Day上的占据栅格技术框架

而在AI Day上的分享相比CVPR上又更加详细了一些,这里可以看到3个方面的改进:1.最左侧基于原始光子计数(Photon Count)的传感器图像作为模型输入,而没有经过ISP等常见的图像预处理方法,根据Tesla之前的分享可以强化系统在低光照可见度低的条件下提供超越人眼的感知能力。2. Temporal Alignment利用里程计信息,对前面时刻的栅格特征(Occupancy Features)进行时序上的拼接,如图所示不同时间的feature有着不同的透明度,似乎随着时间远近还有一个权重的衰减,然后时序信息似乎实在Channel维度进行拼接的,组合后的Occupancy Features会进入Deconvolutions的模块来提高分辨率。这样看来目前Tesla在时序利用上可能也更倾向于使用类似Transformer或时间维度作为一个Chanel的时序CNN这样的可并行的时序处理方案,而不是AI Day I中所提到的Spatial RNN这样的RNN方案。3. 与CVPR公布的方案相比Occupancy Network除了输出3D栅格特征和栅格流(速度,加速度等)以外,还增加了两个基于Query的亚像素几何和语义输出,这个基于x,y,z坐标的Query思路很像NeRF(应该是受此启发),能够提供给Occupancy Network变分辨率聚焦能力,相比几个月前的CVPR,已经有了这样更新的迭代,Tesla这样的迭代速度实在令人惊叹。

那为甚么说Occupancy Network是纯视觉自动驾驶领域的又一里程碑,甚至是个人认为是纯视觉领域最为重要的技术突破呢?这就要提到纯视觉一直被人诟病的对于未知障碍物的识别能力。一直以来普遍看法认为基于识别的视觉感知一定要识别到见过的障碍物才能进行避障,对于从未见过的异型障碍物则束手无策,于是无法识别缺乏纹理横在路上的白色大货车就一直成为很多人对Tesla纯视觉方案口诛笔伐的焦点,也正因此,无论视觉感知算法如何强大,Lidar一直被一些人视为安全的自动驾驶不可或缺的传感设备。

Tesla纯视觉方案被诟病的撞大货车事故

然而这种偏见其实本质上是对AI算法的进步缺乏了解,视觉感知其实很早就不完全需要基于识别了,即使在2D图像平面的感知上,也有着可通行区域的识别,可以不依赖于障碍物的识别。

Mobileye 图像平面感知中蓝色区域就是不基于识别的可通行区域视觉感知结果

2D平面感知的可通行区域结果很难直接用来进行下游路径规划,但如下图3D Occupancy Network感知结果就直接可以用来指导自动驾驶路径规划,这个后面在Planning部分会进一步介绍。

异型车辆施工车以及地面警示杆都被正确感知

上图可以看到施工占路的异型车辆以及异型车辆所放在地上的警示杆都被Occupancy Network正确感知,这恰恰是之前没有Lidar很难做到的。而与Lidar相比,视觉的语义感知的能力更强,Occupancy Network相比Lidar的优势在于可以更好地将感知到的3D几何信息与语义信息融合,而不需要对Lidar和相机进行时间同步,外参对齐等工作。可以看到这里异型车是红色栅格,这里表示这一个静止车辆,这正是由于Occupancy Network在一般障碍物几何感知的基础上还附加了语义和速度,加速度输出。下面两个例子更能很好的说明Occupancy Network的这两项优势。

地面烟囱黄色静止障碍属性,长公交被分为两段分别赋予动静属性

上图地面出现的烟囱被正确识别形状并赋予黄色静态障碍物属性,而右侧的长客车,前半部分刚开始运动,被赋予蓝色动态物体属性,而客车后半部分由于还处于静止状态,被赋予了红色静止物体属性。

不断摆动的挂车也被正确感知

上图高速上行驶的挂车,尾部发生摆动,其形态不断变化,也被Occupancy Network正确感知且赋予了正确的蓝色动态物体属性和相应的速度和加速度。

而这样复杂的Occupancy Network可以在10毫秒中计算完毕,也就是说Tesla Occupancy Network的输出可以达到跟相机同样的36Hz,而目前绝大多数Lidar的采集频率只有10Hz,因此在高速环境或者对快速移动的物体感知方面,纯视觉的Occupancy Network甚至可能做到比Lidar更强。

车道线及障碍物感知 Lane & Object Perception

Tesla的车道线感知在BEV时代就已经是业界最强的存在,FSD Beta在2020年10月开始进行公开测试也证实掀起了学术界研究BEV感知的热潮。AI Day II分享了车道线感知的最新进展,包括v10.69后在FSD Beta Release Note中出现的Map Guidance Module以及在v10.11中就出现的端到端Vector Lane感知。

FSD 车道线感知技术框架

从AI Day的分享可以看到FSD的最新车道线感知已经是基于3D Occupancy的感知,而不再是仅仅基于2D BEV,另外之前Occupancy Network也提到了地面曲面感知,可知现在Tesla的车道线感知是具有高低起伏变化的车道线感知。这里第一个与之前版本车道线感知不同的点就是Map Component的引入。Tesla提到他们使用了低精度地图中关于车道线几何/拓扑关系的信息,车道线数量,宽度,以及特殊车道属性等信息,并将这些信息整合起来进行编码,与视觉感知到的特征信息一起生成车道线Dense World Tensor给到后续Vector Lane模块。

借鉴语言类模型的Vector Lane模块

后续的重头戏其实是借鉴语言模型开发的Vector Lane模块。这里Vector Space Encoding即上图的Dense World Tensor,而整个模块的思路是把车道线相关信息包括车道线节点位置,车道线节点属性(起点,中间点,终点等),分叉点,汇合点,以及车道线样条曲线几何参数进行编码,做成类似语言模型中单词token的编码,然后利用时序处理办法进行处理。这里框架看起来非常像Transformer中的Decoder,前序车道线token作为decoder的输入进行Self Attention,再在Cross Attention步骤里生成Query,而Vector Space Encoding则整体生成Value和Key来与前序Token结合生成最新的token。

生成的车道拓扑效果很好,但也并非完美

这个思路很清晰,也不难理解,其实在高精地图矢量话的相关论文中早有类似的尝试,但是其中如何对Vector Space进行编码,如何对车道线各种属性进行编码,以及如何在推理端实时运行这些工程细节相比整体思路而言应该更为关键。目前看来FSD能够实时的获得非常复杂路口的道路连接关系,这些拓扑关系对于自车规划以及对于其他车辆的轨迹预测都十分关键。这样恐怖的实时视觉感知,甚至有些黑魔法的意味,如下图所示,这些道路连接拓扑并非来自于地图,其证据就是观看实际视频的时候随着自车未知角度以及可视范围的变化,这些连接关系并不是一成不变的,而是会持续进行微调。

FSD实时感知路口复杂的道路连接关系

另外目前看来Tesla的生成的Lane Graph Vector也并不是完美的,除了一些节点和连接问题,在使用感知车道线连接关系时候也有着一些瑕疵,例如下图是AI Day上展示的一个视频片段,明眼人可以看出这里对向左转车辆轨迹预测并没完全与车道线感知匹配起来,比如这一时刻就预测到了中间隔离带,上一时刻则转向了逆行车道,这样的轨迹预测精度可能会在复杂路口路径规划过程中造成一定的问题,但是这些问题是性能方面的问题,整体技术框架已经越来越趋于完善,后续性能提高则需要不断在现有基础上迭代就一定可以提升。

对向车辆预测轨迹与车道线连接关系不匹配

障碍物感知是个2-Step的感知,有点类似图像检测中RCNN类的方法

在障碍物感知方面分享的细节则更少一些,这里比较着重提到的是现在FSD的Object Perception是一个2-Step的方法,思路类似于Faster-RCNN这种两步检测框架,先通过Occupancy Features生成一个ROI map,然后再将ROI区域与Occupancy Features结合,在concat一些运动学信息的编码(如自车运动,目标行驶车道线,交通灯交通信号等)然后在接入轨迹预测,VRU预测等。这样的方法可以讲一些复杂的感知Heads聚焦于有限的ROI区域,提高了整体感知算法的运算效率。

基于Vector Space的FSD路径规划

这次AI Day 2022比上次AI Day分享了更多一点的决策规划内容,这两次分享对决策规划的讨论都比较简单,远不如感知部分细致详尽,然而Tesla的决策规划控制算法在行业中毫无疑问是极强的,简单到我日常使用免费版Autopilot车道保持在几乎任何高速弯道都能无障碍通过无愧弯道王者的称号,复杂到在北美地区不使用高精地图的FSD就可以在无车道道路,旧金山九曲花街这样鬼畜连续急弯,高低起伏的山路,复杂快速车流无保护路口借中间分隔带左转(aka Chunk弯)等等,

通过两次AI Day基本上可以看出Tesla决策规划的大体框架,最宏观看是一个Sample Based颗粒度从粗到细的增量树搜索,在树搜索过程中又有两个核心模块,决策树生成和决策树剪枝,整体决策规划框架如下图:

Tesla规划模块决策树搜索示意图

1.决策树生成:生成决策树的初始输入来自于前面车道线,障碍物以及Occupancy Network感知得到的Vector Space, 通过Vector Space规划出后续潜在目标状态,如目标车道线,目标路口,超车等,然后这些目标状态又可以进一步拆分成规划动作(轨迹)集合,最后规划的轨迹还要考虑与周围动态障碍物可能出现的博弈场景。这里最终要的是如何生成决策分支的算法,传统算法基于条件约束的优化方法获取最优路径,特斯拉采用递增的方式不断加入新的约束,用较少约束下最优方案作为初值继续求解更加复杂的优化问题,最终得到最优解,Tesla工程师提到这种方法虽然在离线进行了很多预生成,并在在线做了并行优化,然而每个候选路径1~5ms的计算时间虽然已经很优秀,但对于尽可能遍历城市场景复杂还是不够快,Tesla于是使用了另一套数据驱动的轻量生成网络帮助快速生成规划路径。这个数据驱动决策树生成模型使用Tesla车队中人类驾驶员驾驶数据和在无时间约束的离线条件下规划的全局最优路径最为真值进行训练,能够在100us内生成一个候选规划路径。

结合优化方法和深度学习方法的路径生成模块

2.决策树剪枝:有了决策树生成算法,就有了完整的规划问题定义,然而即使使用上述生成方法,要在限制的响应时间内遍历复杂场景决策树也是不可能的。因此一个能够对于候选路径进行快速评估,打分,拒绝掉离谱的候选路径从而对决策树进行剪纸的系统就成了决策规划系统的另一块拼图。特斯拉同样采用了传统方法与数据驱动相结合的办法,采用碰撞检测,舒适度分析,以及根据车队人类驾驶员实际数据和影子模式训练模型来预测一个候选路径导致接管的概率以及候选路径与人类驾驶员开车路径的差异这样四个方法进行候选路径评估完成剪纸。

通过传统方法和数据驱动方法进行决策树剪枝

最后决策规划部分还结合上面提到的Occupancy Network讲解了Tesla对于未知及不确定性的决策,这里前面感知部分提到的Occupancy Network输出的占据栅格就起到了决定性作用。如下图所示,蓝色区域代表根据Tesla车身传感器可视角度以及3D占据栅格计算得到的可视区域,而针对未知区域则引入了Ghost动态物体,代表在未知区域可能出现的不可见动态交通参与者,需要根据这些假想的参与者做相应的保护性驾驶。

通过Occupancy Network对可视区域进行建模用来处理未知不可见场景

这些基于占据栅格的可视区域建模,Ghost动态物体等方法不是Tesla首创,早在几年前就有学术研究在使用Lidar的L4车型上提出这些规划方法,然而使用纯视觉的方法实现这一切显然是一大创举,另外从最新的FSD Beta实测视频可以看出,FSD开始懂得利用向前小步挪移开视野,同时在遮挡比较多的人形道,横穿马路时候进行保护性驾驶的策略都确认了AI Day分享的内容就在实车上运行着,这些比较前沿的规划研究都实实在在用在了Tesla FSD的产品中,可见FSD规划算法的先进性以及整个系统的完整性和复杂性,确实处于行业最顶尖行列。

自动标注和数据引擎 AutoLabeler & Data Engine

在自动标注方面这次非常难得的给出了通过道路重建作为车道线感知真值进行4D标注的方案,其本质上是一个基于Tesla强大视觉感知能力的众包建图,然而不同之处在于Tesla并没有显示使用这些构建的“低精”地图,而是将这些地图作为真值,内化到感知模型中,避免了对于拥有详尽信息的高精地图的依赖。

关于4D标注,早在19年Autonomous Day上Karpathy就做过了介绍,当时Tesla使用的是SfM的方式进行周围场景重建,然后再在重建的点云上进行4D标注,跟据2022 AI Day分享的Autolabeler演进过程可以看到当时拓扑只是基于单趟轨迹,重投影误差<3像素,整个标注还比较依赖人工,需要3.5小时进行一个clip标注。2020年由于引入了BEV感知,这里建图已经是基于BEV感知进行的建图,重投影精度<7像素,人工标注耗时小于0.1小时,已经基本上可以实现自动标注了。而2021年至今自动标注开始使用3D特征进行多趟采集轨迹的聚合重建,获得了<3像素的冲投影精度,人工标注耗时与2020相当,但计算效率显著提高,可扩展性也变得非常强。

Tesla车道线Autolabeler演进史

关于具体场景重建方案Tesla介绍了其中几个关键步骤,包括:

1.基于时序视频输入,IMU,轮速计构成的车段运行的语义VIO,在车端获得6自由度100Hz高频连续轨迹输出。这里与常见里程计一样,使用了tracking和optimization两个线程,不同之处在于特征点提取是在Vector Space下进行的,也就是特征点直接是位于3D自车坐标系下,类似激光里程计,而无需三角化获得3D landmark点,另外前端还使用了Occupancy Network里输出的地面估计,还有车道线曲线矢量表示以及全景分割结果,后面几个如何使用Tesla并没有明确给出,猜测可能会跟据全景分割的语义信息和Occupancy Network的速度,加速度对于动态物体进行处理。最终里程计精度达到1.3cm/m,大概是1.3%,这个里程计精度其实谈不上很高,只能说勉强达到主流VIO精度,但是这一步理论上来讲不需要绝对精度太高,场景重建重头戏主要依赖后续多轨迹匹配关联,以及大规模非线性优化。

Tesla语义VIO里程计,其输出的连续轨迹估计同时会在车端Online使用,也会被Autolabeler建图Offline使用

2. 多趟轨迹拼接重建,通过粗对齐,关联,联合非线性优化以及最终的曲面优化等几步进行。这里基本上和主流的众包建图方法就没有任何区别了,唯一不通可能源自于Tesla强大的3D感知能力以及时序感知能力,使得前一步获得的局部单车轨迹重建的3D几何信息精度极高,精度远好于传统通过图像平面感知三角化获得的3D信息,与Lidar捕捉的信息相比应该也不差太多,而相比Lidar这些3D感知还有着更丰富的语义信息,可以极大避免误匹配,使得这一步多轨迹拼接虽然没有什么创新的地方,但是做出来的重建效果可能要明显好于传统视觉众包或Lidar众包(当然这只是从Tesla敢于大规模使用这种重建方式制作真值数据这一结果反推重建效果,Tesla并没有公布重建结果,我们也无法详尽对比其与主流建图算法的效果差异),最后重建好的可以看成一个带有语义的3D几何地图,然后人工标注人员再会使用重建的地图进行真值标注(其中应该会自动生成很多标注,人工只需要检查错误标注并进行修改就行)。

多趟轨迹拼接进行场景重建

3. 新数据标注自动生成,这一步是4D标注的精髓,也就是一次标注生成的真值可以跨越时间这一维度给在同一地点不同时间采集的数据提供真值。Tesla特意提到,通过这种真值自动迁移的方法,可以轻松获得人类都难以正确标注的这些场景的标注数据,训练模型拥有更好的适应低可见度(夜晚,雨,雾),遮挡等条件的能力。

基于历史重建数据和标注信息,自动生成新数据的标注

真值自动迁移帮助Tesla获得恶劣天气及遮挡情况下真值,帮助模型对这些场景更加鲁棒

这里其实个人对于这种真值的使用也有一些疑问,比如对向车道有时候是完全不可见的,那么如果强行把这部分标注给予模型,是否会对模型训练造成迷惑,导致其花很多算力和时间去尝试学习本就不可学习的内容,这些可能是Tesla所提到的工程难题,Tesla也并没有在AI Day上分享透露,稍显遗憾。

关于仿真方面我个人了解的不多,Tesla的方案听起来感觉也没有太多与众不同的地方,只是把一般基于高精地图的场景自动重建变成了基于4D标注的场景重建,我们刚才提到4D标注本质上是众包建图,所以这里其实方法与主流方法没有不同。AI Day上谈到了一些Tesla对于相机及其他传感器进行传感器仿真,获得足以媲美真是数据的仿真效果用来训练,这点感觉还是很惊人的,但可能业界也有类似的尝试。仿真本质上是Autolabeler的一部分,因为仿真渲染天生带有语义真值,因此只要仿真效果能极限接近真实,那么这些有着完美标注的数据就能够被真实模型训练利用起来,而仿真虽然无法保证做到对真实世界的100%拟真,却对一些实际有危险或极少发生的场景有着独特的优势,可以利用方针来针对这些少见场景进行大规模验证,从而提高整体自动驾驶系统的通用性和安全性。

Tesla仿真生成器框架

这一环节最后的部分是关于数据引擎,这一部分虽然韩裔小姐姐介绍的比较粗略,但是却实打实的是Tesla最核心的竞争力和战略壁垒之一。Tesla数据引擎自成闭环,由标配自动驾驶硬件的车队数据采集,到通过各种规则及影子模式下人脑AI差异(如接管,行为差异)构成的触发器Trigger引发数据回传筛选有语义信息的数据回传云端,云端通过工具对错误的AI输出进行纠正,放入数据集群,然后利用这些有效数据训练车端在线模型和云端离线模型,最终通过影子模式部署回车端进行新的测试比较不同版本指标,直到最后经过验证的新模型部署车端,完成一个完整的数据驱动迭代开发循环。这整个数据闭环无疑是当今数据驱动系统应用的典范,如今一直被各家模仿,然而想要做到Tesla这样高度自动话,流程化绝非一蹴而就,需要的不仅仅是了解框架的工作原理,还需要的是超强的工程实践能力以及不断的打磨迭代才行。

最后韩裔小姐姐提到了数据驱动的人工智能时代产业界与学术界最大的差异,那就是学术界总是保持数据不变,在稳定不变的数据集上不断迭代新的算法,以求提高模型性能,然而产业实践的核心在于寻找问题,通过主动获取相应数据,添加到训练集中,利用数据去驱使模型解决问题,这才是如Tesla等产业界科技巨头可以在数据驱动的人工智能时代反过头引领学术界的最本质原因。数据驱动本质上所学到的信息全部来自于数据,而不同的模型仅是在学习速度,效率等方面有差异,最终数据数量质量,决定了模型的上限。

Tesla数据引擎框架

关于使用地图的“哲学问题”,附一条前Tesla AI视觉总监Karpathy的Twitter回复:

Karpathy关于Tesla地图使用理念的twitter

FSD车端推理计算机&Dojo训练服务器

针对车端推理芯片这次AI Day上并没有分享很多内容,也没有发布大家期待的HW4硬件。AI Day后跟据一些实际参加AI Day的人透漏,跟据他们与Tesla工程师的交流获得的信息是,Tesla认为从基于NVIDIA芯片的HW2到基于自研FSD芯片的HW3的进化是跨越性的,是对实现FSD极其迫切且必要的,但Tesla认为目前峰值算力144TOPS的FSD芯片已经足矣支撑超越人类驾驶能力2x~3x的自动驾驶系统,HW4也许可以推进更加完善安全(10x以上人类驾驶能力)的高阶(L5)自动驾驶,但其必要性需要在算法足够成熟后才能体现,因此现阶段更新HW4并非耽误至极。实际上早在今年年初就有Twitter上知名人物Green称FSD芯片算力可能已经达到瓶颈,而算力瓶颈造成的FSD Beta偶发奇怪的形似短路的决策突变可能是在当前硬件条件下无法解决难题,然而随着时间推移,在最新的10.69上很多当时猜测和算力达到极限相关的问题,特别是突发的决策突变引起的安全类风险接管已经基本得到解决,跟据Release Note上Tesla精简了很多legacy的祖传模型(所谓祖传估计也就1-2年历史),以及其他很多底层优化,大大提高了FSD运算的帧率。由此可见Green的发现不能说没有跟据,但显然通过适当的优化,FSD芯片的性能也许才刚刚被真正发挥出来,由此可见这款已经发布了三年多的芯片如今仍然具备极其强大的性能。

2019年公开发布的由行业传奇Jim Keller和Pete Bannon领导研发的Tesla FSD Computer

从2019年Autonomous Day公布FSD芯片开始,自动驾驶行业就进入了算力内卷的时代,国内车企纷纷配备NVIDIA,地平线等芯片公司的最新车规自动驾驶芯片,算力从最早的Mobileye EQ4 2.5TOPS,到地平线J3 10TOPS,NVIDIA XAVIER 30TOPS,一路卷到如今地平线J5单芯片96TOPS,NVIDIA Orin单芯片250TOPS开始落地实际产品,以及刚刚NVIDIA公布的期货号称具有2000TOPS算力的雷神Thor,种种迹象表明关于绝对算力的军备竞赛已经开始并且必定成为日后一段时间最赚人眼球的营销噱头,毕竟算法的优劣一般消费者难以直观感受,那么算力如果代表智力,自动驾驶和人工智能肯定智利最重要啊,那么一个简单的数字就可以比较出优劣长短,就好像三国里武力100的吕布就稳压武力99的赵云一头,然而实际上两人从未实际交手,到底谁厉害?其实在三国历史上在武力上可能超出两人的大有人在,但不妨碍熟读演义的朋友为两者谁是三国最强争得面红耳赤。

其实车规芯片算力远远落后于PC上的主流显卡,这些芯片为了满足车规严苛的测试环境,不得不牺牲部分性能,以目前市面可以见到的TOPS最高的Orin为例,价格很高,性能却不如价格更低的主流游戏显卡,由此可见单纯追求TOPS根本就不是车规自动驾驶芯片的首要目标,而且现在学术界开源的深度学习模型基本上以PC显卡进行训练推理,往往一个BEV模型就把Orin资源拉满了,难以想象FSD上面跑了如此之多复杂深度学习模型究竟是如何才能保持高频流畅的。所以到底是为什么理论单核算力只有72TOPS,采用如今看来略显古典的14nm工艺,3年前发布的老芯片实战中拥有如此强大的能力,甚至至今还尚有潜力没有挖掘呢?

AI Day虽然没有着重讲FSD芯片,但是讨论了很多硬件方面的优化,从其中可窥得一二。下图中谈到系统性能等于硬件极限算力与系统软件效率与神经网络加速器的占用率三者乘积相等。换句话说,无论硬件理论TOPS有多高,三者中任意短板都会使得整体系统性能受到极大的损害,而这一宏观逻辑在整个算力优化中都是适用的,无论在推理端还是在训练端。

AI Day谈到系统性能的计算方法

AI Day上还有谈到硬件中最贵的核心部件就是神经网络加速器单元,因此为了提高系统的单位成本整体性能,最经济的方法就是保证神经网络加速器的最高效利用,而神经网络加速器主要由并行排列的乘加运算单元组成,我们平时所谓的TOPS,也就是理论上当所有这些乘加单元全部满负荷工作的时候一秒钟可以完成的万亿次整型运算次数。然而想要保持乘加运算单元一支高效运行绝非易事,有着高TOPS的AI芯片就好比有一门超高射速的速射机关炮,而要想保持这门机关炮饱和火力输出,显然传统的手工填弹方法是绝对不行的,如果由送弹手一发一发的人工装载,那你机关炮射速再快,实际能发挥出来的也就是填弹手填弹速度。在AI芯片中,将存储的计算任务所需的张量传给乘加运算单元的存储单元就可以看做是这个填弹手,而AI编译器是否能够对神经网络进行合理的流水线编排,并行化处理,算子融合等优化并生成高效的指令,并通过大带宽的存储硬件传递进神经网络加速器,就是决定填弹手能否高效填弹的流程和机制。

手工填弹无法满足速射机关炮饱和火力输出

FSD芯片在涉及时候就充分考虑了上层算法软件的设计选型,针对很多神经网络层是带宽密集型模块,设计了大面积的片上SRAM,这些SRAM相比传统使用的DRAM虽然成本高,容量低,但是带宽极高,再加上位于片上,与运算单元间物理距离极小,FSD芯片设计还优化了整体数据流连路,进一步减少电信号在芯片中移动距离,能非常高带宽低延迟的将模型参数和待运算的张亮送进运算单元。而算法与芯片间的AI编译器也充分考虑算法设计和底层硬件特性,而这部分虽然AI Day没有详细介绍,但是这部分是很多推理优化技术发生的地方,而针对性的适配硬件软件是最大程度的推理优化的前提,而这正是Tesla与苹果这样的软硬件一体化公司的竞争优势和核心壁垒所在。

软硬件一体化的Tesla通过优化AI编译器和底层硬件设计最大化提高了芯片实际性能

基于DOJO的训练服务器也已经取得了不错的进展,AI Day透漏预计2023年Q1将会开始交付用以进行AutoLabeler训练的DOJO服务器。DOJO的设计上也沿用了同样的设计理念,比如使用专门针对视频的硬件解码器来加速Tesla常用的视频片段数据的解码,强调对于片上SRAM和高速内存HRM的使用,强调最短的片上信息传输链路设计,以最大程度保证运算单元的满负荷运行。而Tesla分布式训练框架采用了模型并行而不是常见的数据并行策略,而为了进行模型并行,还涉及到优化片间梯度的同步效率,这里使用了Tesla自研的通讯协议Tesla Transport Protocol(TTP)来保证高效。

DOJO使用了自己开发的接口处理器,使用了自研的高速通信协议

Tesla举了一个在模型并行训练中通信延迟(也就是公式中Utilization部分)起决定性作用的Batch Normalization的例子来说名DOJO的优化带来的收益,使用24个GPU集群的服务器在计算一个Batch Normalization时候延迟是150us,然而在25个D1组成的DOJO训练服务器上,同样的Batch Normalization只需要5us就可以完成,效率提高了30倍。

DOJO在Batch Normalization的性能方面取得了显著的成果

另外在加速器使用效率(也就是公式中Accelerator Occupancy部分)上的优化,Tesla给出训练中占用负载最高的AutoLabeler和Occupancy Network部分优化前后的性能分析对比,优化前DOJO加速器占用率只有4%,大量时间消耗在数据读取装载上,而优化后,极速器利用率达到了97%,保证了DOJO高效的使用。

DOJO优化了数据装载,极大的提高了运算单元的利用率

最终DOJO研发的目标是提高Tesla模型训练的效率,同时降低GPU集群服务的成本。Tesla在AI Day上生成4个JOJO集群箱子就可以带来等效目前72个GPU集群的性能,如果情况属实,那么可以想像这将给Tesla模型迭代带来巨大的效率提升,同时也能节省大量购买GPU集群的成本。然而在Q&A环节有人提问ELON,因为DOJO使用了7nm工艺芯片,整体研发设计的费用应该很高,从研发成本角度其实不一定比购买市场上的GPU集群更具经济效益,这里老马的回答也肯定了提问者的猜想,确认如果DOJO训练集群效果符合预期,那么Tesla是希望能够以付费IaaS的方式开放DOJO训练服务给同样有需要进行云端训练加速的用户使用的,而如果发展顺利,这个能使得Tesla在高速发展的Data Center业务中也取得一席之地。


3.人形机器人Tesla Bot部分

技术亮点

AI Day开始前老妈的Twitter以及宣传造势都引发了大家对于Tesla Bot产生了浓厚的兴趣,然而发布会后很多人对Tesla Bot不免心生失望,因为从学术研发角度看,这个机器人确实没有多少能引起学术圈兴趣的亮点,然而要知道人形机器人的研发难度理论上要远高于电动汽车,然而AI Day I上还是个概念,时隔一年就已经由原型机,并且相对各个部分功能完整,这已经是十分令人惊叹的技术成就。另外就跟自动驾驶领域里Tesla的思路与学术界大相径庭一样,Tesla Bot首要目标是成为量产产品,自然研发理念和流程都会与学术界不一样,新颖和创新肯定不是这个阶段的重点。我个人专业是机器人无人车,然而对机器人并没有实际工作经验,所以这部分简单写写我在AI Day看到的有意思的点,其他更详尽的技术分析就留给别人吧。

1.材料选型执行器设计都把量产成本放在核心, 利用类似Tesla电动车研发中的有限元分析办法,通过如下图所示的硬件成本和执行器质量曲线,选取最经济的执行器设计,并考虑的执行器的互换性和可制造性,为周身28个执行器选取了6个最终设计。

六个最终执行器设计

2.灵巧的手部设计,这里有人提及过Tesla手部设计缺少反驱等是比较令人失望的,这部分我不太懂,但是直观感受是这个手部与人类很像,还能通过视觉辅助做一些精巧的如捏住水壶,搬运零件的灵巧工作,最重要的这些工作不是预先编程好的,具有一定通用性,这些正是一个可以辅助人类的机器人所应具备的能力。Elon曾经提到可能会开发带有轮子的特殊版本Tesla Bot以进行特殊应用,不知现在是否还是这个规划,但可以看出对于机器人来讲,能够执行实际工作的灵巧双手往往比能够进行复杂步态运动的脚更加重要。

原型机Bumblebee可以利用视觉指引灵巧地用手抓住水壶并进行浇花

3. 紧凑的设计,这里可以看到Tesla不仅复用了车端AI计算机和电池,还将之前概念中纤细好看的身体设计基本延续了下来。AI Day提到在涉及方面刻意优化了全身执行器重量,优化了静态状态能耗,而Optimus将使用2.3kwh电池就足矣提供大概一天的工作能量,这些设计理念虽不是技术上的创新,但是极大提高了这款人形机器人的实用性和口水度,可以想见以如今Optimus的外观设计结合勉强可用的功能和可承受的价格,一旦未来推出市场,大概率是又一爆款产品,对比之下Atlas虽然在跑酷能力上极其优秀,但他背着3.7kwh电池只能工作<1小时,头顶价格昂贵易坏的机械式Lidar,300斤的体重,都使得家庭使用变得不那么切合实际了。

运算和供能组建全部集成进躯干,最大程度轻量化四肢

最新机型Optimus明显比Bumblebee更接近2021年概念设计

波士顿动力的Altas拥有3.7kwh电池,头顶有Lidar,体重300斤

4. 延续自智能驾驶的智能,Tesla在人形机器人步态运动控制方面相比Boston Dynamics显然是个刚入行的新手,然而Tesla研发人形机器人的初衷便是最大程度上利用Tesla在造车和自动驾驶方面的优势,特别是自动驾驶研发过程中积累的算法经验,数据驱动能力,AI芯片能力,模型训练能力这些,也就是说智能是Tesla投入机器人领域最核心的竞争力。这一点虽然Tesla Bot诞生不久,但可以看到他已经可以较好地利用起FSD中的Occupancy Network,语义感知能力,来帮助Tesla Bot与周围环境互动。像在Occupancy Network那部分提到的,这一技术是纯视觉具有里程碑意义的技术,因此Tesla Bot如果可以成功借鉴显然是一大优势。另外机器人技术设计很多强化学习方面的算法,比如让机器人通过人类示教就能学会一类通用工作的执行方法,这就需要强大的模仿学习能力,而Tesla在自动驾驶规划方面也利用了类似的方法来使AI模仿人类开车技巧,就如下图,通过人类示教,机器人学习并泛化了半箱子这一能力。而我认为这也是拥有人类身体构造,且与正常人类身高体重相近的机器人的优势,没有这些条件,人类示教就必然受到种种条件限制。

Tesla Bot使用价格低廉的三个相机继承了FSD的大部分视觉感知和智能能力

Tesla Bot可以通过人类示教迁移获得更通用的能力

人形机器人展望

最后展望一下Tesla Bot的前景,有很多人质疑双足人形机器人研发难度又大,有没有实际意义,轮式四足似乎都比人形机器人有着明显的优势,但是正如刚才前面提到的,人形且与人类体格相近使得人类示教机器人完成各种人类习以为常的工作执行方法称为可能,而人类环境,无论是Tesla工厂还是家庭住宅,都有大量专门适用人类身型的设计,是其他机器人所无法完成的,比如机器狗可能比较难够到炉台上的锅,然后像人一样炒菜做饭,也很难举起只有人双手能够举起的箱子重物。有机器人创业者认为人类基础设施一直在为了提高效率适应工具而革新,举例来说,就是在汽车发明前,人类并没有这样多平整宽阔的硬质路面,因此只要有了有效的机器人,那么人类的环境也会为之迭代进化,但是这样就会遇到环境变化依赖于成熟完善的机器人出现,机器人出现又要求环境适应自己而变化这样的鸡生蛋蛋生鸡的悖论,因此我显然认为一个能适应现有人类基础设施的人形机器人是更容易推广的。另一方面,单纯就更容易为人类接纳,融入人类社会的角度,显然人形机器人也有其先天优势。

最后的最后,如老马所言,如果人类机器人真正成为一个可用,好用的产品,那么这意味着比新能源汽车更大的市场规模,这样巨大的商业机会值得去尝试,去创造,更何况Tesla已然在AI方面取得了不错的成果,why not?


4.总结

2022 Tesla AI Day我个人看完感觉有以下三点明显的特点:1. AI Day主要目的是通过技术分享确立Tesla在人工智能领域的影响力从而吸引全球顶尖人才的加盟,因此AI Day的技术分享极其硬核其硬核程度让很多从业者都会觉得脑细胞有点不够用,基本上不适合股票分析师和纯粹的车主粉丝等缺少技术背景的朋友们观看,因此分享进入愈发艰涩难懂的后半段,给了几个镜头,现场已经不断有观众离席,座位空了不少。2. 随着2022年上半年开始,在业界拥有巨大影响力的原Tesla AI视觉算法总监Andrej Karpathy逐渐淡出公司,业界不少质疑Tesla在自动驾驶和人工智能方面的发展是否遭受严重打击,因此这次AI Day可以看到Tesla前所未有地拉出23人的研发核心团队进行分享(包括3位华人和1个韩裔小姐姐),用去中心的方式展现了充足的人才储备,打消了人们对于AK离职的疑虑。3. Tesla在AI Day上的分享开放程度为之前历次分享之最,除了最新的人形机器人外,之前一直没怎么公开的Planning部分,地图指引下的感知部分也都有专门的模块进行讨论,另外最近几年随着FSD退出才逐渐成为学术界研究热点的BEV感知这次几乎从头到尾一字未提,反而是最新的Occupancy Network成为了技术分享的主角之一,可见Tesla短短一年时间已经完成从2D的BEV感知到3D的栅格感知的转变,可见Tesla超快的创新速度正是其敢于公开技术方案的底气所在,基本上Tesla在自动驾驶这个赛道已经明牌,就等其他友商接招了。

最后分享一个趣事,软件2.0的概念实际上是Andrej Karpathy提出,除了数据驱动的软件2.0以外其实还基于最近特别火的超大语言模型的发展,提出了软件3.0 引导编程Improptu Programming的概念。

Karpathy在Twitter上分享软件1.0到软件3.0

而AI Day II开始前,Karpathy也和朋友打赌,如果Software 2.0在AI Day上被提及,自己就喝5杯特斯拉龙舌兰shots(Tesla Tequila), Elon显然听说了这个打赌,然后下面就是Karpathy当晚最后的twitter。

Karpathy发推喝下Tesla Shots

END

版权声明:本文为知乎EatElephant」的原创文章,已获作者发表许可。

阅读原文,关注作者知乎!

分享不易,恳请点个【👍】和【在看】

汽车ECU开发 专注于汽车电子ECU软件开发,技术分享。
评论 (0)
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦