为了满足日益增长的人工智能和机器学习模型需求,特斯拉自创人工智能技术,教特斯拉汽车自动驾驶。近日,特斯拉在HotChips34大会上公开了很多关于Dojo超算架构的细节。从本质上讲,Dojo是一个巨大的可组合超级计算机,由一个完全定制的架构构建,涵盖计算、网络、输入/输出(I/O)芯片到指令集架构(ISA)、电力传输、封装和冷却。所有这些都是为了大规模运行定制的、特定的机器学习训练算法。GaneshVenkataramanan是特斯拉自动驾驶硬件高级总监,负责Dojo项目,以及AMD的CPU设计团队。在HotChips34大会上,他和一群芯片、系统和软件工程师首次揭示了该机的许多架构特征。数据中心“三明治”“一般来说,我们制造芯片的过程,我们将它们放在一个封装上,我们将封装放在印刷电路板上,然后它们进入系统。系统进入机架,”Venkataramanan说。但是这个过程有一个问题:每次数据从芯片移动到封装并从封装中移出时,都会有延迟和带宽损失。为了克服这些限制,文卡塔拉马南和他的团队决定从头开始。道场的训练牌由此诞生。它是一个独立的计算集群,占地半立方英尺,能够在15kW液冷封装中实现556TFLOPS的FP32性能。每个tile都配备11GB的SRAM,并在整个堆栈中使用自定义传输协议,通过9TB/s结构连接。Venkataramanan说:“这个训练板代表了从计算机到内存、电力传输、通信的无与伦比的集成水平,不需要任何额外的开关。”培训板块的核心是特斯拉的D1,这是一颗500亿晶体管芯片,基于台积电的7nm工艺。特斯拉表示,每个D1都能够在400W的TDP下实现22TFLOPS的FP32性能。特斯拉随后拿出25个D1,将它们分成已知良好的裸片,并使用台积电的晶圆系统技术对其进行封装,以实现具有极低延迟和极高带宽的大规模计算集成。然而,芯片上的系统设计和垂直堆叠架构对功率传输提出了挑战。根据Venkataramanan的说法,如今大多数加速器都将电源直接放在硅旁边。他解释说,虽然这种方法有效,但这意味着加速器区域的很大一部分必须专门用于这些组件,这对Dojo来说是不切实际的。因此,特斯拉选择直接通过芯片底部供电。此外,特斯拉还开发了Dojo接口处理器(DIP),它是主机CPU和训练处理器之间的桥梁。每个DIP都有32GB的HBM,最多5个这样的卡可以以900GB/s的速度连接到一个训练块,总共4.5TB/s,每个块总共有160GB的HBM。Tesla的V1配置将这些块(或150个D1芯片)配对成一个阵列,以支持四个主机CPU,每个主机CPU有五个DIP卡,以实现声称的exaflopBF16或CFP8性能。像软件这样的专门计算架构需要专门的软件堆栈。然而,Venkataramanan和他的团队认识到可编程性将决定Dojo的成败。“当我们设计这些系统时,软件对应方的易编程性是最重要的。研究人员不会等待你的软件人员编写手写内核来适应我们要运行的新算法。“为了做到这一点,特斯拉放弃了使用内核的想法,围绕编译器设计了Dojo的架构。“我们所做的是使用PiTorch。我们创建了一个中间层,帮助我们并行化以扩展其下的硬件。一切都在下面是编译代码。”创建一个可以适应任何未来工作负载的软件堆栈,这是唯一的方法。Venkataramanan在强调软件的灵活性的同时指出,目前在他们实验室中运行的平台目前仅限于特斯拉。Dojo架构一览看完上面的内容,我们来深入了解一下Dojo的架构。特斯拉拥有用于机器学习的百亿亿亿次人工智能级系统。特斯拉的财务规模足以雇佣员工并专门为其应用构建芯片和系统,例如特斯拉的车载系统。特斯拉不仅在打造自己的AI芯片,还在打造超级计算机。分布式系统分析Dojo的每个节点都有自己的CPU、内存和通信接口。Dojo节点这是Dojo处理器的处理管道。处理管道每个节点有1.25MB的SRAM。在AI训练和推理芯片中,一种常见的技术是将内存与计算放在一起,以最大限度地减少数据传输,从功率和性能的角度来看,这是昂贵的。NodeMemory然后每个节点连接到一个二维网格。网络接口这是数据路径的概述。数据路径下面是芯片可以用列表理解做什么的例子。ListComprehensions这里更多的是关于指令集,它是Tesla原创的,而不是典型的Intel、Arm、NVIDIA或AMDCPU/GPU指令集。指令集在人工智能中,运算的格式很重要,尤其是芯片支持哪些格式。使用DOJO,Tesla可以研究常见的格式,例如FP32、FP16和BFP16。这些是常见的行业格式。算术格式Tesla也在研究可配置的FP8或CFP8。它有4/3和5/2范围选项。这类似于NVIDIAH100Hopper的FP8配置。我们还看到了专注于不同FP8类型的Untether.AIBoqueria1458RISC-V核心AI加速器。算术格式2Dojo还具有不同的CFP16格式以获得更高的精度,并支持FP32、BFP16、CFP8和CFP16。ArithmeticFormat3然后将这些内核集成到制造的芯片中。特斯拉的D1芯片由台积电采用7nm工艺制造。每个芯片有354个Dojo处理节点和440MB的SRAM。第一个IntegrationBoxD1芯片这些D1芯片封装在dojotrainingtile上。D1芯片经过测试,然后组装成5×5的瓷砖。这些图块每条边的带宽为4.5TB/s。它们还具有每个模块15kW的功率传输范围,或者在减去40个I/O芯片使用的功率后,每个D1芯片大约600W。通过比较可以看出,如果一家公司不想设计这样的东西,为什么像LightmatterPassage这样的东西更有吸引力。二次积分框DojotrainingtileDojo的接口处理器位于二维网格的边缘。每个训练块都有11GB的SRAM和160GB的共享DRAM。Dojo系统拓扑下面是连接处理节点的二维网格的带宽数据。Dojo系统通信逻辑二维网格在每个DIP和主机系统之间提供32GB/s的链接。Dojo系统通信PCIe链接DIP和主机Tesla也有Z平面链接,用于更长的路线。在随后的演讲中,特斯拉谈到了系统层面的创新。这里的通信机制是die和tile的延迟边界,这就是为什么它们在Dojo中被区别对待的原因。需要Z平面链接的原因是长路径很昂贵。Dojo系统通信机制任何处理节点都可以跨系统访问数据。每个节点都可以将数据推送或拉取到SRAM或DRAM。Dojo系统批量通信Dojo使用平面寻址方案进行通信。系统网络1这些芯片可以绕过软件中的故障处理节点。系统网络2这意味着软件必须了解系统拓扑。SystemNetworking3Dojo不保证端到端的流量排序,因此需要在目的地对数据包进行计数。系统网络4下面是如何将数据包计为系统同步的一部分。系统同步编译器需要定义一个有节点的树。系统同步2Tesla表示,一个exa-pod有超过100万个CPU(或计算节点)。这些都是大型系统。总结Tesla专门为大规模工作构建了Dojo。通常,初创公司希望在每个系统中使用一个或几个芯片来构建AI芯片。显然,特斯拉专注于更大的规模。在很多方面,特斯拉拥有一个巨大的人工智能训练场是有道理的。更令人兴奋的是,它不仅使用商用系统,而且还在构建自己的芯片和系统。标量端的一些ISA是从RISC-V借来的,但矢量端和很多架构Tesla是定制的,所以需要做很多工作。
