[自动驾驶技术]-6 Tesla自动驾驶方案之硬件(AI Day 2021)

1 硬件集成

特斯拉自动驾驶数据标注过程中,跨250万个clips超过100亿的标注数据,无论是自动标注还是模型训练都要求具备强大的计算能力的硬件。下图是特斯拉FSD计算平台硬件电路图。

1)神经网络编译器

特斯拉AI编译器主要针对PyTorch框架,结合之前介绍过的编译器内容,特斯拉的自动驾驶算法模型需要通过编译器,生成硬件可执行的机器指令,才能在CPU、GPU或者AI芯片上运行。上图主要展示了AI编译器的计算图优化(算子融合:将CONV 2D和RELU算子融合为1个CONV 2D_RELU算子,这基本是常规标配做法),调度。

2)FSD计算平台

特斯拉FSD硬件计算平台集成了2颗SoC芯片,SOC-1输出最终的控制指令,SOC-2作为扩展计算。

3)AI模型评估中心

特斯拉的AI模型评估基础设施中心,可支持每周超过百万的评估计算,运行在超过3000个FSD计算平台上。

特斯拉的训练网络计算中心,2021年具备3个集群1组用于自动标注,2组用于模型训练。

2 DOJO项目  

Ganesh说:“计算能力容易扩展,但带宽扩展较为困难,而降低延迟则极其困难。”

现代CPU、GPU和AI加速器通过不断优化架构(如增加核心数、提高时钟速度、优化指令集)来提升性能。特别是GPU和AI加速器,天然适合大规模并行计算,通过增加更多的计算单元,可以显著提升计算能力。

然而无论哪种处理器都很容易受到内存带宽限制: CPU、GPU和AI加速器需要高速访问内存,而内存带宽的提升速度往往跟不上计算能力的提升速度,造成带宽瓶颈,也就是我们常说的内存墙问题。此外,芯片内部的总线架构(如PCIe、NVLink)需要支持高带宽传输,扩展这些总线的带宽需要对芯片封装、功耗管理和信号完整性进行优化,难度较大。在多芯片系统中,不同芯片之间的数据传输也受到带宽限制,需要高速互连技术(如Infinity Fabric、NVLink)来解决,但这些技术实现复杂且成本较高。

降低延迟极其困难:从CPU到GPU或AI加速器的数据传输路径中,每一步都可能增加延迟,例如内存访问延迟、缓存命中率、总线传输延迟等都是难以完全消除的因素。在多任务环境中,任务调度和切换会带来上下文切换延迟和资源争用问题,这些问题在实时性要求高的应用中尤为突出。若想硬件和软件协同优化来减少延迟,涉及复杂的设计流程和大量的调优工作,需要深入理解整个系统的工作机制。

特斯拉的Dojo架构由计算单元和Network Fabric(指芯片上用于连接和通信的网络架构,是一种高性能的互连系统,负责在芯片内部不同计算单元之间传输数据)组成,采用了多种技术例如采用2D网格网络进行数据传输、对神经网络分割、调用本地存储方式等解决带宽和延迟的限制。

(一句话,特斯拉极大程度提高了带宽降低了延迟,远超业内)

1)芯片

如上图所示是特斯拉SoC芯片上一个高性能的训练节点结构图:底部是机器学习阵列,左侧是SRAM存储阵列,再加上顶部的多线程可编程核。支持FP32、BFP16、CFP8。

  • 1024 GFLOPS(BF16/CFP8)
  • 64GFLOPS(FP32)
  • 512GB/S带宽

如上图所示,这是个超标量处理器核,四个宽标量核两个宽标量数据管线;支持四个线程;针对机器学习支持自定义指令集ISA,例如转置、链接遍历、广播等。(这部分工作原理会在处理器专栏做详细介绍)

特斯拉D1芯片由354个训练节点组成计算阵列,可谓针对机器学习的机器,GPU级别的芯片同时拥有CPU的灵活性核两倍NPU级别的I/O带宽,提供了超高性能的计算能力。

2)计算系统Computer Plane

特斯拉的计算系统上,1个Training Tile集成了25个D1芯片,四周使用高速连接器支持9TB/S带宽,支持9PFLOPS(BF16/CFP8)

3)计算集群

4)AI编译器

