自动驾驶主流芯片及平台架构(二)特斯拉自动驾驶芯片平台介绍
自动驾驶主流芯片及平台架构(二)特斯拉自动驾驶芯片平台介绍
该方案将计算能力和能效进行融合设计 旨在达成自动驾驶汽车的安全可靠运行 通过优化算法架构及硬件资源分配 实现了性能上的提升 在保证功能完整性的同时 提升了系统的可靠性和稳定性 其软件栈支持基于C++开发的深度学习框架 并提供ROS等操作系统的支持 该方案展示了在自动驾驶芯片领域具有创新性的解决方案 值得深入研究与实践应用
[https://baijiahao.baidu.com/s?id=1670550185471239285&wfr=spider&for=pc](https://baijiahao.baidu.com/s?id=1670550185471239285&wfr=spider&for=pc "https://baijiahao.baidu.com/s?id=1670550185471239285&wfr=spider&for=pc")
在前期阶段, 企业主要选择了购买Mobileye EyeQ3芯片与摄像头的半集成方案, 主要目的是为了加快生产进度, 并受限于研发资金方面的制约
中期 应用高性能NVIDIA GPU芯片平台+其他摄像头厂商的内部集成方案设计,Mobileye的开发进度未能及时跟进特斯拉的需求
基于自主研发的网络处理器为核心架构设计的芯片系统,并搭配Aptina摄像头模块组成的特斯拉核心自研解决方案。这一方案之所以被选择的原因在于现有市场方案难以满足特定化的开发需求;同时,在项目推进过程中具备较为充足的时间资源和资金支持条件,并且公司在技术研发方面具有较强的实力,并且在产品开发上的自主权较高。

为了掌控自动驾驶的话语权以及掌握关键数据与人工智能算法

从2017年起特斯拉启动了对自研主控芯片的研发进程,在这一过程中其主控芯片中的神经网络算法以及独立开发的AI处理单元均实现了完全自主研发。到2019年4月,在AutoPilot HW3.0平台中首次搭载了Tesla FSD自研版本的核心控制芯片。该自动驾驶核心控制器采用先进的集成电路设计,在面积方面实现了革命性提升——集成度达60亿个晶体管的同时其计算能力也达到了惊人的每秒144万亿次运算水平并能够同时处理高达2300帧/秒的画面信息。

特斯拉的FSD HW3.0基本介绍
该车采用了自研的"Central-Zone EEA"架构设计,在智能驾驶与娱乐系统之间实现了高效协同。其中核心部件——中央处理器负责自动驾驶与娱乐系统的协调工作,在处理复杂数据时展现出卓越性能能力。具体来说,在车辆运行过程中左右车身分别由右车身控制器(BCM RH)与左车身控制器(BCM LH)负责调控,在保证安全性和稳定性的同时为整体车辆运行提供可靠保障。这些关键组件共同实现了车辆在各种场景下的智能操作与辅助功能支持

FSD 的 HW3.0 架构采用了两个功能相同的计算单元作为基础模块。每个计算单元上搭载了两块自主研发的 FSD 专用芯片,在单体性能上均达到了 36 TOPS 的水平。总体而言,在正常工作状态下该设备的最大处理能力可达144 TOPS。然而由于采用了双机热备用运行策略,在实际负载下系统能够提供的有效处理能力约为72 TOPS。

特斯拉板子的右侧模块化接口自上而下依次布置了FOV摄像头、环视摄像头以及A/B柱左右方向布置的两个主摄像头组合。左侧模块化布局则由车体 electrical LIN网络连接器与车载 DMS系统构成,在下方分别设置了以太网诊断端口配置状态以及U盘烧录功能,并通过USB进行基本调试操作。
特斯拉在售车型主张采用以摄像头视觉为核心的方案,并配置了包括三目式主镜头(含左右两眼设计)、4个环向探头(前左右各两个)、后置镜头(可旋转)等在内的丰富配置。
HW 3.0 PCB器件介绍

LPDDR 的全称为 Low Power Double Data Rate Static Random Access Memory(SRAM),属于 DDR SDRAM 的一种类型,并被简称为 mDDR(移动 DDR SDRAM)。它是目前全球范围内广泛应用于移动设备中的"工作记忆"存储技术。特斯拉使用的 LPDDR4 规格型号为 8BD77D9WCF 是由 Micron 美光供应的。
该设备搭载的是NEO-M8L-01A-81型FSD GPS模块,在水平方向上的Circular Error Probable(CEP)误差值为2.5米,在SBAS辅助下则可降至1.5米。该模块支持接收GPS、QZSS、GLONASS以及北斗系统的信号,并以CEP和RMS作为定位精度单位(即误差概率单位)。冷机启动时间为26秒,在运行稳定状态下启动只需1秒,在热机状态下则需3秒辅助启动。内置了一套简易的6轴IMU传感器组,并具有20Hz的刷新率;在面对复杂环境时其价格将低于300元人民币。
基于THGAF9G8L2LBAB7的UFS(Universal Flash Storage)技术由Toshiba于2018年中期推出的一款新产品。该存储技术经过AEC-Q100认证并符合车规级标准要求,在设计上优化以满足严苛的安全性和可靠性需求。存储容量达到32GB足以应对当前主流应用需求尽管特斯拉的算法模型占用空间相对较小但仍能满足需求。
MAX20025S属于开关型电源稳压器,在内存系统中作为主电源模块进行供电。该芯片由Maxim Integrated生产制造,并且当前未找到更多相关详细信息。
S512SD8H21应该是Boot启动,由Cypress(已被Infineon收购)供货。
特斯拉采用了三片TI提供的FPD-LINK解码器芯片;这些解码器芯片通常是成对配置的;串行连接一般位于摄像头内部;而解码过程则发生于印制电路板(PCB)上;其兼容型号包括DS90UB系列中的多个版本;该芯片具备四条通信通道(Lane),当采用MIPI CSI-2接口时,则单通道带宽可调节至4Gbps范围内

该电路板为美国泰科公司官方推荐的应用方案示意图,在实际应用中可选择接收来自四路2,1百万像素、每秒3千帧的YUV-421格式图像数据;该产品系列中将输入通道数从四路减少至两路以进一步提升处理效率,并提供兼容性更强的解决方案;其配套产品包括一个功能更为紧凑的优化版本。
考虑到大多数摄像头采用LVDS格式时仅限于近距离传输的需求,在实际应用中往往需要对信号进行解码处理以获取有用信息。因此,在这种情况下,默认配置下的摄像头无法满足远距离传输的需求。为了实现长距离信号的有效传递与稳定传输质量,在设计系统时必须配备专门的解串行芯片来完成这一功能转化过程。通过同轴电缆或STP(Standard Twisted Pair)实现串行传输的方式不仅能够显著提升数据传递效率还能有效降低信号失真风险从而确保车辆行驶过程中不会产生电磁干扰这一关键问题目前行业内主要采用德州仪器TI以及Maxim这两种高性能芯片方案来实现这一技术需求其中特斯拉系统则采用了德州仪器的技术方案而我们在实际开发过程中发现Maxim的产品线更为广泛更适合不同场景的应用需求
常见的数据格式包括 RAW RGB 和 YUV 类型。其中,在视频编码过程中较为常见的是 Y UV 类型的分层编码方案,默认情况下主要分为三种类型:标准 Y UV-CCSDs(也称为 Y UV-6),其采用了逐行扫描的方式;而现代视频压缩技术则更倾向于使用基于块的变换编码方法(如 MPEG-Ⅳ)。在数字视频压缩过程中,默认情况下会将图像分割为大小不等的小块进行独立处理以减少冗余信息——这被称为块内运动补偿(Intra motion compensation)。
在数字视频压缩过程中,默认情况下会将图像分割为大小不等的小块进行独立处理以减少冗余信息——这被称为块内运动补偿(Intra motion compensation)

特斯拉自动驾驶主芯片详细讲解
采用14纳米工艺制造的这款FSD芯片包括一个中央处理器、一个图像处理单元以及两个神经网络处理器。其中中央处理器与图像处理单元均采用了第三方设计授权以确保其性能与稳定性的同时具备较高的易用性关键的神经网络处理器设计是特斯拉自主研发 是现阶段用于汽车自动驾驶领域最强大的芯片。

中央处理器采用12核心ARM A72架构设计,并具备64位指令扩展技术;图像处理器支持高达0.6TFLOPS的浮点运算能力;两个神经网络处理器均配置在2.2GHz工作频率下可实现72TOPS处理强度。为了优化神经网络处理器的数据访问效率从而进一步提高整体计算性能,在FSD芯片内部集成了32MB高速缓存存储结构。
该电路板组成了完整的自动驾驶系统架构,在运行过程中实现了双神经网络处理器冗余模式进行运行,在发生单片芯片故障时能够维持正常工作状态,在系统规划阶段就对各个功能模块进行了精密设计,在硬件配置上采用了双核异构架构以确保计算资源的最大化利用程度,在通信接口选择上充分考虑了未来扩展性需求,在信号传输路径规划上采用了多层次优化策略以保证信号传输质量的同时也在硬件层面上预留了丰富的扩展接口以支持未来的升级需求。
信号传输流程:
从摄像头捕捉到的画面开始,在基于数据流动的方向上进行详细阐述这一流程。首先,在极高的速度下(达到每秒25亿像素),系统持续不断地捕获输入——相当于持续不断地输出超过21个全高清1920×1080分辨率画面(60帧/秒)的数据量。这些输入与当前使用的传感器所能收集的数据相比规模远超其容量限制。随后,在之前深入探讨过的动态随机存取存储器(DRAM)系统中进行处理——这是SoC的第一个也是最显著性能瓶颈部分。随后将所有原始RGB图像信号返回至芯片——经由一个称为图像信号处理器(ISP)的核心组件进行处理,在这种情况下该系统能够以每秒处理高达十亿像素的速度运行(约等于八块全高清画面在64帧/秒下)。在此阶段中,在芯片上完成原始RGB数据向量化处理工作——将其转换为经过色调增强和平滑噪声后具有实际应用价值的数据输出

采用的是车载龙头镁光品牌提供的LPDDR4内存颗粒。具体型号是8BD77D9WCF, 其中8表示生产于2018年, B表示第4周, D代表D-Die系列属于镁光产品线中性能相对一般的型号, 77分别代表芯片生产地和封装地, 7代表中国台湾地区(5代表中国大陆)。因此, 这一型号对应的产品是由美光公司于2018年第4周生产的D系列芯片中的D9WCF型号产品。其中53代表该颗粒为LPDDR4类型, D代表工作电压为1.1V, 512M表示单颗颗粒存储容量为512MB, 32则表示单颗粒位宽为32bit技术规格。该内存模块的完整型号标识为MT53D512M32D2DS-046AAT
按照容量计算单颗芯片是=512MB X 32 ÷8 = 2GB,使用量是4颗,所以DDR的总容量是8GB。
采用LPDDR4最高工作频率为4266MHZ的情况进行计算分析可知:每个DDR单元具有32位的数据传输宽度;而整个CPU系统总数据传输宽度为32×4=128 bit;通过将CPU总带宽乘以单个DDR单元的数据宽度并除以数据传输效率(此处假设数据传输效率为8)即可得到最终结果:此时 DDR 的带宽 = 4,266 MB × 128 ÷ 8 = 68.25 G/S
我们再来看看目前的特斯拉的信号传输流向。
可以看出,在采用RGB 8位深度的情况下(即每像素有红绿蓝三种颜色通道各占用一个字节),来自八颗摄像头采集的画面数据量将显著增加至约2.79 GB/秒;而当前系统中的PCIe LPDDR4总带宽达到了每秒68 GB(约等于理论值)。目前而言,在单独进行图像解码与显示操作时其带宽消耗并未超过现有资源配额上限;但值得注意的是,在自动驾驶系统中不仅要处理大量图像信息还要实时解析雷达信号以及管理多个异步数据流(包括来自不同传感器源的各种多线程或多应用的数据),因此在此背景下内存带宽很可能将成为制约该技术发展的关键资源约束因素
自动驾驶对于DDR带宽的要求:

上图展示了当前较为流行的L3+自动驾驶系统架构。可以看出,在该架构中摄像头部分的数据传输需求最为突出:其中摄像头部分的数据传输需求最为突出:其中摄像头部分的数据传输需求占用了约34GB/s的DDR带宽资源;而ASIC单元则占用了64bit的高带宽资源;ADAS功能模块则直接接收并处理来自摄像头端部输出的原始数据流(Raw Data),这些数据未经压缩或预处理即为最原始的信息来源;由于ADAS模块对实时性和动态响应能力要求极高因此其对数据传输能力的需求远高于其他功能模块
可以观察到为了处理来自高清摄像头的 raw 数据外,还需要对超声波雷达与激光雷达收集的数据进行整合与分析,这些不同类型的传感器各自承担着独特的功能,其中激光雷达主要负责三维建模工作,而超声波雷达则可用于倒车操作以及车辆变道过程中的监控,摄像头则专门承担自动驾驶辅助系统中的关键任务,包括但不限于 ACC 自适应巡航控制系统和 AEB 紧急制动辅助系统等。

因为这些传感器采集的数据量极为庞大,在数据处理方面也有较高的需求。因此,在实现ADAS级CPU所需的DDR带宽时有着极高的要求。具体实现上,则需采用四颗32位LPDDR5芯片,并在CPU层面,则需满足128位总带宽的需求。其中整体上则必须达到至少102.4GB/s的速度。或许会对这样的配置感到疑惑:特斯拉为何仅提供68GB/s的速度?
尽管面临高昂的成本挑战,特斯拉仍未能采用激光雷达技术。该页面展示了特斯拉车身上不同版本的传感器硬件配置(如图所示)。其中AP3.0版本采用了6个摄像头、12个超声波雷达及1个毫米波雷达等设备。值得注意的是,在这一配置下,其采用的算法堪称精湛——即使仅依靠超声波雷达配合摄像头也能完成3D数据建模工作。由此实现了性能与成本的双优平衡,并降低了对DDR带宽的需求。

在2020年市场上推出的L²级别自动驾驶技术中,并未采用激光雷达;仅在谷歌waymo的产品中部署了4颗,在奥迪A8中则采用了1颗激光雷达。进入2021年后,在上海车展期间,“极光雷达”的应用如同雨后春笋般涌现,“越来越多”的智能汽车开始配备激光雷达设备。“许多使用的都是安全冗余设计”,因为这些设备需要在故障发生时迅速切换至备用系统以确保行车安全。“传感器的数据是在融合处理之后进行分析”,而这使得对数据处理能力的要求显著提升。“同时,在这一阶段对DDR带宽的需求也会相应增大。”


特斯拉NPU介绍

上图中的型号处理流程中,该流程的第一步是将数据存储于SRAM阵列中。现在有很多人——即使是具备一定计算机组件知识的人——也会好奇:“SRAM到底是什么?”嗯,在处理器上找到的共享L3缓存就是最接近的答案。这说明什么呢?这表示操作速度极快,但成本也相应较高。
现在,Intel最高容量的L3缓存达到了45 MB(早期为16 MB,在2014年前为24 MB)。普遍使用的消费级笔记本与桌面处理器通常配备有8至12 MB的L3缓存。特斯拉的神经网络处理器采用了规模宏大的64MB SRAM设计,并将其划分为两个独立的32 MB SRAM块以支持两个神经网络处理单元。特斯拉将其充足的SRAM容量视为其相较于同类芯片的重要优势之一。
NPU的算力能够满足很多图像相关的识别算法:

假设你的车上部署了YOLO-V3算法。它是基于深度卷积神经网络学习特征的目标检测模型。简单来说就是在机场和地铁等场所已经被广泛应用。主要涉及大量的卷积运算、残差块以及全连接层等多种计算环节。其核心运算实质上都是乘法与加法操作。当给定特定输入图像尺寸时,在实际应用中这个数字往往远远超过十万亿。用算力表示就是TOPS为单位。那么要快速执行一次YOLO-V3就需要完成一万亿次的加法乘法运算。

此时自然会关注。例如IBM的POWER8服务器作为最高端服务器采用超标量CPU设计,在运行频率达到4GHz的基础上结合了单指令多数据技术,并且采用了128位宽度的技术架构。假设这些处理器主要针对处理16位数据而言,则意味着每个周期能够完成最多8次乘加运算;而整体上每次操作能够处理多达16项计算任务。这些参数虽然在理论上具有吸引力但实际应用中由于各种技术限制使得这种规模的操作并不可行。
那么具体来说,在一秒钟的时间内CPU能够完成多少次峰值运算呢?通过乘以16个通道(通道数),我们可以得到16 \times 4\text{Gbps} = 64\text{ Gbps}的结果。然而理论上最优的情况下的数值可能会受到一些限制因素的影响而无法完全实现。由于芯片内部存储空间有限,在这种情况下我们不得不将大量数据存储在DDRAM中(Dynamic Random Access Memory),而从DDRAM读取数据的速度较慢。因此,在执行乘法操作时必须等待DRAM完成数据传输。此外,在AI算法中通常包含多个层次结构的网络单元(layer),每个层次都需要依次完成计算任务。在这种情况下,在切换到下一个层次时,乘法逻辑暂时处于空闲状态。这些因素导致实际运算性能未能达到理论最大值。按照这种高效的图像处理算法,在执行YOLO-V3这样的目标检测任务时所需的时间约为:\frac{1\text{W}}{3.2\text{ Gbps}} \approx 52\text{ 分钟}
若以当前CPU进行运算,则预计车将坠入河中未察觉前方即为河流。此情形凸显了运算速度的重要性,在ADAS设备中时间即是生命。
回过头来审视一下目前运行的高通820A芯片的实际处理能力发现其仅为42千次/秒相比之下基于IBM POWER8架构设计出超先端服务器级处理器能够轻松达到32万个GOPS水平的能力然而车载使用的域控制器同样具备高达42千次/秒的处理能力显然无法满足深度学习等AI任务的需求而转而采用高性能图形处理器(GPU)进行加速测试结果表明配备单块高性能GPU后图像识别系统的处理速度能够达到320个GOPS这一性能表现在当前工业应用中已经相当出色
当前能够观察到的是,在高通820A芯片上实现AI计算时所依赖的核心组件中,并没有足够的CPU算力支持;而GPU端则具备相应的支持能力。
此时可以观察到该芯片的CPU计算能力无法满足AI需求;而其GPU计算能力则能够满足一些对实时性要求不高的AI任务
此时观察特斯拉的NPU系统时会发现它能够在仅需13.8毫秒的时间内完成计算任务。当其以每小时八十公里的速度运行时其反应速度达到了每米零点三完全可以在各种场景下胜任这一性能指标远超预期的实际应用中其实很难达到如此高的运算效率因为系统的总处理能力有限。
该处理器具备强大的计算能力,在现代人工智能领域发挥着关键作用。许多数据都需要通过该处理器进行处理与运算操作,但这些运算任务仍有待于优化以适应神经网络处理器的需求或者无法直接利用其技术特性实现高效计算。此处即为 GPU 大显身手之处。该芯片配备了一款性能均衡的 GPU(每辆 Tesla 车都配备有此功能模块),其运行频率稳定在 1 GHz,并能够处理 600 GFLOPS 的数据量。值得注意的是,在 Tesla 展示过程中所描述的 GPU 角色表明,在这一阶段 GPU 主要负责执行一些辅助性后端任务,可能涉及生成能够被人类理解的画面与视频内容。然而,在 Tesla 展示过程中所描述的应用场景下所表现的功能特性表明,在这一阶段 GPU 主要负责执行一些辅助性后端任务,并非主要工作负载所在区域。因此预计下一代芯片将配备更为紧凑且高效的 GPU 组件
一些通用性较高的处理任务并不适合由神经网络处理器来执行、而是由中央处理器(CPU)来完成的。据称,在这一芯片中集成有12个高性能ARM Cortex-A72核心(64位),其运行速度达到了每秒两吉赫兹(GHz)。尽管如此——更为精确的说法是该芯片包含三个四核处理器——但为何特斯拉选择采用ARM基于Cortex-A72的技术仍让人感到困惑。该架构于2015年推出后不久便发布了Cortex-A73、Cortex-A75以及仅仅几天前推出的Cortex-A77系列型号。Alder和他的一组研究员表示,在设计这些先进架构之前已有相关想法已经形成并得以实施。
从经济角度来看
AI芯片加速原理:
人工智能(深度学习)现在无处不在,衡量人工智能运算量通常有三个名词。
FLOPS代表floating point operations per second:强调全部大写字母这一特点非常重要,并且它指的是floating point operations per second这一术语的缩写形式。FLOPS意指每秒执行浮点运算的数量,并可理解为衡量计算能力的标准。作为一个关键指标,在计算领域中有着重要的应用价值。
FLOPs代表浮点运算次数(Floating Point Operations per Second),其中s为小写字母,在此作为缩写的标识符使用。它意为浮点运算的数量(floating point operations),而其缩写的来源则是floating point operations这一术语中字母f的小写字母表示复数形式(其中s代表复数形式)。因此,在学术文献中我们通常会看到这样的表述方式以明确区分单复数形式。这种表示方法不仅有助于避免歧义的发生,在技术文档中也便于读者快速理解相关概念的具体含义与应用背景。此外,在讨论算法性能时常用此指标来量化计算规模(computational scale),以便于比较不同算法或模型之间的性能差异及其优化潜力。
MACCs被称为multiply-accumulate operations;也被视为MAdds;其意义在于乘加操作(点积运算);可被视为计算量;也可被称为MAdds;大致相当于FLOPs的一半。
在人工智能领域中占据最高运算资源消耗比例的环节是卷积神经网络中的核心操作具体表现为一系列乘法与加法的操作过程
y = w[0]*x[0] + w[1]*x[1] + w[2]*x[2] + ... + w[n-1]*x[n-1]
其中w和x均为向量变量,y为标量输出。上式代表了全连接层或卷积层的基本运算模式。每一次乘-加操作即执行一次乘法后再进行一次加法操作。因此,在计算资源评估中,MAC数量通常被视为FLOPS的一半。这些常见的计算类型都可以被分解为多个MAC指令的操作序列。
MAC指令的操作数据类型包括整数、定点型数据以及浮点型数据。当处理涉及浮点型数据的操作时,通常会执行两次数值修约(Rounding),这一操作模式在许多常见的DSP架构中实现。当一条MAC指令仅对单个浮点型操作执行一次数值修约时,则称该操作为"融合乘加运算"或"熔合乘法累积运算"(Fused Multiply-Accumulate, FMAC)。假设采用一个3x3卷积核、共有128个滤波器,并且输入特征图尺寸为112x112x64,在stride=1且padding=same的情况下进行计算。此时总 MACC 操作次数总计达9.07亿次(约为每秒高达...)
AI芯片则是通过集成大量 MAC 单元来实现功能。提高 MAC 的数量是提升计算能力最直接且有效的途径;这种方法无可争议。然而,在此过程中会伴随芯片裸晶面积及整体成本的大幅上升;这种增长源于先进制程技术带来的晶体管密度提升。这也正是采用最先进半导体制造工艺的原因所在;只有通过这种方式才能最大化地减少晶体管尺寸并提高集成度。衡量制程工艺性能的主要指标是晶体管密度而非追求几纳米尺度下的纯数字游戏。
详细地说,在芯片制造领域中,具体来说:台积电最初采用7纳米工艺时,在每个单位面积上集成9630万个晶体管;后来采用7+纳米技术后,则每个单位面积上集成1.158亿个晶体管。相比之下,三星采用7纳米工艺时集成度为9530万个晶体管(比...少18%),而在集成度方面领先于三星但比台积电落后。因此,在实际生产中遇到了技术瓶颈。另外值得注意的是:每片晶圆的成本高达近4千美元;相比之下(即与中芯国际的价格对比),三星的价格约为2500美元;而中芯国际则更低至1600美元左右
除了单纯地依靠数量增长外,在提升系统性能时还需考虑提升MAC运行频率这一策略;然而这会带来显著上升的功耗水平 从而可能造成芯片损坏或导致系统死机 这种极端情况一般不会被采用;另一种可行的优化途径是提升MAC的工作效率
提高MAC效率方法:
提升MAC效率最重要的就是存储 。
真实值与理论值之间的差距显著存在。计算设备真实值的主要影响因素包括SRAM与DRAM带宽性能、实际运行频率(即供电电压或温度)以及算法计算批次大小等参数。例如,在第一代TPU设备中,其理论计算能力达到90TOPS水平,但实际性能仅有理论值的十分之一左右(即约10TOPS),这一现象主要由于第一代TPUs设备的内存带宽仅为34GB/s所致。相比之下,在第二代TPUs中采用了HBM技术以显著提升带宽性能(单芯片设计下可达600GB/s)。
现采用英伟达第二代HBM技术的A100显卡配备有40GB容量的显存资源,并且其带宽已较上一代提升至约1600GB/s(这一数值较V100提升了大约73%)。若采用类似的技术架构,则运行时带宽计算结果为:(运算频率×双倍DDR通道数×内存位宽度)/ (字节单位×千) = (2133MHz × 2 × 128bit) / (8 × 1千) = 68.256 GB/s。这一数值相较于第一代TPU仍有一定差距(以上数据均基于理论峰值计算得出)。然而其实际性能表现却远低于预期水平(实测性能水平约为该理论值的约二分之九)。值得注意的是,在配置不同规模内存的情况下(如提供大小为十六 Gibbs 的显存),其峰值带宽将有所变化。(例如:Xavier架构支持 sixteen GB 显存配置时将可达到 ¹³⁷ GB/s 的峰值带宽水平)。
由于MAC计算效率直接影响算法性能,在CNN卷积运算中若所需的计算能力为1TOPS而运算平台的最大承载能力为4TOPS,则系统效能仅为25%,导致大量的运算资源闲置等待数据传输。特别是在处理小批量数据时尤为明显,在这种情况下存储带宽成为了制约系统性能的关键瓶颈因素。一旦计算需求超出平台承载能力,则会导致系统延迟显著增加,并不会改善存储瓶颈的影响;即使达到了90-95%的效能范围,在存储带宽依然存在的情况下其影响依然存在
然而,在实际运营中,并非所有平台都采用单一算法运行模式。由于系统运行效率难以稳定维持在90-95%之间这一较为理想的状态(...),这也成为许多AI技术公司纷纷定制或自制专用计算平台的主要原因。而相关设备制造商也需要开发相应的AI算法以配合其硬件设计需求,在软件与硬件一体化设计难度较大的情况下(...),两者之间的协同开发自然变得异常复杂。
最优方案通常是通过缩短运算单元与存储器之间的物理距离来实现的。这一目标也是过去15年高性能芯片封装技术发展的重要方向。这一技术不仅能够显著提升计算能力,并且还能够同时降低功耗并有效抑制热量产生。在这其中最有效的解决方案包括HBM以及CoWoS等技术

CPU与HBM2之间采用了Micro-bump结构进行连接,在设计时将宽度设定为仅达55纳米水平(即缩小至传统的PCB级存储器或离芯片式存储器的1/20)。这一创新设计可有效缓解系统中的内存瓶颈问题
不过
通过退让策略来优化指令集,在减少数据访问频率的同时实现性能提升;卷积神经网络架构会导致频繁的数据访问模式,在这种情况下数据访问频率将随着采样集合规模的增长而成倍上升(主要原因在于缓存机制的限制)。由于缓存容量有限,在这种情况下即使这些采样点会被反复调用也无法充分挖掘数据本地化所带来的cache收益;对于此类场景而言脉动阵列是一种已被广泛采用的有效策略)。
脉动阵列
脉动阵列并非是一个较为古老的术语,在计算机体系架构领域已存在较长时间。许多读者可能对冯氏架构有一定的了解。通常情况下数据存储于内存中,在进行运算时需要将这些数据从内存传输至缓冲区或缓存中使用。
当我们在运算过程中调用computing功能时,其中computing所花费的时间并非主要瓶颈。相反地,在这种情况下更为关键的是内存访问效率的问题。因此内存访问成为主要瓶颈因素导致系统性能受限。其逻辑相对较为简单因为每次memory读取所需时间较长而脉动阵列则通过尽可能多地在单次memory访问期间执行相关计算操作来优化整体性能比值。

