自动驾驶芯片概况
自动驾驶芯片简介:车规级芯片要求更加严苛
芯片按应用场景可分为消费芯片、工业芯片、汽车芯片和军工芯片等。汽车是芯片应用场景之一,汽车芯片需要具备车规级。车规级芯片对加工工艺要求不高,但对质量要求高。需要经过的认证过程,包括质量管理标准ISO/TS 16949、可靠性标准 AEC-Q100、功能安全标准ISO26262等。汽车内不同用途的芯片要求也不同,美国制定的汽车电子标准把其分为5级。汽车各系统对芯片要求由高到低依次是:动力安全系统 > 车身控制系统 > 行驶控制系统 > 通信系统 > 娱乐系统。
车规级芯片特殊的技术和工艺要求挡住了企业进入的脚步。车规级芯片有着比消费级芯片更高的技术门槛,需满足温度、振动、电磁干扰、长使用寿命等高要求,还要通过可靠性标准AEC-Q100、 质量管理标准ISO/TS16949、功能安全标准ISO26262 等严苛的认证流程,大部分芯片企业尚不具备转型进入能力。目前,车规级芯片在传统汽车中的成本约为 2270 元 / 车,在新能源汽车中的成本约为 4540 元 / 车。随着汽车向电动化和智 能化发展,芯片的种类、数量和价格占比将进一步提高。
自动驾驶芯片产品趋势:一体化
云和边缘计算的数据中心,以及自动驾驶等超级终端领域,都是典型的复杂计算场景,这类场景的计算平台都是典型的大算 力芯片。大芯片的发展趋势已经越来越明显的从GPU、DSA的分离趋势走向DPU、超级终端的再融合,未来会进一步融合成超 异构计算宏系统芯片。BOSCH给出了汽车电气架构演进示意图。从模块级的ECU到集中相关功能的域控制器,再到完全集中的车载计算机。每个阶段还分了两个子阶段,例如完全集中的车载计算机还包括了本地计算和云端协同两种方式。
英伟达创始人黄仁勋在2022秋季GTC大会上发布了新自动驾驶芯片——Thor。Thor的特点:一是超高AI性能,拥有770亿晶体管,而上一代的Orin是170亿晶体管。AI性能为2000 TFLOPS@FP8。如果是INT8格式,估计可以达到4000TOPS。二是支持FP8格式,英伟达、英特尔和ARM三家联合力推FP8格式标准,力图打通训练与推理之间的鸿沟。三是超高CPU性能,Thor的CPU可 能是ARM的服务器CPU架构V2或更先进的波塞冬平台。四是统一座舱、自动驾驶和自动泊车,一颗芯片包打天下。
英伟达发布的一体化自动驾驶芯片Altan&Thor的设计思路是完全的“终局思维”,相比BOSCH给出的一步步的演进还要更近一 层,跨越集中式的车载计算机和云端协同的车载计算机,直接到云端融合的车载计算机。云端融合的意思是服务可以动态的、 自适应的运行在云或端,方便云端的资源动态调节。Altan&Thor采用的是跟云端完全一致的计算架构:Grace-next CPU、 Ampere-next GPU以及Bluefield DPU,硬件上可以做到云端融合。
自动驾驶芯片架构分析
主流架构方案对比:三种主流架构
当前主流的AI芯片主要分为三类,GPU、FPGA、ASIC。GPU、FPGA均是前期较为成熟的芯片架构,属于通用型芯片。ASIC 属于为AI特定场景定制的芯片。行业内已经确认CPU不适用于AI计算,但是在AI应用领域也是必不可少。CPU遵循的是冯·诺依曼架构,其核心是存储程序/数据、串行顺序执行。因此CPU的架构中需要大量的空间去放置存储单元(Cache)和控制单元(Control),相比之下计算单元(ALU)只占据了很小的一部分,所以CPU在进行大规模并行计 算方面受到限制,相对而言更擅长于处理逻辑控制。
GPU(GraphicsProcessing Unit),即图形处理器,是一种由大量运算单元组成的大规模并行计算架构,早先由CPU中分出 来专门用于处理图像并行计算数据,专为同时处理多重并行计算任务而设计。GPU中也包含基本的计算单元、控制单元 和存储单元,但GPU的架构与CPU有很大不同,其架构图如下所示。与CPU相比,CPU芯片空间的不到20%是ALU,而GPU芯片空间的80%以上是ALU。即GPU拥有更多的ALU用于数据并行处理。
CPU 由专为顺序串行处理而优化的几个核心组成,而 GPU 则拥有一个由数以千计的更小、更高效的核心组成的大规模并 行计算架构,这些更小的核心专为同时处理多重任务而设计。CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。CPU需要很强的通用性来 处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复 杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。
对于深度学习来说,目前硬件加速主要靠使用图形处理单元。相比传统的 CPU,GPU 的核心计算能力要多出几个数量级,也更容易进行并行计算。GPU 的众核体系结构包含几千个流处理器,可将运算并行化执行,大幅缩短模型的运算时间。随着 NVIDIA、AMD 等公司不断推进其 GPU 的大规模并行架构支持,面向通用计算的 GPU已成为加速并行应用程序的重要手段。目前 GPU 已经发展到了较为成熟的阶段。利用 GPU 来训练深度神经网络,可以充分发挥其数以千计计算核心的高效并行计算能力,在使用海量训练数据的场景下,所耗费的时间大幅缩短,占用的服务器也更少。如果针对适当的深度神经网 络进行合理优化,一块 GPU 卡可相当于数十甚至上百台 CPU服务器的计算能力,因此 GPU 已经成为业界在深度学习模型 训练方面的首选解决方案。
FPGA方案:FPGA芯片定义及结构
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发 展的产物。它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程 器件门电路数有限的缺点。FPGA芯片主要由6部分完成,分别为:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰 富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。目前主流的FPGA仍是基于查找表技术的,已经远远超出了先 前版本的基本性能,并且整合了常用功能(如RAM、时钟管理和DSP)的硬核(ASIC型)模块。
由于FPGA需要被反复烧写,它实现组合逻辑的基本结构不可能像ASIC那样通过固定的与非门来完成,而只能采用一种易于反复配置的结构。查找表可以很好地满足这一要求,目前主流FPGA都采用了基于SRAM工艺的查找表结构,也有一些军 品和宇航级FPGA采用Flash或者熔丝与反熔丝工艺的查找表结构。通过烧写文件改变查找表内容的方法来实现对FPGA的重 复配置。查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成 一个有4位地址线的 的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑 电路的所有可能结果,并把真值表(即结果)事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址 进行查表,找出地址对应的内容,然后输出即可。
ASIC方案:ASIC定义及特点
ASIC 芯片可根据终端功能不同分为 TPU 芯片、DPU 芯片和 NPU 芯片等。其中,TPU 为张量处理器,专用于机器学习。如 Google 于 2016 年 5 月研发针对 Tensorflow 平台的可编程 AI 加速器,其内部指令集在 Tensorflow 程序变化或更新算法时 可运行。DPU 即 Data Processing Unit,可为数据中心等计算场景提供引擎。NPU 是神经网络处理器,在电路层模拟人类神 经元和突触,并用深度学习指令集直接处理大规模电子神经元和突触数据。ASIC 有全定制和半定制两种设计方式。全定制依靠巨大的人力时间成本投入以完全自主的方式完成整个集成电路的设计 流程,虽然比半定制的 ASIC 更为灵活性能更好,但它的开发效率与半定制相比甚为低下。
ASIC 芯片非常适合人工智能的应用场景。例如英伟达首款专门为深度学习从零开始设计的芯片 Tesla P100 数据处理速度 是其 2014 年推出GPU 系列的 12 倍。谷歌为机器学习定制的芯片 TPU 将硬件性能提升至相当于当前芯片按摩尔定律发展 7 年后的水平。正如 CPU 改变了当年庞大的计算机一样,人工智能 ASIC 芯片也将大幅改变如今 AI 硬件设备的面貌。如大名鼎鼎的 AlphaGo 使用了约 170 个图形处理器(GPU)和 1200 个中央处理器(CPU),这些设备需要占用一个机房,还 要配备大功率的空调,以及多名专家进行系统维护。而如果全部使用专用芯片,极大可能只需要一个普通收纳盒大小的 空间,且功耗也会大幅降低。
ASIC技术路线是有限开放,芯片公司需要面向与驾驶相关的主流网络、模型、算子进行开发。在相同性能下,芯片的面 积更小、成本更低、功耗更低。ASIC技术路线未来的潜力会很大,选择ASIC路线并不意味着要对不同车型开发不同的 ASIC,或进行不同的验证。因为不同车型需要实现的功能大致相同,而且芯片面对模型和算子进行有限开放,算法快速 迭代不会影响到芯片对上层功能的支持。车厂与芯片设计公司合作,进行差异化定制,或是更好的选择。因为即使是进 行差异化的定制,芯片内部50%的部分也是通用的。芯片设计公司可以在原有版本的基础上进行差异化设计,实现部分 差异功能。
主流架构方案对比:三种主流架构
FPGA是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路领域中的一种半定制电路而出现 的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。优点:可以无限次编程,延时性比较 低,同时拥有流水线并行和数据并行、实时性最强、灵活性最高。缺点:开发难度大、只适合定点运算、价格比较昂 贵。图形处理器(GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设 备(如平板、手机等)上做图像和图形相关运算工作的微处理器。优点:提供了多核并行计算的基础结构,且核心数非 常多,可以支撑大量数据的并行计算,拥有更高的浮点运算能力。缺点:管理控制能力(最弱),功耗(最高)。
ASIC,即专用集成电路,指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。目前用CPLD(复杂可编程 逻辑器件)和FPGA(现场可编程逻辑阵列)来进行ASIC设计是最为流行的方式之一。优点:它作为集成电路技术与特定用 户的整机或系统技术紧密结合的产物,与通用集成电路相比具有体积更小、重量更轻、功耗更低、可靠性提高、性能提 高、保密性增强、成本降低等优点。缺点:灵活性不够,成本比FPGA贵。
唯算力论的局限:TOPS算力不完全等于实际性能
随着ADAS、自动驾驶技术的兴起,以及软件定义汽车的逐步深入,智能汽车对于计算能力和海量数据处理能力等的需求暴增,传统汽车的芯片“堆叠”方案已经无法满足自动驾驶的算力需求。芯片最终是为车企的车载计算平台服务的,在 “软件定义汽车”的情况下,解决智能驾驶系统计算平台的支撑问题,无法只通过芯片算力堆叠来实现。
芯片是软件的舞台,衡量芯片优劣的标准,要看芯片之上的软件能否最大化地发挥作用,算力和软件之间需要有效匹配。两款相同算力的芯片比较,能让软件运行得更高效的芯片才是“好芯片”。决定算力真实值最主要因素是内存( SRAM和 DRAM)带宽,还有实际运行频率(即供电电压或温度),以及算法的batch尺寸。单颗芯片算力TOPS是关键指标,但并非唯一,自动驾驶是一个复杂系统,需要车路云边协同。所以它的较量除了芯还有 软硬协同还有平台以及工具链等等。芯片算力的无限膨胀和硬件预埋不会是未来的趋势,硬件也需要匹配实际。高算力 背后是高功耗和低利用率的问题。
自动驾驶领域99%的视觉数据在AI处理中是无用的背景。例如检测鬼探头,变化的区域是很小一部分,但传统的视觉处理 仍然要处理99%的没有出现变化的背景区域,这不仅浪费了大量的算力,也浪费了时间。亦或者像在沙砾里有颗钻石,AI 芯片和传统相机需要识别每一颗沙粒,筛选出钻石,但人类只需要看一眼就能检测到钻石,AI芯片和传统相机耗费的时 间是人类的100倍或1000倍。除了冗余信息减少和几乎没有延迟的优点外,事件相机的优点还有由于低时延,在拍摄高速物体时,传统相机由于会有 一段曝光时间会发生模糊,而事件相机则几乎不会。此外事件相机拥有真正的高动态范围,由于事件相机的特质,在光 强较强或较弱的环境下,传统相机均会“失明”,但像素变化仍然存在,所以事件相机仍能看清眼前的东西。