转载:Dojo超算上马,特斯拉挑战视觉极限
(2020-09-18 14:15:18)
标签:
财经 |
分类: 公司、行业研究 |
Dojo
超算上马,特斯拉挑战视觉极限
无人车情报局
昨天
以下文章来源于新车一讲 ,作者Chris
Zheng
新车一讲
智能汽车信息平台,与所有人交流智能汽车
导读:
本文由新车一讲授权发布,作者为Chris
Zheng。
为了实现自动驾驶,显然需要 360°
的视觉覆盖、冗余的前置摄像头和计算平台、动力和转向系统,特斯拉在2015 年到 2020
年间以这段话为行动纲领迭代了三个硬件版本,本文重点回顾了特斯拉的视觉感知进阶之路。
通过算法的迭代,自动驾驶汽车能否从 SAE L2
级辅助驾驶逐步发展到 L4 级自动驾驶?
2015 年 6 月,Google 无人车项目(Waymo
前身) CTO Chris Urmson 的答案是:NO.
「(从 L2 过渡至
L4)就像你努力练习弹跳,期望有一天学会飞翔一样不现实」。
在同一时期,特斯拉 CEO Elon Musk
选择踏上这条「不归路」。
全车 8 颗摄像头、自主研发 FSD
自动驾驶芯片、团队的多次重组、超级计算机 Dojo 上马……因为坚持 360°
视觉感知,特斯拉自动驾驶技术路线永久性地偏离了行业的主流趋势,走上了一条独特的道路。
从 2015 年到 2020
年,特斯拉的视觉感知进阶之路,我们一起回顾。
1
8 颗摄像头
2015 年 10 月 14 日,特斯拉召开 Tesla OS
v7.0 系统更新发布会。那早已不是特斯拉的第一次系统更新,Elon 专门召开发布会,是因为这是特斯拉历史上首次推送更新,启用
Autopilot 辅助驾驶系统。
第一版 Autopilot
可视化
这是特斯拉乃至智能驾驶行业的标志性事件。
Elon 在发布会上说,每一位 Model S
车主(Model X 尚未交付,Model 3 尚未发布)都是培训专家(expert
trainer),特斯拉将通过系统收集各地道路上的路测数据,训练 Autopilot的算法,并通过整车 OTA 更新,使
Autopilot 系统的鲁棒性越来越好。
不过,这场发布会远没有一个月后的一个新消息重磅。
11 月 3
日,特斯拉在智能驾驶领域的核心盟友,Mobileye CEO Ziv Aviram 在其财报会议上泄露了 Autopilot 2.0
的硬件架构:
我们正在与一家车企合作,这是汽车行业历史上第一款搭载 8
颗摄像头的汽车,除了前置三目摄像头,车身周围还有 4 颗摄像头,以及 1 颗后置摄像头,加上 1
个毫米波雷达和车身周围的超声波传感器。
该系统将基于 5 块 Mobileye EyeQ3
芯片组成的计算平台运行。
Ziv Aviram
拒绝透露这家车企的名字,但在几天后的另一场公开会议上,他提到特斯拉比其他任何车企都更快、更激进地挑战技术的极限(Tesla is
willing to push the envelope faster and more aggressively than any
other OEM),并暗示新系统有望于一年内上市。
这等同于官宣了特斯拉 Autopilot 2.0 硬件车型将于
2016 年实现量产,也侧面说明在技术高速迭代的 2016 年,Autopilot 1.0
硬件从投产第一天起就是「炮灰」属性的存在。
当然,后来我们并没有见到所谓「基于 5 块 Mobileye
EyeQ3 芯片组成的计算平台」。
2016 年 5 月,特斯拉 Model S 车主
Joshua Brown 启动 Autopilot 后打开 DVD 看起了《哈利·波特》。Autopilot 和 Joshua
Brown 都没能「看见」正在横穿的白色半挂,Joshua Brown 在事故中身亡。
史上首起误用 Autopilot
致死
这起事故直接导致了特斯拉与 Mobileye
的公开对峙,最终,汽车行业对视觉感知信仰最深的两家公司选择了分道扬镳。而特斯拉 Autopilot 硬件 2.0 测试版中 5 个
EyeQ3 芯片组成的计算平台,也被来自英伟达的 Drive PX2 平台所取代。
2
FSD 芯片
2016 年 10 月,「炮灰」属性的 Autopilot
1.0 硬件车型在投产刚满两年就面临退市——这一时间段远低于汽车行业平均七年一换代的产品周期。
特斯拉宣布,以 8 颗摄像头、英伟达 Drive PX2
计算平台为标志的 Autopilot 2.0 车型正式量产。
与此同时,特斯拉推出了备受争议的、汽车行业历史上第一个自动驾驶(Full
Self-Driving)选装包。
人们都以为,Autopilot 2.0
硬件会在未来几年内大放异彩,直至 Autopilot 实现自动驾驶。但 Elon 非常清楚 8 颗摄像头对算力的庞大需求,英伟达的
Drive PX2,无非是「炮灰 2.0」。
2015 年 9 月,从 AMD 离职的芯片大神 Jim
Keller 面临两个抉择:一,加入三星奥斯汀半导体公司,领导三星手机 SoC 的开发;二,创办一家 AI
芯片公司,专注于垂直场景的应用。
最终,一个更有吸引力的职位否决了上述两个选项:2015 年
12 月,Elon 亲自找到 Jim Keller,说服他加入特斯拉,负责特斯拉自动驾驶芯片的研发。
2019 年 4 月,特斯拉召开自动驾驶投资者日,宣布搭载
FSD 自动驾驶芯片的 Autopilot 3.0 硬件正式量产装车。
FSD 自动驾驶芯片在特斯拉 Autopilot
发展历程中有着重要意义。
统领 FSD 芯片研发的 Autopilot 硬件工程副总裁
Pete Bannon 说过:FSD 芯片项目最大的特点就是「只有一个客户特斯拉」。
在去年发布会后的问答环节,Elon
在评价特斯拉芯片合作伙伴英伟达时表达了类似的观点:英伟达是一家伟大的公司,但他们有许多客户,不得不做一个通用的芯片解决方案。
大多数人无法理解「只有一个客户特斯拉」的重要性。Fortune
曾报道过 Jim Keller 在特斯拉时期的芯片设计思路:1. 深刻理解特斯拉 Autopilot 的软件运行机理;2.
缩减或砍去通用芯片(例如,英伟达芯片)中与特斯拉软件无关的模块。
因此,大幅提升性能的同时降低能耗的秘诀在于芯片设计过程中的取舍。相比「取」,「舍」的意义更为重要。
最终,架构设计变得弥足精确,异构设计执行并行计算的 NPU
占据了 SoC 中最大的物理面积,方寸之间,锱铢必较。
每一块 FSD
计算平台上都搭载了两块完全一致的芯片,每块芯片的算力为 72 Tops,而前代英伟达 Drive PX2 平台的算力为 8 - 10
Tops。与此同时,Drive PX2 的能耗为 57W,而特斯拉 NPU 的能耗为 15W。
用 Pete Bannon 的话说,他将近 40
年的芯片工程生涯里从未见过新一代芯片性能提升超过 3 倍的,而特斯拉提升了 20 倍(图像帧幅 HW 2.0 110 帧 VS HW
3.0 2300 帧)。
特斯拉通过将 SoC
设计、电源设计、信号完整性设计、封装设计、系统软件、电路板设计、固件及系统验证等多个团队垂直整合、研发流程并行推进,最终用 36
个月实现了从第一名员工入职到芯片全面装车上市的完整流程。
3
「运营假期」
2020 年 9 月 11 日,通用汽车旗下自动驾驶公司
Cruise 发文介绍了一种叫做「持续学习机(Continuous Learning
Machine)」的深度学习基础设施。
简单来说,「持续学习机」结合了支持自动标注数据的自监督学习框架和主动学习数据挖掘的框架。
Cruise
自动驾驶汽车通过主动学习,自动识别系统感知错误的极端场景,并将其加入到 Cruise
训练数据集中。自监督学习框架支持自动标注数据,大幅降低标注成本,提升深度神经网络的迭代速度。
通过「持续学习机」,Cruise
实现了深度学习基础架构各种费时费力环节的高度自动化,让持续学习机真正做到持续学习,而无需人工干预。
等等,在 2020 年之前的年份,比如 2017
年,Cruise 是怎么做算法训练的?
算法的迭代离不开大数据的训练。在此之前,机器学习算法训练应用的主流方法,叫监督学习。
所谓监督学习,指的是数据在给到算法训练前,需要先经过人工标注。(举例:人工标注最基础的部分就是画框,对图片上的机动车、非机动车、行人、红绿灯等用不同形状的框标注出来)。
人工标注
这是人工智能行业快速发展进程中的一个隐秘江湖——根据新华社
2019 年 9 月 10 日的报道,仅北京一座城市就有 100 多家专门从事数据标注的公司,全国有超过 1000
万人在从事数据标注工作。
这也是一向头顶高精尖光环的人工智能技术却又被揶揄「数字富士康」、「劳动密集型产业」的主要原因。
2017 年的
Cruise,和绝大多数企业类似,通过以监督学习为主的开发流程来推进感知算法的迭代。
在同一年里,OpenAI 研究科学家 Andrej
Karpathy 加入特斯拉,担任特斯拉 AI 总监。在他的社交平台简介里,Andrej
写道:我喜欢在大型数据集上训练深度神经网络。
摆在他面前的是一个如此规模的数据库:截至 2016 年 10
月,Autopilot 累计运行里程达到 2.22 亿英里,而同期的 Cruise 自动驾驶路测里程为 13
万英里。
特斯拉和 Cruise
之间巨大的「数字鸿沟」决定了,从第一天起,特斯拉就无法基于传统的人海战术做数据标注,来进行算法的迭代——天文数字的人工标注成本会完全拖垮
Autopilot / FSD 的商业模式。
2019 年 11 月,Andrej Karpathy
介绍了特斯拉的名为「运营假期」数据流自动化计划。不出意外,特斯拉应用了自监督学习框架,与通用 Cruise
如出一辙。
所谓自监督学习,是指用于算法训练的不再是传统意义上人工做好标注的训练集,而是一组纯粹的数据。通过对数据本身的特征进行挖掘,从而实现感知算法的持续迭代。
不仅如此,2019 年,Cruise 团队规模已经达到
1800 人,而 Autopilot 工程师团队只有 300 人左右,Andrej 领导的人工智能全栈团队更是只有 30
人。
这使得 Autopilot
团队采取更激进的数据流自动化:
我们正在使许多工作流程自动化,不仅涉及神经网络训练本身,还涉及
Ta 周围的一切。
we are automating alot of the
work flows is not just about the neural network training itself,
but everything surrounding that.
特斯拉人工智能团队的主要精力放在算法运行环境及流程自动化的建设、算法的校准、评估和持续集成,而非算法本身的开发上。
而特斯拉数据流自动化的终极目标,就是本节的标题:「运营假期」。
当一切都开发到理想形态时,自动驾驶系统应该自动完成进化,全程无需人为干预。所以人工智能团队在项目运营的时候可以去休假(因为无需干预),这就是项目最理想的形态。
4
Dojo 超级计算机
Dojo 是特斯拉自动驾驶技术架构中最神秘的组件。每每到
Dojo 的环节,Elon 和 Andrej 总会以「我们还没准备好谈论它」搪塞过去。
很长一段时间里,大众对 Dojo
的认知仅限于「特斯拉用于云端训练的服务器」。然而进入 2020 年,Elon 开始在 Twitter 持续公布 Dojo
的信息,最终为大众勾勒出了 Dojo 基本的轮廓。
简单来说,Dojo
是特斯拉用于云端训练的超级计算机,能够处理大量的视频训练数据并有效运行带有大量参数、大量内存和内核之间超高带宽的超稀疏阵列。Dojo
支持对大量视频进行无监督学习训练。
根据 Elon 的说法,Dojo 基于 FPGA
可编程电路芯片打造,目前的开发进度只有 0.01%,特斯拉仍需要大约一年时间来实现 Dojo V1.0
版本的运行。挑战不仅限于芯片,还包括复杂的供电与散热问题。
为什么 Elon 说 Dojo
是真正的变量呢?
在谈论 Dojo 的峰值性能时,Elon
说了这么一句话:
A truly usefulexaflop at de
facto FP32.
一句话里出现了两个术语 exaflop 和
FP32,还夹杂着两个拉丁语单词 de facto,确实在在一定程度上挡住了媒体的广泛传播(猜测是 Elon
故意为之)。我们一一说来。
FP32
是单精度浮点格式,这是一种深度学习领域的主流格式,表示神经网络中的权重、激活值和其他值。
相比 FP32,exaflop
是更重要的、极为典型的特斯拉式的话术。Exaflop 是一种浮点运算计量单位,表示 10 的 18 次方,即 1 exaflop
表示超级计算集群的运算速度可以达到百万万亿次 / 秒。
所以,这句话的完整翻译应该是:(运行格式为 FP32 的
Dojo)的峰值性能将支持以 exaflop 为单位计量。
为什么说这是非常典型的特斯拉话术?
2013 年,特斯拉在内华达州 Reno
市郊区还是一片沙漠的时候,宣布将建设名为 Gigafactory 的超级电池工厂。
2019
年,在经过一系列密集储备、收购快速提升电池产能的核心技术资产后,特斯拉又宣布下一座超级工厂将命名为
Terafactory。
这里的 Giga 和 Tera 分别出自电功单位
GigaWatt-hours 和 TeraWatt-hours,两个命名分别指以 100 万千瓦时和 1
亿千瓦时为产能单位的超级工厂。
建设 7 年后的 2020 年,特斯拉内华达州的
Gigafactory 年化产能达到 35 GWh / 年,成为全球产能最大的电池工厂。
那么 Dojo 从零到真正以 exaflop
作为计量单位需要花多长时间?其实前面已经提到了:特斯拉需要大约一年时间来实现 Dojo V1.0
版本的运行。
放眼全球,以 exaflop
为计量单位的超级计算机处在什么位置呢?以下是国际超级计算机大会(ISC)2020 年 6 月更新的全球超级计算机 Top 10
排行榜。
可以看到截至目前,全球尚未出现真正意义上的以 exaflop
为计量单位的超级计算机。排名第一的 Fugaku 峰值性能也仅为 0.415 exaflop。
相比 Elon 口中 Dojo
的超高性能,我们更应该关注的,也许是自动驾驶之于车企的意义。
再次回看前面的表格,排名前十的的超级计算机无一例外均由专业计算机制造商研发、由各国的国家实验室所有。而他们的应用场景,也无外乎是中长期天气预报、油气勘探、物理模拟、量子力学等领域。
也就是说,在此之前,超级计算机的研发落地更多是各国国家意志的体现,普遍应用场景也都是那些商业公司无法有效解决的超大型计算场景。
特斯拉是首个由业务(自动驾驶)的超高算力需求倒逼研发,去制造世界级超级计算机的汽车制造商。
当自动驾驶进入汽车行业后,我们还能继续将汽车行业视为以制造为基础的轻工业吗?没有什么比研发一台超级计算机,更能说明汽车行业已经完全进化为代表一个国家前沿科研能力的高精尖行业。
5
最后的临门一脚
在以 Dojo
超级计算机为主题的文章里,我们为什么要花超过一半的篇幅来铺陈特斯拉的 8 颗摄像头、FSD
自动驾驶芯片和数据流自动化开发流程?
一切的原点,都源于 2015 年的 8 颗摄像头。2015 年
10 月,在特斯拉 v7.0 发布会 QA 环节,Elon 将特斯拉 Autopilot
部门未来五年计划和盘托出:
(Autopilot 1.0
硬件)不是完整的自动驾驶传感器系统,为了实现自动驾驶,显然需要 360°
的视觉覆盖,需要冗余的前置摄像头、冗余的计算平台、动力和转向系统。
五年的时间,特斯拉 Autopilot
以这段话为行动纲领迭代了三个硬件版本。
「冗余的动力和转向系统」,加上尚需一年时间完备的 Dojo
超级计算机,特斯拉自动驾驶汽车还差最后的临门一脚。
前一篇:牢骚太盛防肠断,风物长宜放眼量。
后一篇:今天是和太太结婚25周年纪念日