下面说下脉冲阵列的基本原理:
从图中可以看出,上半部分展示了传统计算系统的模型.单个处理器单元(PE)通过主存(memory)读取数据进行运算后返回结果.该系统的最大问题在于:数据访问速度通常远低于数据处理速度.因此,在访存能力方面存在瓶颈的情况下,该系统的每秒操作数(MOPS)表现受到了限制.这也是计算机体系结构研究中的一个关键问题,也是推动处理器和存储器设计发展的一大动力.而脉动架构采用了相对简单的策略:尽可能让数据在多个处理器单元之间流动以提高效率.
如上图所示的下半部分中提到
上面这张图清晰明了地从一维数据流中呈现了脉动阵列的基本逻辑。
对于CNN等神经网络而言, 通常表示为二维矩阵结构。
因此, 脉动阵列在从一维扩展至二维时能够很好地契合CNN所需的矩阵乘法运算架构.
最常见的做法是通过降低推理中的量化比特精度来实现性能提升。这不仅有助于减少运算单元所需的存储空间和计算资源消耗,并且还能有效降低整体系统的功耗水平。然而需要注意的是,在某些特定场景下这一策略可能会导致推断准确度下降的问题出现。因此,在设计基本运算单元时需要综合考虑系统的性能与准确性之间的平衡关系。例如BitMAC设计了一个灵活的数据格式方案,能够支持从1到16比特的权重精度设置。现有的许多AI推理芯片通常仅支持INT8和INT16格式的数据类型进行处理
除了降低精度之外,在算法设计中还可以利用某些数据结构转换以降低计算复杂度;例如,在矩阵运算中可以通过快速傅里叶变换(FFT)进行处理以减少乘法操作的数量;此外,在MAC实现中可以通过查找表的方式进一步优化运算效率
基于修正线性单元(ReLU)作为激活函数的神经网络模型中,在输入信号经由激活层后的输出结果中存在大量零点;而经过神经网络剪枝处理后相应的权重参数同样表现出显著的稀疏性特征。基于这一特性一方面可以通过特定硬件架构来提高计算效率另一方面还可以对模型中的权重参数和激活值进行量化压缩处理以降低资源消耗