特斯拉Dojo编译器引擎,使用多种细颗粒度的并行化技术:数据并行、模型并行、计算图并行技术,还支持高层次的环路管理,例如循环等。

特斯拉的软件栈有两个重点:用户编程接口,基于PyTorch做了扩展;使用LLVM作为底层处理生成硬件所需的二进制代码。

LLVM(Low Level Virtual Machine)是一套用于构建编译器和相关工具的开源项目,提供了一种模块化和可重用的编译器基础架构。LLVM的架构主要包括:前端负责将源代码转换为LLVM中间表示IR;中端对LLVM IR进行各种优化处理,提高代码执行效率;后端将优化后的LLVM IR转换为目标机器码,具体包括代码生成和目标特定优化。

(以下为笔者猜测内容)

特斯拉的Dojo AI编译器使用LLVM作为后端处理的基础架构,通过LLVM的模块化设计和强大的优化能力,实现高效的AI模型编译和执行:

  • 自定义目标支持:特斯拉可以通过LLVM的目标描述文件,定义Dojo芯片的特性,并扩展LLVM的指令选择和代码生成模块,以支持特斯拉可能有的特定的硬件加速单元和自定义指令集自定义指令。
  • 高效的寄存器分配:Dojo AI编译器可以利用LLVM的寄存器分配算法,优化寄存器使用,减少内存访问,提高模型执行效率。
  • 目标特定优化:通过LLVM的目标特定优化能力,Dojo AI编译器可以实现针对Dojo硬件的深度优化,包括利用硬件加速单元和并行计算资源,提高模型推理速度。
  • 模块化和可扩展性:LLVM的模块化设计允许特斯拉根据需要扩展和定制编译器后端,以适应不同的AI模型和硬件需求。可以在LLVM的基础上添加新的优化通道和代码生成策略,提升整体性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/16357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI数据面临枯竭

Alexandr Wang:前沿研究领域需要大量当前不存在的数据,未来会受到这个限制 Alexandr Wang 强调了 AI 领域面临的数据问题。 他指出,前沿研究领域(如多模态、多语言、专家链式思维和企业工作流)需要大量当前不存在的数…

压缩能力登顶 小丸工具箱 V1.0 绿色便携版

平常录制视频或下载保存的视频时长往往都很长,很多时候都想要裁剪、 截取出一些“精华片段”保留下来,而不必保存一整个大型视频那么浪费硬盘空间… 但如今手机或电脑上大多数的视频剪辑软件,切割视频一般都要等待很长时间导出或转换&#…

【C语言回顾】编译和链接

前言1. 编译2. 链接结语 上期回顾: 【C语言回顾】文件操作 个人主页:C_GUIQU 归属专栏:【C语言学习】 前言 各位小伙伴大家好!上期小编给大家讲解了C语言中的文件操作,接下来我们讲解一下编译和链接! 1. 编译 预处理…

H5扫描二维码相关实现

H5 Web网页实现扫一扫识别解析二维码,就现在方法的npm包就能实现,在这个过程中使用过html5-qrcode 和 vue3-qr-reader。 1、html5-qrcode的使用 感觉html5-qrcode有点小坑,在使用的时候识别不成功还总是进入到错误回调中出现类似NotFoundExc…

天干物燥小心火烛-智慧消防可视化大屏,隐患防治于未然。

智慧消防可视化大屏通常包括以下内容: 1.实时监控: 显示消防设备、传感器、监控摄像头等设备的实时状态和数据,包括火灾报警、烟雾报警、温度报警等。 2.建筑结构: 显示建筑物的结构图和平面图,包括楼层分布、消防通…

VLC播放器(全称VideoLAN Client)

一、简介 VLC播放器(全称VideoLAN Client)是一款开源的多媒体播放器,由VideoLAN项目团队开发。它支持多种音视频格式,并能够在多种操作系统上运行,如Windows、Mac OS X、Linux、Android和iOS等。VLC播放器具备播放文件…

特殊变量笔记3

输入一个错误命令, 在输出$? 特殊变量:$$ 语法 $$含义 用于获取当前Shell环境的进程ID号 演示 查看当前Shell环境进程编号 ps -aux|grep bash输出 $$ 显示当前shell环境进程编号 小结 常用的特殊符号变量如下 特殊变量含义$n获取输入参数的$0, 获取当前She…

