特斯拉人工智能日的内容总结
扫描二维码
随时随地手机看文章
特斯拉在 8 月中旬的 AI 日推出了用于机器学习和神经网络训练的汽车芯片、系统和软件。他们将共同推进自动驾驶汽车模型的培训。
埃隆马斯克和他的芯片和系统设计师团队在三个多小时的演示中提供了大量技术细节。以下是重点。
神经网络
特斯拉设计了一种灵活、可扩展的分布式计算机架构,专为神经网络训练量身定做。Tesla 的架构始于具有 354 个训练节点的 D1 专用芯片,每个训练节点都有一个强大的 CPU。这些训练节点 CPU 专为高性能 NN 和 ML 任务而设计,32 位浮点运算的最大性能为 64 GFLOP。
对于具有 354 个 CPU 的 D1 芯片,32 位浮点运算的最大性能为 22.6 TFLOPs。对于 16 位浮点计算,D1 最大性能跃升至 362 TFLOP。
特斯拉推出了两个用于神经网络训练的系统:Training Tile 和 ExaPOD。一个训练块在一个多芯片封装中具有 25 个连接的 D1 芯片。具有 25 个 D1 芯片的训练块构成 8,850 个训练节点,每个训练节点都具有上面总结的高性能 CPU。对于 32 位浮点计算,训练 tile 的最大性能为 565 TFLOP。
ExaPOD 将 120 个训练块连接到一个系统中,或者将 3,000 个 D1 芯片与 106.2 万个训练节点连接起来。对于 32 位浮点计算,ExaPOD 的最大性能为 67.8 PFLOP。
特斯拉神经网络公告详情
D1芯片和Dojo神经网络训练系统的推出,昭示了特斯拉的方向。将这些产品投入生产的研发投入无疑是非常高的。特斯拉可能会与其他公司分享这项技术——以创造另一个类似于出售给其他 OEM 的 BEV 积分的收入来源。
下表列出了特斯拉神经网络产品公告的特点。数据是从 8 月 19 日事件的视频中提取的。我在几个地方增加了我对芯片和系统架构的理解。
特斯拉的设计目标是在其芯片和系统中扩展三个系统特性:计算性能、计算节点之间的高带宽和低延迟通信。高带宽和低延迟一直难以扩展到数百或数千个计算节点。看起来特斯拉已经成功地缩放了以连接的 2D 网格格式组织的所有三个参数。
训练节点
训练节点是D1芯片上最小的训练单元。它有一个 64 位处理器,具有 4 宽标量和 4 路多线程程序执行。CPU 还具有 2 宽矢量数据路径和 8×8 矢量乘法。
CPU 的指令集架构 (ISA) 专为机器学习和神经网络训练任务量身定制。CPU 支持多种浮点格式 — 32 位、16 位和 8 位:FP32、BFP16,以及一种新格式:CFP8 或可配置 FP8。
该处理器具有 1.25MB 高速 SRAM 存储器,用于存储程序和数据。内存使用 ECC 或纠错码来提高可靠性。
为了获得训练节点之间的低延迟,Tesla 选择了信号在 2GHz+ 时钟频率的一个周期内可以传播的最远距离。这定义了训练节点的距离以及 CPU 及其支持电子设备的复杂程度。这些参数还允许 CPU 以每秒 512 Gbit 的速度与四个相邻的训练节点进行通信。
训练节点的最大性能因使用的算法而异。浮点性能通常用于比较。最大训练块 32 位浮点性能 (FP32) 为 64 GFLOP。BFP16 或 CFP8 算术的最大性能为 1,024 GFLOP。
D1芯片
令人印象深刻的 Tesla D1 芯片是专门用于神经网络训练的设计。D1 采用 7 纳米工艺制造,在一个 645 平方毫米的芯片中封装了 500 亿个晶体管。该芯片的电线长度超过 11 英里,功耗在 400 瓦范围内。
D1 芯片有一个带有高速、低功耗 SerDes 的 I/O 环——芯片周围共有 576 个通道。每个通道的传输速率为 112 Gbps。最大 D1 片上传输速率为 10 Tbps(每秒 10 TB)。芯片每侧的最大板外传输速率为 4 Tbps。
D1 芯片上的 354 个 CPU 中的每一个都具有 1.25 MB 的 SRAM,这加起来超过 442 MB 的 SRAM。D1芯片的最大性能也是基于354个训练节点的CPU阵列。
32 位浮点计算的 D1 最大性能达到 22.6 TFLOP。16 位浮点计算的最大性能为 362 TFLOP。
训练瓷砖
Tesla 的 Training Tile 是扩展 AI 训练系统的基石。Training Tile 将 25 个 D1 裸片集成到晶圆上,并封装为多芯片模块 (MCM)。特斯拉认为这可能是芯片行业最大的MCM。训练块被封装为一个大芯片,可以通过一个保留训练块带宽的高带宽连接器连接到其他训练块。
训练块封装包括多层电源和控制、电流分配、计算平面(25 个 D1 芯片)和冷却系统。培训板块用于 IT 中心,而非自动驾驶汽车。
训练块为 16 位浮点计算提供 25 倍的单个 D1 芯片或高达 9 Peta FLOP 的性能,为 32 位浮点计算提供高达 565 TFLOP 的性能。
12 个 2x3x2 配置的训练图块可以装在一个机柜中,特斯拉将其称为训练矩阵。
ExaPOD
特斯拉描述的最大系统是 ExaPOD。它由 120 个训练图块组成。这增加了 3000 个 D1 芯片和 106.2 万个训练节点。它适合 10 个橱柜。它显然是供 IT 中心使用的。
ExaPOD 的最大性能是 16 位浮点计算的 1.09 Exa FLOPs 和 32 位浮点计算的 67.8 Peta FLOPs。
Dojo 软件和 DPU
Dojo 软件旨在支持大型和小型神经网络的训练。Tesla 有一个编译器来创建利用训练节点、D1 芯片、训练块和 ExaPOD 系统的结构和功能的软件代码。它使用带有扩展的 PyTorch 开源机器学习库来利用 D1 芯片和 Dojo 系统架构。
这些能力允许对大型神经网络进行分区和映射,以提取不同的并行度、模型、图、数据并行度,从而加速大型神经网络的训练。编译器使用多种技术来提取并行性。它可以使用数据模型图并行技术转换网络以实现细粒度并行,并且可以优化以减少内存占用。
Dojo 接口处理器用于与 IT 和数据中心的主机进行通信。它通过上面解释的高带宽与 PCIe 4.0 连接到主机和基于 D1 的系统。接口处理器还为 D1 系统提供高带宽 DRAM 共享内存。
基于 D1 的系统可以细分并划分为称为 Dojo 处理单元的单元。DPU由一个或多个D1芯片、一个接口处理器和一个或多个计算机主机组成。DPU 虚拟系统可以根据运行在其上的神经网络的需要进行放大或缩小。
底线
特斯拉神经网络训练芯片、系统和软件让人印象深刻。有很多创新,例如从芯片到系统保持巨大的带宽和低延迟。Training Tile 的电源和冷却包装看起来很创新。
神经网络训练系统用于数据中心,肯定会用于改进特斯拉的 AV 软件。其他公司很可能也会使用这些特斯拉神经网络训练系统。
一个关键问题是神经网络系统将如何用于自动驾驶汽车的推理应用?在当前版本中,Training Tile 的功耗看起来太高,无法自动使用。演示中的一张图片有“15 KW 热排斥”标签用于训练瓷砖。D1 芯片可能在幻灯片中列出的 400 瓦 TDP 范围内。
看起来特斯拉希望和/或依赖这种神经网络训练创新,将其 Autopilot 变成支持 L3 或 L4 的系统——仅使用基于摄像头的传感器。这是一个好赌注吗?时间会证明一切,但到目前为止,埃隆马斯克的大部分赌注都是好的——只是有些延迟。