在体系架构层面进一步提升整体Memory系统的性能,在该研究团队展示了部分寒武纪相关的科研成果实例中可以看出这一技术的应用效果显著。其中一种较为常见的技术手段是通过最大化数据复用(Data Reuse)来提高效率,在芯片内部尽可能多地复用已获取的数据信息,在芯片内部存储空间有限的情况下优先采用内存缓存能够加快数据访问速度并减少内存访问频率可以显著提升运算效率这一技术手段不仅有助于减少内存访问时间还能最大限度地发挥内存带宽的作用从而实现系统性能的整体提升

在神经网络架构中,并非所有的连接都必须存在。这意味著通过移除部分连接后得到的压缩模型与原模型相比,在性能上并没有显著的下降。基于这一理念发展起来的各种剪枝方法也得到了广泛应用。这种策略不仅能够有效地降低模型体积还能显著提升其运行效率。
值得特别指出的是:通过查看图表可知, 深度学习神经网络主要包含卷积 layer 和 fully connected layer 两大组成部分, 其中, 剪枝技术在 fully connected layer 上的表现最为突出, 相较于 convolutional layer 来说, 在 fully connected layer 上实现了更为高效的减量。在 column chart 中显示的部分是经过 compression 后的各项 coefficient 占比, 可以看出, 在经过 pruning 处理后, 虽然在 fully connected layer 的数量大幅减少的同时, 在 convolution layer 的 effect 相形之下较为逊色。
因此,在语音加速这一领域中使用剪枝策略较为常见。然而,在涉及大量卷积层的机器视觉应用中,剪枝的效果并不如预期的理想。