hugging face笔记:PEFT

1 介绍 PEFT (Parameter-Efficient Fine Tuning) 方法在微调时冻结预训练模型参数,并在其上添加少量可训练的参数(称为适配器)这些适配器被训练用来学习特定任务的信息。这种方法已被证明在内存效率和计算使用上非常高效,同时能产…

线性模型--普通最小二乘法

线性模型 一、模型介绍二、用于回归的线性模型2.1 线性回归(普通最小二乘法) 一、模型介绍 线性模型是在实践中广泛使用的一类模型,该模型利用输入特征的线性函数进行预测。 二、用于回归的线性模型 以下代码可以在一维wave数据集上学习参…

基于51单片机的超声波液位测量与控制系统

基于51单片机液位控制器 (仿真+程序+原理图PCB+设计报告) 功能介绍 具体功能: 1.使用HC-SR04测量液位,LCD1602显示; 2.当水位高于设定上限的时候,对应声光报警报警&am…

【InternLM实战营第二期笔记】02:大模型全链路开源体系与趣味demo

文章目录 00 环境设置01 部署一个 chat 小模型02 Lagent 运行 InternLM2-chat-7B03 浦语灵笔2 第二节课程视频与文档: https://www.bilibili.com/video/BV1AH4y1H78d/ https://github.com/InternLM/Tutorial/blob/camp2/helloworld/hello_world.md 视频和文档内容基…

云计算和大数据处理

文章目录 1.云计算基础知识1.1 基本概念1.2 云计算分类 2.大数据处理基础知识2.1 基础知识2.3 大数据处理技术 1.云计算基础知识 1.1 基本概念 云计算是一种提供资源的网络,使用者可以随时获取“云”上的资源,按需求量使用,并且可以看成是无…

STM32应用开发进阶--IIC总线(SHT20温湿度+HAL库_硬件I2C)

实现目标 1、掌握IIC总线基础知识; 2、会使用软件模拟IIC总线和使用STM32硬件IIC总线; 3、 学会STM32CubeMX软件关于IIC的配置; 4、掌握SHT20温湿度传感器的驱动; 5、具体目标:(1)用STM32硬件IIC驱动S…

49 序列化和反序列化

本章重点 理解应用层的作用,初识http协议 理解传输层的作用,深入理解tcp的各项特性和机制 对整个tcp/ip协议有系统的理解 对tcp/ip协议体系下的其他重要协议和技术有一定的了解 学会使用一些网络问题的工具和方法 目录 1.应用层 2.协议概念 3. 网络计…

CSRF跨站请求伪造实战

目录 一、定义 二、与XSS的区别 三、攻击要点 四、实战 一、定义 CSRF (Cross-site request forgery,跨站请求伪造),攻击者利用服务器对用户的信任,从而欺骗受害者去服务器上执行受害者不知情的请求。在CSRF的攻击场景中,攻击…

C++数据结构——哈希桶HashBucket

目录 一、前言 1.1 闭散列 1.2 开散列 1.3 string 与 非 string 二、哈希桶的构成 2.1 哈希桶的节点 2.2 哈希桶类 三、 Insert 函数 3.1 无需扩容时 3.2 扩容 复用 Insert: 逐个插入: 优缺点比对: 第一种写法优点 第一种写法…

gfast:基于全新Go Frame 2.3+Vue3+Element Plus构建的全栈前后端分离管理系统

gfast:基于全新Go Frame 2.3Vue3Element Plus构建的全栈前后端分离管理系统 随着信息技术的飞速发展和数字化转型的深入,后台管理系统在企业信息化建设中扮演着越来越重要的角色。为了满足市场对于高效、灵活、安全后台管理系统的需求,gfast应…

OpenUI 可视化 AI:打造令人惊艳的前端设计!

https://openui.fly.dev/ai/new 可视化UI的新时代:通过人工智能生成前端代码 许久未更新, 前端时间在逛github,发现一个挺有的意思项目,通过口语化方式生成前端UI页面,能够直观的看到效果,下面来给大家演示下 在现代…

SAP FS00如何导出会计总账科目表

输入T-code : S_ALR_87012333 根据‘FS00’中找到的总账科目,进行筛选执行 点击左上角的列表菜单,选择‘电子表格’导出即可