一张图,看特斯拉 AI Day 的秘密
前一阵,马斯克发推特宣布了特斯拉「AI Day」将会在北美时间 8 月 19 日正式举行。根据之前他的推特所说,发布会将会介绍特斯拉在人工智能领域的软件和硬件进展,尤其在(神经网络)的训练和预测推理方面;这次活动的主要目的是招揽相关人才。
这种做法非常的特斯拉,就像 2019 年的「Autonomous Day」和 2020 年的「Battery Day」一样,估计「AI Day」整个发布会将会涉及大量的软件、硬件的技术细节,以此来向外界「秀肌肉」。
而这种技术「秀肌肉」正是特斯拉招揽顶尖人才的独特方式。从某种程度上讲,特斯拉在召开类似的发布会时,面向的群体更多的是行业领域的专业人士;用极具野心的规划方向和颠覆行业的研发成果,去吸引那些因此感到心潮澎湃的人才。
特斯拉的 AI 硬件负责人 Peter Bannon 曾在接受采访时说:「你知道有很多人想要来特斯拉工作的根本原因,仅仅是因为他们想要从事于(FSD)的研发和相关工作。」事实上,美国近几年在统计工程类专业学生最想去的公司排名中,特斯拉和 SpaceX 经常交替排名第一,其实也佐证了 Peter 所说的这一现象。
(图/Universum)
尽管此次一如既往的并未泄露什么「AI Day」的信息,但仅通过上面那一张预热图,就让不少从事 AI 领域的人为止兴奋不已。
神秘的 Dojo 计算机芯片
在「AI Day」发布会的邀请函上,放着一张夸张的芯片图。
从图上估测,该芯片才用了非常规的封装形式,有多层结构组成具体有:
第一层和第五层铜质结构是水冷散热模块;
红色圈出的第二层结构由 5*5 阵列共 25 个芯片组成;
第三层为 25 个阵列核心的 BGA 封装基板;
第四层和第七层应该只是物理承载结构附带一些导热属性;
蓝色圈出的第六层应该是功率模块,以及上面竖着的黑色长条,很可能是穿过散热与芯片进行高速通信的互联模块。
从第二层结构的圆形边角,以及拥有 25 个芯片结构来看,非常像 Cerebras 公司的 WSE 超大处理器,即才特斯拉可能采用了 TSMC(台积电)的 InFO-SoW(集成扇出系统)设计。
所谓 InFo-SoW 设计,简单理解来说就是原本一个晶圆(Wafer)能够「切割」出很多个芯片,做成很多个 CPU/GPU 等类型的芯片(根据设计不同,光刻时决定芯片类型),而 InFo-SoW 则是所有的芯片都来自于同一个晶圆,不但不进行切割,反而是直接讲整个晶圆做成一个超大芯片,实现 system on wafer 的设计。
这么做的好处有三个:极低的通讯延迟和超大的通讯带宽、能效的提升。
简单来说,由于 C2C(芯片与芯片之间)的物理距离极短,加上通讯结构可以直接在晶圆上布置,使得所有内核都能使用统一的 2D 网状结构互连,实现了 C2C 通信的超低延迟和高带宽;以及由于结构优势实现了较低的 PDN 阻抗,实现了能效的提升。
此外,由于是阵列多个小芯片组成,可以通过冗余设计来避免“良品率”问题,以及实现小芯片处理的灵活性。
举个形象的例子,特斯拉前一阵公布的超级电脑,一共用了 5760 个 Nvida A100 80GB 的 GPU,那么在这些芯片之间,需要海量的物理结构进行连接以实现通讯,不仅耗费大量成本,且由于连接结构的带宽限制成为「木桶短板」,导致整体效率较低,并且还有分散的庞大散热问题。
这里拿 Cerabraas 的 WSE-2 作为参考对比,一个芯片的核心数是 Nvdia A100 的 123 倍,芯片缓存为 1000 倍,缓存带宽为 12733 倍,Fabric 结构带宽则为 45833 倍。
这样级别的性能怪兽其主要目的,就是为了 AI 的数据处理和训练。其一代芯片 WSE,已经有多个重量级用户在使用,比如美国阿贡国家实验室、劳伦斯利弗莫尔国家实验室、匹兹堡超级计算中心、爱丁堡大学的超级计算中心、葛兰素史克、东京电子器件等。
全球制药巨头葛兰素史克的高级副总裁 Kim Branson 称赞到,WSE 的超强性能将训练时间减少到之前的 1/80。而在美国最大的科学与工程研究室阿贡国家实验室,WSE 芯片被用于癌症研究,将癌症模型的实验周转时间减少到 1/300 还少。
所以不难推断出,「AI Day」邀请函上面放出的这张图,应该就是马斯克所谓的 Dojo 超级计算机的自研芯片。并且颇有意思的是,发布会的时间是 2021 年 8 月 19 日,而就在刚好一年前的 2020 年 8 月 19 日,马斯克发了一条推特说:「Dojo V1.0 还未完成,估计还需要一年的时间。不仅仅是芯片本身的研发难度,能效和冷却问题也非常的难。」
之所以说冷却问题难,是因为根据标准晶圆一块是 300 mm 来看,那么特斯拉这块 Dojo 芯片设计单个芯片应该与 RTX 3090 差不多,至少每个芯片有 280 亿 - 320 亿个左右的晶体管,单个芯片功耗可达 250 - 300 W 左右,整体功耗约在 6250 W - 7500 W 左右;并且台积电也曾说 InFo-SoW 设计的最高功耗约为 7000 W,同样印证了这一点。
几个月后,他又补充道:「Dojo 采用我们自研的芯片和为神经网络训练优化的计算架构,而非 GPU 集群。尽管可能是不准确的,但是我认为 Dojo 将会是世界上最棒的超算。」
并且,马斯克在 2021 年 Q1 财报时也曾说:Dojo 是一台为神经网络训练优化的超级计算机。我们认为以视频数据处理速度而言,Dojo 将会是全世界效率最高的。
其实马斯克早在 2019 年「Autonomous Day」就提到过 Dojo,称 Dojo 是能够利用海量的视频(级别)数据,做「无人监管」的标注和训练的超级计算机。
并且如果认真了解过 2019 年「Autonomous Day」发布会,就会发现,特斯拉推出 Dojo 超算以及自研芯片,是必然且在规划中的事,是特斯拉不得不去做的事。
换句话说,不是特斯拉想要成为人工智能巨头,而是被逼无奈只能如此。
为什么要做 Dojo?
其实这个问题马斯克曾在推特中回复过,大致意思为:「只有解决了真实世界的 AI 问题,才能解决自动驾驶问题……除非拥有很强的 AI 能力以及超强算力,否则根本没办法……自动驾驶行业大家都很清楚,无数的边缘场景只能通过真实世界的视觉 AI 来解决,因为整个世界的道路就是按照人类的认知来建立的……一旦拥有了解决上述问题的 AI 芯片,其他的就只能算是锦上添花。」
其实马斯克已经讲的很清楚了,便于理解我来补充一些知识。
自动驾驶目前需要解决的难题,其实最核心和最困难的就是「感知」,换句话说系统对周围驾驶环境的感知能力越强,其自动驾驶的综合能力就越强;也就是从这里,行业里分成了两大流派:一个是以特斯拉和 Mobileye(同时也有 Lidar 方案)为首的纯视觉方案;另外是其他所有相关公司,想尽可能加入更多的传感器融合方案。
这里暂且不去讨论究竟哪条路径是正确的,因为很有可能未来实现殊同同归的结果。
但是,无论是哪条路径,都需要对海量的数据进行深度学习,也就是对神经网络的训练,才有可能实现所谓完全自动驾驶,而且这是唯一途径。
原因很简单,自动驾驶的问题,可以理解为处理可能遇到的各种驾驶场景以及做出的操作,那么这个基本是「无限」的;如果用有限的编程方式,那么永远无法解决所有可能遇到的问题,或者说以人类的能力,根本无法覆盖那么多种变化的情况。
早期的各种自动驾驶系统,由于没有别的途径,只能用这样的「死板」方式去研发软件,所以其能力非常有限,只能应付相对稳定和条件限制较多的场景。
而如果想要实现识别各类型的场景,那么就需要这个「软件」不断自我适应和「进化」,这就是利用神经网络进行深度学习的原因了。
神经网络可以简单理解为通过「仿生学」模拟人类大脑皮层的神经元「沟通学习」的方式进行处理数据,用来实现「类人」的学习东西的方式。然而,概念很美好,现实很残酷。
1943 年 Warren McCulloch 和 Walter Pitts 曾写过论文讲述人工神经网络该如何工作,并且利用电路造了一个简单的模型。后来经过诸多人的努力和研究发展,直到 1998 年,斯坦福大学的 Bernard Widrow 和 Marcian Hoff 才打造出了第一套用于解决实际问题的人工神经网络。
1956 年,达特茅斯夏季会议上各路大牛提出了 AI 定义,大大推动了 AI 和人工神经网络的发展,也被广泛人为是 AI 元年。当时人们信心满满,认为不用 20 年就能打造出跟人脑差不多一样的 AI 系统。结果在不断研究中发现,深度神经网络的算法太过复杂,从而无从下手。于是放弃了当初「大而全」的目标形式,转为以执行单一目标为方向。
这其中除了因为对人类大脑的认识非常肤浅(到现在也没有进步多少),以及人工神经网络架构的局限和软件算法的局限之外,更多的就是算力问题,也就是受到半导体行业发展的限制。
李开复博士在做他的语音识别功能博士论文时,哪怕在当时他所采用语音数据库算非常大的,其实也不过仅有 100 MB,却花费了他导师近 10 万美刀,在 1988 年相当于两套房子的价格。而如今动辄几个 PB 的数据量,算力成为了限制很多 AI 发展的瓶颈。
这里补充一个知识:不同的处理器芯片所具备的能力各不相同。
例如 CPU 更多的通用计算,可以理解为总指挥,负责逻辑上更线性的计算和判断;而 GPU 则是专职于图像处理的芯片,能够同时吞吐较大的数据量和进行矩阵计算,加之已经是成熟的量产产品,所以被大量应用于 AI 学习。
而 NPU(Neural Processing Unit,神经网络处理器)则是从设计层面就专职为神经网络学习优化的,像谷歌的 TPU 和特斯拉的 FSD 芯片都属于 NPU 序列,这类芯片扔掉了类似 GPU 中不需要的功能,仅为神经网络所需要的数据处理形式服务,其速度和能效要高很多。
但是,这里还需要区分 ASIC(Application Specific Integrated Circuit,专用集成电路)芯片和 FPGA(Field Programmable Gate Array,可编程逻辑门阵列)芯片,其中 ASIC 芯片就是生产后,其运行逻辑和功能就固定了,不能修改,为某项任务(软件)而生,能效极高;而 FPGA 则是可以通过软件改变其运行逻辑,为半定制的芯片,可以通过软件对其进行修改,适合进行训练和优化所用,能效相比 ASIC 芯片低一些。像 TPU 和 FSD 都属于 ASIC 芯片,而特斯拉此次发布的 Dojo 芯片就属于 FPGA 序列。
回过头来,市场上既没有符合需求的车载芯片可用,也没有符合需求的超算来更好的利用这些数据,特斯拉想要实现这一切,在当时只有自己去做软件和硬件,当年特斯拉在 2016 年立项做 FSD 芯片时,谷歌的专属 AI 芯片 TPU 才刚刚问世,而车载的 AI 芯片几乎没有能用的。
所以,当年很可能 FSD 和 Dojo 的立项时间不会差太远,只是由于考虑到能耗和需求问题,Dojo 等到 7 nm 的技术相对成熟后,才开始逐步推进。
从另一个维度上去理解 Dojo 的必然性,是从神经网络学习的计算量级上去理解。在 2019 年「Autonomous Day」发布会上,特斯拉其实已经明示了会去掉雷达,走向纯视觉,且是视频级别的数据进行直接处理。
举个简单的例子,一张 1080p 的图像,以最简单的神经网络结构,如果不利用激活函数(tanh、ReLU)进行数据「优化」,其运算量大概需要 4 万多亿次;即便采用激活函数优化的卷积神经网络处理,其运算量也将达到 1.3 亿多次;而如果以视频形式处理,一秒按 24 帧计算,也有 24 张图像,综合算下来其运算量是惊人的。
值得注意的是,自动驾驶收集的数据中 95% 左右都是无效数据,也就是对神经网络训练压根没用,简单理解来说就是你每天做几乎相同的卷子,是得不到任何提升的。
所以即便特斯拉的车辆仅在特定触发条件下才会收集部分数据,但得到的数据量依然非常庞大,需要 Dojo 这样为特斯拉自身软件优化过的定制超算,才能大大提高效率。
此外,前文提到过「无监督训练」也是 Dojo 的另一个核心目的,用于大幅度提高训练效率。
在神经网络训练中,其实海量的研究人员都是「调参侠」,简单理解也就是通过不断调「权重」来让神经网络判断越来越准确,或者是通过人工标注各种「正确答案」,让其学习。这就会导致「人」成为了效率的短板,从而致使整个过程的训练速度大幅降低。而如果实现「无监督训练」,也就是系统自己通过海量数据和以前「学习」的结果进行自动标注和调整,那么其效率将会是量子级别的提升。
举个简单的例子,谷歌的 Alpha Go 击败世界围棋大师相信很多人都知道,也是一个人工智能在特定领域击败人类的标志事件。作为对比,Alpha Go 经过人工参与调整和标注的训练结果,经历了几年时间击败了全球高手。而作为无监督训练的范例 Alpha Zero,仅用三天时间自己与自己对弈,就击败了 Alpha Go Lee,在 21 天打到了 Alpha Master 的水平,并在 40 天超越了所有的旧版本。
总结起来,如果特斯拉完成了 Dojo 的打造,那么就能够以惊人的效率用海量的数据进行训练,解决各种「边缘场景」的问题,加快自动驾驶系统的成熟和完善;更关键的是,特斯拉对其软硬件的垂直整合度非常高,不仅不受制于别人,而且能够以此作为服务,给外界提供深度学习的训练业务。
马斯克曾表示,一旦相对完善了 Dojo,将会开放 Dojo 作为服务给外界提供训练业务,并且 Dojo 能够承接几乎所有的机器学习任务。
这也是为什么马斯克敢说,未来特斯拉将会是最大的几家人工智能公司之一。
会有 One More Thing 吗?
此次特斯拉的「AI Day」,不出意料的话会把 Dojo 芯片作为最重点的内容进行软硬件的介绍;当然也会覆盖 FSD Beta 相关的进展介绍,但就目前的信息来看,还极有可能会推出新的基于 7 nm 技术的 HW 4.0 硬件。
毕竟在 2019 年「Autonomous Day」时,马斯克就说过 HW 4.0 的研发已经进行了一半,所以此次发布会,也很有可能借此机会发布新的车载芯片硬件。
总之,此次特斯拉「AI Day」发布会,很有可能再次在汽车行业甚至是 AI 领域掀起一波浪潮,至于到底会不会有更多的惊喜,那就到等那天才能揭晓了。