对于每个权重系数来说,使用定点数是否足够?是否可以用定点数来替代浮点数呢?一些研究者发现使用8位甚至1位的定点数也能获得不错的效果。这样一来,在进行权重压缩时能够获得显著的效果。通过以下三张人脸定位图中的红圈与绿圈对比结果可以看出,在很多情况下8圈定位已经适用,并不比32圈定位产生明显改进。因此我们可以得出结论,在这种情况下对权值进行量化压缩不会影响模型的整体性能同时还能提升计算效率
谷歌的TPU AI计算加速介绍:

该TPU由谷歌公司开发。在芯片架构图中可见的是一个64K级的脉动MAC阵列单元,用于加速乘加运算。通过论文分析可知,在运算加速方面采用了脉动阵列架构方案。此外,在实现过程中还参考了我们之前介绍过的大量片上存储器相关的设计思路与技术路线。在蓝色框图区域中可以看到一个容量达24MiB的专用片上存储器资源,并且该模块配备了两个高速DDR3接口以实现与外部内存系统的数据传输。
再谈谈AI芯片吧。比如说谷歌那款赫赫有名的TPU1处理器吧。这款处理器性能强劲,在运算方面表现突出。它的核心组件是一个拥有256乘256阵列结构的脉动型计算引擎(如图所示)。这个引擎总共包含64千个独立的核心单元,在单个周期内能够完成128千次运算任务——其中一半是乘法运算另一半则是加法运算这样的高效处理能力让它在AI训练任务中表现尤为出色

