柳州做网站的,个人网站导航模版,嘉兴住房和城乡建设厅网站,广州在线图文网络科技中心网站建设特斯拉在AI Day 2022先介绍了AI编译器#xff0c;后面又介绍了Dojo的硬件软件#xff0c;软件部分和AI编译器有部分重叠#xff0c;本文介绍还是延用AI Day的思路#xff0c;分为三部分#xff1a;AI编译和推理#xff0c;Dojo硬件#xff0c;Dojo软件。 特斯拉车道检测…
特斯拉在AI Day 2022先介绍了AI编译器后面又介绍了Dojo的硬件软件软件部分和AI编译器有部分重叠本文介绍还是延用AI Day的思路分为三部分AI编译和推理Dojo硬件Dojo软件。 特斯拉车道检测网络 特斯拉车道网络使用稀疏点预测和计算来识别和预测车道线的位置和形状极大地减少了计算量使得网络可以在高帧率下运行提供实时的车道信息。稀疏点预测和计算是特斯拉FSD推理系统的重要组成部分通过高效的计算和存储策略优化了稀疏点的预测和处理过程。 1 稀疏点预测
热图生成网络首先预测最可能的空间位置点的热图heat map这一步骤使用卷积神经网络或其他适合的架构生成每个可能位置的概率分布。
ArgMax操作对生成的热图应用ArgMax操作找到概率最高的空间位置索引这一步骤确定了最可能的稀疏点的位置。
One-hot编码将找到的空间位置索引转换为one-hot编码。one-hot编码是一种稀疏表示只在一个位置上有1其余位置都是0。 2 稀疏计算
嵌入向量选择使用one-hot编码从嵌入表embedding table中选择对应的嵌入向量。嵌入表是在训练期间学习的包含了各个位置的特征表示特斯拉在SRAM中构建了一个查找表设计了嵌入向量的维度使得可以通过矩阵乘法来实现高效查找。
嵌入缓存选中的嵌入向量存储在一个token缓存中这一缓存机制避免了每次迭代都重新计算嵌入从而提高了计算效率和速度。
矩阵乘法实现查找通过矩阵乘法实现嵌入查找和计算这种方式利用了硬件加速器如特斯拉FSD芯片对矩阵运算的优化提高了计算效率。 3 稀疏点处理
特征融合稀疏点的特征通过自回归和迭代的方式逐步融合每一步处理都结合前一步的稀疏点特征逐步构建全局的空间表示。
迭代优化每次迭代中网络生成新一轮的稀疏点预测并将这些点的特征与之前的结果结合进行进一步处理这一过程反复进行直到得到最终的稀疏点集合。 特斯拉的AI编译器 特斯拉的AI编译器是为其自动驾驶系统优化深度学习模型推理而设计的主要目标是将复杂的神经网络图优化为高效的推理代码以在FSD计算硬件上运行。 1 AI编译器功能
特斯拉的AI编译器旨在处理大规模神经网络图将其分割、优化并生成适合在其自研硬件上运行的高效代码。这个编译器处理的图包含了数十万的节点和连接涵盖了自动驾驶系统中的各种任务包括感知、预测和规划。 2 编译器工作流程
可结合之前介绍的AI编译器背景内容[编译器]-2 AI编译器介绍
1图分割与划分Graph Partitioning and Splitting编译器首先接收一个完整的神经网络图该图可能包含多个任务和子任务使用图分割技术将大图分割成多个独立的子图每个子图代表一个相对独立的计算单元可以在硬件上独立运行。
2子图优化Subgraph Optimization对每个子图进行独立优化利用特斯拉硬件的特性进行定制化调整。具体优化包括操作融合、常量折叠和子图内的并行化等。
3生成高效代码Code Generation编译器将优化后的子图转换为适合FSD硬件运行的低级代码生成的代码能够充分利用硬件的特性如硬件加速的矩阵运算和特定的AI计算单元。
4链接与调度Linking and Scheduling将各个独立的子图代码链接起来形成一个完整的推理程序通过优化的调度算法确保子图之间的数据传输和计算顺序最优化以实现最低的推理延迟和最高的计算效率。 3 常规优化策略
1操作融合Operation Fusion将多个相邻的算子融合为一个算子减少中间数据存储和传输的开销。例如将卷积操作和激活函数融合在一起直接计算激活后的结果。
2常量折叠Constant Folding在编译时预计算所有可能的常量表达式减少运行时的计算量。例如将所有不依赖于输入数据的固定计算提前计算并存储。
3内存优化Memory Optimization优化内存分配和数据布局以减少内存访问延迟和带宽消耗。利用内存复用技术使得同一块内存区域可以在不同时间段存储不同的数据减少总的内存需求。
4并行化Parallelization充分利用FSD硬件的多核架构和并行计算能力将计算任务拆分并行执行利用专用AI加速单元的并行计算特性提高整体计算速度。
5稀疏计算Sparse Computation针对稀疏神经网络图利用稀疏矩阵乘法和稀疏激活函数等技术减少无效计算通过只计算非零值的操作减少总体计算量。
6流水线和批处理Pipelining and Batching利用流水线技术将不同计算任务的执行重叠起来提高计算资源的利用率。通过批处理技术将多个输入数据同时处理减少单次推理的平均计算时间。 DOJO硬件 1 Dojo Tile
Dojo Tile是Dojo加速器的核心计算单元每个Tile包含25个D1芯片并行处理大规模的矩阵乘法运算这些芯片专门设计用于高效的矩阵运算和深度学习任务。Tile的设计考虑了高带宽、低延迟的特点使其能够在大规模计算任务中保持高效。
2 System Tray
System Tray是Dojo加速器中一个关键的组件高度集成的系统托盘负责机械和热管理并集成了高功率传输功能每个托盘支持六个Tile总计算能力达到54 PetaFLOPS配备640 GB高带宽内存。具体特点如下
1层压母线Laminated Bus Bar这是一种高功率传输组件能够在极高的功率密度下进行机械和热管理。它的高度为75毫米能够支持六个Tile总重量为135千克。
2数据接口System Tray提供高带宽的DRAM接口用于存储训练数据并通过TTPTesla Transfer Protocol客户协议与训练Tile进行通信确保了数据能够高效地传输到每个Tile。
3 Exapod
Exapod是Dojo系统的更大级别的集成单元旨在将多个Dojo加速器组合在一起总计算能力达到一ExaFLOP确保大规模机器学习任务的高效处理。配备冗余电源可以将三相480伏交流电转换为52伏直流电确保系统在高功率需求下的稳定运行。
DOJO软件 特斯拉全自动驾驶FSD软件系统依赖于高度优化的软硬件协同工作主要组件包括JIT神经网络编译器、LLVM后端、数据摄取流水线等。
JIT NN编译器和LLVM后端JIT NN编译器即时编译神经网络模型将高层次的神经网络代码转换为低层次的机器指令。LLVM后端利用LLVM编译器基础设施生成高效的机器代码使得编译后的代码能够在Dojo硬件上高效运行。
摄取流水线Ingest Pipeline负责将数据高效地传输到硬件中确保硬件始终有足够的数据进行处理避免因数据饥饿而导致的性能下降。 1 性能优化
性能的提升依赖于利用率utilization和加速器占用率occupancy。
硬件提供了高峰值性能编译器的任务是从硬件中提取最大化的利用率而摄取流水线的任务是确保数据吞吐量足够高。特斯拉的Dojo系统设计用于高利用率处理大规模模型不仅加速计算密集型部分还加速延迟敏感部分如Batch Normalization和带宽敏感部分如梯度汇总和参数聚合。 2 编译器优化策略
1提取并行性
模型并行在多个加速器上并行执行不同部分的模型。
数据并行在多个加速器上并行处理不同批次的数据。
张量并行在多个加速器上并行处理单个张量的不同部分。
2SRAM中的张量存储张量通常在SRAM中分片存储并在执行层时即时复制。
3重叠计算和数据传输在计算的同时进行数据传输最大限度地利用计算资源。 3 性能测试结果
一句话特斯拉的硬件性能远超行业其它GPU。