★
欢迎星标 果壳硬科技
★
2016年特斯拉启动自动驾驶自主研发,到2024年6月V12.4版本推出,8年时间迭代4代硬件计算平台和12个软件算法版本。
V12版本采用端到端自动驾驶技术路线,产品具备拟人化的体验,被业界认为是自动驾驶“chatGPT”时刻。
本文给大家详细解答下特斯拉自动驾驶硬件计算平台和软件算法平台的演化历史,以及驱动自动驾驶方案必然进化到端到端背后的动力。
计算平台演进
HW1.0
1个前置摄像头
1个前置Radar (博世中程雷达传感器) 160米
12个超声波传感器
计算芯片:Mobileye EyeQ3芯片,采用传统CV算法解决问题,没有AI能力
生产时间:2014年-2016年
主要功能:基础ADAS功能,比如车道保持 AEB
HW2.0
前视摄像头:3个, 周视摄像头:4个,后置摄像头:1个
前方雷达:1个,探测距离160米(博世中程雷达传感器)
1超声波传感器:12个,探测距离8米
计算芯片:NVIDIA DRIVE PX 2 AI computing platform,21Tops
生产时间:2016年-2019年
支持功能:TACC,高速NOA, 自动变道, 自动泊车等
特斯拉从2016年开始自研智能驾驶算法,2年时间内性能一直弱于mobileye基于传统CV算法的性能,一直到2017年底才逐步赶上mobileye算法水平。
从基于传统CV算法实现ADAS功能过渡基于AI算法实现ADAS功能,是一种非连续性创新。如克里斯坦森在《创新者的窘境》中所描述的:很多非连续性创新刚开始用户体验不如老的方案,但是方案潜力比较大,迭代几轮后性能和成本很快会超越传统方案。
HW3.0
2016年1月,Jim Keller加入特斯拉担任Autopilot硬件副总裁。2月特斯拉启动了HW3研发,自研了车载推理芯片,设计用时18个月,2017年12月chip back,2019年正式装车。HW3硬件传感器系统兼容HW2,搭载HW2的车辆可以换装HW3硬件系统,特斯拉免费用HW3替换了很多HW2的硬件。
Tesla HW3 FSD 芯片规格:
BPU: 72 Tops (int8 量化)
CPU: 12xA72 2.2GHz
三星代工,14nm工艺
整板功耗:小于100w
安全性:双FSD芯片独立运行,功能安全冗余备份,任何一个系统出现问题,可以切换到另外一个系统上继续运行。
生产时间:2019年-至今
支持功能:ADAS, FSD,自动泊车等。
HW4.0
HW4.0启动设计在2020年,2023年开始装车,主要装在Cybertruck,改款的model-Y,model-3上。HW4.0硬件系统不兼容HW3.0,安装HW3.0的汽车没法换装HW4.0设备。HW4.0只能安装在特斯拉23年之后改款的车或者是新车上。
当前阶段特斯拉HW4.0和HW3.0跑的是一样模型,HW4.0推理能力强的优势没有发挥出来。马斯克表示在今年下半年会在HW4.0适配更大的模型。采用技术路线是训练更大的模型跑在HW4.0上,对这个大模型做压缩来适配HW3.0。
从HW4.0看硬件芯片设计前瞻性:HW4.0启动设计时特斯拉还没走通端到端,导致HW4.0设计的算力不够,HW4.0会变成一个过渡产品,很快会被HW5.0取代。
HW4.0和HW3.0性能指标对比,从下图指标可以看出HW4.0的性能是HW3.0性能的约3倍的增加。
HW3 (& FSD Computer 1) | HW4 (& FSD Computer 2) |
Samsung Exynos-IP Based | Samsung Exynos-IP Based |
12 CPU Cores A72:146KDMIPS | 20 CPU Cores A78:286KDMIPS |
CPU Frequency: 2.2 Ghz | CPU Frequency: 2.35 Ghz |
2 Neural Network (NN) Processors | 3 Neural Network (NN) Processors |
NN Processor Frequency: 2.0 Ghz | NN Processor Frequency: 2.2 Ghz |
14 nm Process | Estimated 5-7nm |
36 TOPS *2 = 72TOP | 50 TOPS * 3 = 150TOP |
1.2MP cameras around the car | 5MP cameras around the car |
DDR: 8G 128b LPDDR4 63.58GB/s | DDR:16G GDDR6 256b 896GB/s |
HW5.0
HW5.0 模型推理性能是HW4.0十倍,可以更好的支撑端到端大模型,预计robotaix车型将来会大批量搭载HW5.0。
25年底开始装车,适配HW5.0重新训练的模型预计要到26年。按照AI芯片行业3年量产上车经验,猜测特斯拉是在23年看到端到端模型效果大幅提升之后,立即着手设计HW5.0,HW4.0作为过渡。
特斯拉Robotaix 需要更大的模型和HW5.0来支撑更好的体验,猜测2026年特斯拉才会大规模运营Robotaix。
有传言HW5.0 FSD芯片会在台积电代工,使用台积电最先进的N3P 工艺。
产品功能
特斯拉在北美地区支持的产品功能如下表,FSD功能当前在中国还不支持,特斯拉已经在推进FSD功能进入中国,预计FSD最快24年年底进入国内。
产品 | 功能 |
标配版Autopilot(ADAS) | L2 ADAS: 按照SAE标准要求L2 都支持,包括AEB,自动变道,自动跟车,车道保持等。 |
增强版Autopilot(NOA) | Navigate on Autopilot:高速自动驾驶。 |
FSD | FSD:城市全自动驾驶。 |
算法功能演进
特斯拉从V9版本过渡到V12端到端架构,有几个关键阶段:
2020年: 引入BEV Transformer
2021年: 引入HydraNets
2022年: 引入Occupancy Network
2023年: 过渡到end to end
从特斯拉算法演化来看,特斯拉自动驾驶团队一直尝试使用AI取代基于规则的编码解决自动驾驶问题,进化到端到端是一种必然。
2020 引入bev Transformer
感知系统解决的问题是使用8个Camera感知环境的信息,包括周围车辆的位置、速度、车道线、标志牌、信号灯、行人等,然后在一个向量空间中表示出来。
在2020年以前,特斯拉使用C++编程语言创建了一个名为Occupancy Tracker的系统。该系统通过图像中的路缘检测,跨摄像头进行拼接,该设计有很多限制:
每个摄像头的检测结果并将其融合,虽然每个摄像头的预测都很准确,但当它们投影到向量空间时,准确性会降低。为了正确投影图像,每个像素都需要极其精确。
无法解决预测被遮挡区域和预测跨越两个以上摄像头的较大物体。
特斯拉通过单个神经网络同时处理所有图像,并直接输出到向量空间,引入了Bev Transformer,通过单个神经网络同时处理8路图像,把图像空间检测目标“Transformer”成向量空间,如下图所示:
2021引入HydraNets,规划部分模型化
8个Camera使用共享的骨干网络进行同步和融合的,再使用了几个“头”,这种结构就是特斯拉所称的HydraNet:多个头,一个主体。
这种结构的优点是:可以针对特定用例(如车辆检测)微调头的神经网络,而不会干扰其他任务(如车道线检测等)。
2021年特斯拉在规划部分也做了重大更新,引入Value NN和Policy NN和蒙特卡洛树搜索(C++编码)结合来解决规划问题,如下图:
2022引入Occupancy Network
引入Occupancy Network后,感知模块分为2部分:
HydraNet:检测车辆、标志牌、车道线等。
Occupancy Network:寻找三维空间中的占用情况。图像空间转换为立体占用,每个立体块分配一个空闲/占用值的网络。
Occupancy Network模型预测哪些物体(甚至物体的哪个部分)会移动。如下图前面有一辆公交车,公交车的前部在向量空间中变为蓝色,表示模型预测它会移动,公交车的后部是红色,表示尚未预测到它会移动。
创建一个将图像空间转换为立体占用,并为每个立体块分配一个空闲/占用值的网络,可以增强感知模块,帮助他们找到更多相关的特征,增加了很好的上下文理解,尤其是在3D方面。
Occupancy Network解决了如下问题:
解决现实物理世界目标物体不可穷举的问题:比如马路上一滩水,燃烧的汽油瓶,一只野生动物,HydraNet不能做到完全分类。
使用HydraNet物体检测失败会导致的许多错误,占用网络在检测物体方面比HydraNet物体检测系统要好得多。
可以检测三维空间占用的3D信息(类似激光雷达),对非标准化目标可以检测。比如路卡限高横梁,半挂的公交,陷下去的马路。
2023 走向end to end
22年 12 月:End2end FSD v12 立项。
23 年 4 月:v12 的demo表现打动了 马斯克,决定追加资源来加速end to end 的工程化。
23年8 月:特斯拉内部开始准备使用v12 取代 v11。
24年4月:开始大范围推送给终端用户。
如上图所示,进化到端到端需要完成下面几个工作:
规划模块:模型来实现,基于C++的代码规则代码不再需要,比如说:看到红灯减速停车等。
感知模块和规划模块,不能分开训练,每个模块不能单独优化的,需要考虑整个系统的目标。
两个模块之间用feature map数据(不是人类可理解的含义)传递信息,训练时用一个lost函数做收敛,反向传播的梯度可以从规划模块延伸到感知模块。
机器通过学习1000万+人类驾驶视频片段,模型在面对未知情况时可以更好地进行泛化——它只需在训练中找到最接近的行为来采用。
驱动力
单位成本购买算力增长曲线
如下图所示,过去100年间每隔5年单位价格购买的算力翻10倍。
计算公司(芯片或者硬件)是一场和单位价格购买算力指数增长赛跑的游戏,跑不过这条曲线的公司都会被市场淘汰。
90年代1TOPS算力大约100万美金,
2020年1TOPS算力约8-10美金,
2024年1TOPS小于1美金(NV Orin-X 254TOPS 市场售价约250美金)。
自动驾驶摩尔定律
摩尔定律驱动了信息科技行业过去70年的高速发展,在自动驾驶行业,摩尔定律同样显现威力,自动驾驶摩尔定律:同等算力下,每两年自动驾驶硬件成本减半。下面有一些重要数据:
2022年实现城市FSD的BOM(物料)成本是15000-20000元。
2024年大约是7000-10000元。
2026年预计是3500-5000元。
特斯拉FSD的HW3 BOM成本是4000元,特斯拉一开始成本就控制的很好。
车载推理FSD AI 芯片单位算力价格大幅下降,20年1Tops算力约8美金,24年小于1美金。
支持自动驾驶行业传感器,如激光雷达,GPS 价格大幅下降,国内64线激光雷达最低到了1000元人民币,车载Camera价格也大幅下降。
AI吞噬软件
特斯拉从ADAS到FSD的发展是一个AI吞噬软件的例子:AI含量从10%到AI含量100%,基于规则的软件代码逐步被AI模型取代。
Tesla 自动驾驶关键人物Andrej Karpathy(已离开) 在自动驾驶行业的贡献媲美Tim Berners-Lee在万维网的贡献:坚决的推进特斯拉自动驾驶团队使用AI解决问题,引领全球自动驾驶技术路线朝着AI含量100%发展。
Andrej Karpathy 2017年在雄文《software 2.0》(https://karpathy.medium.com/software-2-0-a64152b37c35)非常有前瞻性:提到基于数据驱动的深度学习是解决问题的重要思路,基于深度学习的方案比基于逻辑编程的方案具备诸多优势:
底层硬件计算简单:矩阵乘法和零阈值(ReLU)处理,传统CPU指令集非常复杂。
运行态确定性:每一轮的运算需要运算量和内存量是确定的,不会有逻辑跳转。
灵活性高:如果推理算力不够,可以做模型压缩直接砍掉一部分网络,重新微调后立马可以工作。
方便融合:多个模型可以融合在一起变成多任务模型,训练时通过反向传播联动多个模型的训练。
通用方法解决问题有效性
计算机科学家Rich Sutton 2019年发表雄文《The Bitter Lesson》(http://www.incompleteideas.net/IncIdeas/BitterLesson.html[1]),总结了过去70年驱动人工智能发展的底层规律:
使用通用的方法,减少人为认知的归纳和复杂模型结构假设,只有使用通用的方法才有可扩展性。
不断增加更多的数据和算力( Scaling Law )。
用大白话总结如下:
当算力越来越大时,采用简单的模型结构,带来的可扩展性会越来越强,如下图红线所示。
当算力较低时,选用一些人为归纳的模型结构效果比较明显,但是随着算力的增加,归纳的模型结构扩展性变差,增大算力时,归纳的模型结构带来的效果增加有限,如下图蓝线所示。
Scaling Law(规模扩张定律)
Scaling law定义:把通用模型变得更大,使用更多的训练数据,模型的推理能力就越强。
动物大脑新皮质层具备智力能力,新皮质层使用通用算法去学习世界上所有的知识的。人脑和猴子智力差异就是新皮质层规模不一样,人类大脑有更大的新皮质层,具备更强的学习能力和理解世界的能力。
Tesla 在V12 版本上找到了自动驾驶能力快速提升的“炼金术”,Tesla后续会逐步增大模型,指数级增大训练的数据量,自动驾驶体验会越来越好。
HW3推理运算能力终究会出现瓶颈,个人猜测robotaix会在hw5硬件上推出。支持HW3 HW4 HW5的模型会分开训练,HW5支持推理更大的模型,效果必然是更好,个人猜测这也是特斯拉着急推测HW5原因,用于支撑robotaix大范围的运营。
Tesla近期在德州搭建新的计算中心,主要用于训练可以在HW4上运行的更大模型。
端到端自动驾驶路线放大了特斯拉优势
Tesla 积累自动驾驶数据是waymo的100倍,如下图。更多高质量的数据可以持续迭代完善更高质量的end to end驾驶模型,形成自动驾驶技术迭代的网络效应。
特斯拉有大量的汽车在路上运行,可以收集大量的badcase,用badcase解决问题的视频持续优化模型,模型的性能会越来越好。如马斯克所言,没有100万辆以上的实车持续收集数据迭代端到端模型,就不可能做成自动驾驶。
可扩展性
高精地图没有可扩展性:Tesla技术路线没有采用高精地图,采用高精地图方案的自动驾驶厂商(比如waymo),自动驾驶可行驶的范围必须是高精地图覆盖的范围,扩展性差。高精地图的采集制作成本很高,需要持续的定期更新。物理世界的道路每一天都在发生大量的变化,每一处变化实时体现到高精地图的变化中不具备可行性。很多自动驾驶问题引入都是因为高精地图和实际物理世界不一致导致的。
Tesla FSD 在不同国家扩展:end to end 方案在不同国家扩展时可以采用模型微调技术来解决,使用北美的end to end模型作为一个基础模型,把基础模型拿到中国,使用中国路况采集的数据做微调,微调后的模型跑在中国的tesla车上。微调的算力需求大约是基础模型训练的总算力的5%-10%左右。Tesla FSD在全球有扩展性,但也有一定的成本,预计Tesla FSD会优先考虑在北美,中国,欧洲三个地方落地。
End to end 可扩展性:预计Tesla FSD 会在今年年底或者明年引入中国运营,使用end to end 技术上已经具备了可落地性。基于end2end方案,扩展到全世界对模型微调处理的流程一致,收集当地的数据,使用机器去执行微调基础模型,不需要太多的工程师参与。如果基于规则编码的自动驾驶方案在全球扩展,需要大量的工程师去理解不同国家的交通习惯,用代码重新实现一部分规划控制算法,不具备可维护性,技术上也没有可扩展性。
国内端到端方案的挑战
tesla技术路线未公开:特斯拉在 2021 年 和 2022 年举办的 AI Day 确定了 BEV 和 Occupancy Network 的网络结构的标准,而其端到端的网络结构至今为止还没有对外披露,各家自动驾驶厂商需要自行摸索技术路线的细节,也许在未来 1~2 年内技术路线会逐步收敛。
数据:tesla FSD 训练使用上千万个视频片段,大约是几万小时自动驾驶数据,这些数据是从超过20亿英里的FSD里程数据中挖掘出来的,既有全面性,又有多样化,这种规模的数据类型只有几家汽车厂商可以做到。
训练算力:拥有的训练算力越大,完成端到端模型训练的时间就越短,越能抢占市场先机。当自动驾驶厂商拥有更大训练算力时,才有可能研发出性能更强(参数量更大)的自动驾驶end to end 模型。华为现在算力规模相当于4000张H100卡算力,4000张H100卡部署下来需要接近1亿美金。tesla现有3万张H100卡,年底预计部署到8万张H100的卡。
推理算力:推理侧算力越大可以支撑更大的模型运行,在现有的算力下部署端到端模型,需要对模型优化压缩来适配。
闵祖涛 | 作者
公众号“闵祖涛” | 来源
如果你是投资人、创业团队成员或科研工作者,对果壳硬科技组织的闭门会或其它科创服务活动感兴趣,欢迎扫描下方二维码,或在微信公众号后台回复“企业微信”添加我们的活动服务助手,我们将通过该渠道组织活动——