另外,除了脉动阵列,还有其他模块,比如激活等,这些里面也有乘法、加法等。
所以,看看TPU1一秒钟的巅峰计算次数至少是=128K X 700MHz=89600Gops=大约90Tops。
对比而言,在运算速度上CPU与TPU1之间存在一个数量级以上的差距。为何认为运算速度较慢?这是因为TPU1在计算能力上远超于CPU。
当然这些数据在理想情况下理论上能达到最高水平,
实际情况能达到的比例大概是5%左右,
由于芯片上的存储空间有限,
这些数据会被暂时存储在DDRram中,
从DDRram读取速度较慢,
因此在此期间必须等待上一阶段的结果才能继续运算,
而AI算法通常由多层网络构成,
每个阶段都需要逐步处理,
当切换到下一阶段时必须要等待前一阶段完成所有运算后方能开始下一阶段的操作,
这些因素共同导致实际运行中的效率与理论峰值之间存在显著差距

如图所示的第二代TPU。通过观察图片可以看出,它采用了我们在之前讨论过的HBM内存技术。同时,根据它的论文信息可以看出,二代TPU相较于第一代主要增加了剪枝操作以及权重压缩等方面进行了大量尝试,是一个经典的云端AI加速芯片实例。

特斯拉HW4.0 将改变未来汽车的模样
硬件层面:
我们对其功能和性能有哪些期待?就目前掌握的信息来看,默认情况下系统将主要关注提升安全性这一核心目标。值得注意的是,在现有技术框架下,默认策略并不会强制要求老旧车辆必须引入新技术;不过这也并不意味著系统会排斥新兴技术
随着技术发展, 特斯拉可能将采用最新的CPU版本, 这一可能性将取决于该公司何时启动基于A75架构的设计工作. 随着处理能力提升, 特斯拉有望减少芯片功耗并优化布局, 从而为其核心功能模块腾出更多空间.
特斯拉可能会升级到LPDDR5, 这将导致明显的性能提升和能效优化。然而, 如果HW 4.0芯片在设计过程中或者为了降低成本, 特斯拉可能会采用LPDDR4X作为替代方案。通过采用更低电压平台, LPDDR4X能够有效降低能耗, 但若同时使用多个芯片, 其速度性能仍可保持相对较高水平。尽管如此, 与现有的HW 3.0架构相比, 这种配置并未带来能耗上的节省优势。无论选择哪种方案, 它们都代表了对现有技术的全面优化
进一步改进具有更多SRAM的神经网络处理单元。
根据芯片处理能力能否处理摄像头传输来的全分辨率图像以及相应的帧率数据这一关键因素来看, 特斯拉的HW 4,0可能会配备更高分辨率的新摄像头与传感器系统, 并不排除具备更高的帧率传输能力的可能性。这意味着高分辨率图像对于提升物体识别精度及远距离识别能力至关重要
升级后的图像信号处理器(ISP)。特斯拉希望其芯片既经济实惠又性能强劲。由于在HW 3.0版本中...

一个较小规模的GPU。在HW 3.0架构中还存在 GPU 的一部分原因是,并非所有的计算任务都转移至神经处理器上。对于特斯拉公司来说,在其编程人员能够利用充足的时间重新分配剩余计算任务给 NPU 或 CPU 这一做法或许是一种可行途径。然而完全消除 GPU 是不可能实现;尽管如此,在采用较小规模 GPU 和更低功耗架构时会带来较小系统-on-chip(SoC)占用面积的优势;这将允许为更为关键的功能单元——例如更多的存储器(SRAM)——腾出预算和空间资源。
软件层面:
新一代自动驾驶系统HW4.0预计将于明年初投入量产。该系统将对AutoPilot平台进行重构设计,并推出Dojo超级计算机用于神经网络训练。该平台旨在实现L5级自动驾驶技术的突破性进展。2023年8月,《汽车科技》等主流媒体率先报道了这一消息,并指出相关企业已展开关键技术研究工作。值得注意的是,在软件层面AutoPilot团队也进行了重大改革:从数据标注到训练推理全过程进行了全面重构优化。

最新的全新增研项目Dojo正在如火如荼地推进中。Dojo专注于处理海量图像与视频数据,并将具备每秒百亿亿次浮点运算能力(exaflop级别)。该系统将协同运用无监督学习算法与先进的计算架构设计技术,在提升特斯拉自动驾驶系统的训练效率方面发挥关键作用,并有望使人工标注的工作量大幅缩减。目前特斯拉已拥有82万台车辆持续不断回传大量实时数据,并计划在未来一年内积累51亿英里驾驶数据用于自动驾驶系统训练。传统的训练模式依赖于大量人工标注的数据来进行深度学习模型的优化与校准工作。

通过 Dojo 改善 Autopilot 的工作流程,在当前采用 2D 图像加内容标注的训练模式基础上,在 4D 环境中进行升级。预计通过先进的自研计算平台、世界领先的 AI 算法技术和丰富的实际道路测试数据积累支持这一目标。特斯拉有望率先在 L5 水平实现自动驾驶技术。
特斯拉HW4.0为什么有勇气对激光雷达say no:
仅特斯拉一家仍致力于以图像识别为主要技术领域的发展。Mobileye已启动使用激光雷达作为下一代自动驾驶平台的核心组件,并已取得显著进展。仅马斯克强调激光雷达如同多余的阑尾,在他看来单个冗余的部件就已经糟糕透顶了;增添多余的部分更是荒谬可笑。
特斯拉展现出了非凡的勇气;具体来说,在于其采用了自主的研发模式;从芯片开始,并通过操作系统以及算法实现自主研发;整体性能能够充分发挥。

视觉方案通过摄像头专注于解决"识别捕捉到的对象"问题。从其工作原理来看,在线摄像头作为核心传感器设备,并通过捕获外部环境中的反射光线信息来构建对环境画面的感知,在此基础上完成图像分割、物体分类、目标跟踪、世界模型建立以及多传感器融合等多个阶段的任务,并结合在线标定技术以及视觉SLAM算法实现图像匹配与深度学习任务。整个系统的关键在于对物体进行识别和匹配处理,并借助AI自监督学习方法实现对物体特征的感知与分析以满足"识别捕捉到的对象"这一根本需求。

视觉方案侧重于分类任务,但受限于样本数量的限制会影响识别的准确性。优化样本不仅需提升AI学习能力而且要扩大数据规模的要求也非常高。由于L3及以上自动驾驶场景涉及较为复杂的道路环境车辆需具备精确识别各类道路状况的能力。进而对神经网络的训练集需求也极为严格。其中一种训练方法是利用机器视觉技术,在人工标注的数据基础上开展识别任务。该方法依赖于标注数据的质量若能有效覆盖各类场景将显著提高识别效果;另一种则是通过自学习算法突破数据限制但对计算能力和算法设计要求极高且存在"黑箱"现象难以进行人工调试与校准
而这两个核心问题都可以通过增强其计算能力以及借助云计算平台的大规模数据训练来解决

特斯拉开发的视觉方案在算法和计算能力方面达到了极高的复杂度。特斯拉曾经透露过其关于数据流自动化计划的核心目标被称为"OPERATION VACATION";这一目标涵盖的数据流处理流程包括从数据收集到"影子模式"形成了一个完整的闭环;这个闭环不仅包含了从数据训练到评估再到算力优化的过程
数据收集:通过8 个摄像头对车体周围进行无死角图像采集;
数据训练任务:基于PyTorch的深度学习框架进行神经网络的参数优化;其中包含了48个独立且具有独特功能的神经网络模型
该系统能够生成1,000种不同的预测张量。其背后所涉及的训练工作量极大,在过去的一段时间内,特斯拉公司已投入了7,584个GPU小时用于训练深度学习模型。
背后算力支持:特斯拉自主研发了FSD 芯片,并具备单片144TOPS 的强大计算能力。此外,
特斯拉计划研发Dojo超级计算机。该超级计算机可在云端处理海量视频数据,并能在无监督学习模式下进行训练。目前该系统的发展进度令人期待。
影子模式作为一种创新性技术方案,在实现智能辅助驾驶方面发挥了重要作用。具体而言,该技术通过首创"影子模式"这一独特机制,在减少数据训练投入的同时显著提升了识别准确度。其核心在于实时采集并分析外部环境信息及驾驶者的操作行为,并将其与自身的预设策略进行对比分析。当驾驶者的实际操作与预期判断存在差异时,随后将这些数据上传至特斯拉云端系统,并在此基础上动态优化改进其识别算法。
从数据采集环节出发,在本地芯片硬件层面完成图像信号的接收与初步分析,在软件算法层面对图像进行进一步优化与特征提取,并最终由后台超级计算机完成整个训练流程的技术支撑是必不可少的。建议尽可能实现芯片、操作系统、算法及控制器的自主研发以确保技术优势。
