hhhh713 LV
发表于 2025-4-9 12:49:05
上期文章:
AI芯片(上),自动驾驶里的“水浒卡”上一篇介绍自动驾驶的网红算法深度学习的时候,简单提到了深度学习与自动驾驶AI芯片门当户对的原因。但是在自动驾驶AI芯片家族里除了上提到的GPU,还有下文即将介绍的FPGA和ASIC。到底AI芯片家族里哪位“小伙”可以和深度学习相携到白头,共度余生。回答这个问题前,我们不得不先介绍一下“女嘉宾”的身世背景。
深度学习的目的是获得一个鲁棒性好、泛化能力强的深度学习模型。而这个深度学习模型是一个浑身长满参数的数学模型,这些参数决定了模型的高矮胖瘦。在没有学习前,这个模型犹如不识字的孩童,只知道嘤嘤啼哭。但当我们把一个巨大的数据集(犹如李永乐的三年高考、五年模拟)喂给模型时,模型的参数就开始基于这些数据集进行进化,直到找到最优的那组参数。这个时候的模型,像极了象牙塔毕业的骄子们。
从成千上万的变量中寻找基于给定数据集的一组最优参数的过程被称为训练,训练是一个艰苦的过程,需要通过不断的尝试,来获得最优的一组参数从而使模型实现收敛,而这个尝试就是在经历矩阵相乘,卷积运算等基本运算。特斯拉在其2021年的AI Day上发布的Dojo超级计算机,据称会是全球第五大计算机,正是用于训练其视觉自动驾驶算法。
基于训练好的模型结合实时获得的传感器数据,准确的、快速的输出感知、识别、预测结果被称为推理。伴随着决策也在AI化、博弈网络的引入,推理所需的算力自然也水涨船高。训练一般在云端或本地端,推理在车端。这样一来,谁的硬件资源可以更好地匹配以深度学习为代表的网红算法们在训练、推理过程所需的基本运算,谁就具有未来入赘豪门做女婿的潜质。
GPU就是将一些深度学习用到的基本运算进行了硬件化,比如MAC,通过大量硬件逻辑电路完成计算,因此可以大幅提升计算速度。但是芯片一旦设计完成,固化的逻辑电路便不可修改。对于图形计算领域来说,经过多年演进,算法基本固定的,且GPU本就为图像计算领域而生,因此硬件和算法可以实现完美的匹配。
但是对于自动驾驶领域来说,各种深度学习算法还在进化,每天都有可能产生新的更高效,更有效的深度学习模型。而不同模型在训练、推理过程对基本运算的依赖程度不同。半整型、整形、单精度浮点数、双精度浮点数、乘、加等都是可以排列组合。同时在训练过程、推理过程还存在随时切换深度学习模型的可能性。使用GPU,可以起到加速的作用,但无法发挥最大的潜质。因此业界渴望一种硬件可被重新编程来执行新类型计算的芯片,伴随着这样的呼声,FPGA登上了舞台。
三、FPGA
FPGA(Field Programmable Gate Array,现场可编程门阵列),是一种硬件可重新编程的半定制芯片。通过在硅片上预先设计具有可编程特性的集成电路,用户可根据具体需求将芯片编程成算法最期望的颜值。
可编程是FPGA最明显的标签,可编程过程包括三个步骤:(1)使用硬件描述语言生成描述硬件电路的配置文件;(2)采用配套FPGA专用的EDA软件将配置文件编译生成二进制位流数据;(3)将二进制位流数据烧录到芯片中实现所需的功能。
上文介绍的CPU、GPU遵循的是冯·诺依曼体系结构,指令要经过存储、译码、执行,共享内存在使用时要经历仲裁和缓存。而FPGA每个逻辑单元的功能在重编程时就已经确定,因此无须指令。而FPGA的内存专属于各个控制逻辑,无需不必要的仲裁和缓存。得益于体系架构的优势,先天具有更高能效的特长。
体系结构不同带来的另外一个优势就是,FPGA具有极低的延迟,它无须依赖通用OS,也无须通过总线即可完成通讯,拥有流水线和数据并行(GPU由于流水线深度受限,只能做到数据并行),延迟在微秒级别,这令拥有毫秒级别延迟的高质量CPU也汗颜。对于自动驾驶多传感器微秒级的时间同步精度要求来说,FPGA显然更胜一筹。
一般来说,FPGA涉及到三大核心技术:(1)结构布局,内部布局细腻程度,影响芯片的运行效率,全球主要分为两种流派:逻辑和路由都是固定的和逻辑和路由是可以互换的;(2)接口支持,决定了与外围设备兼容性,常用的外围设备包括CPU、GPU、DDR、ADC等;(3)EDA能力,EDA工具是FPGA可编程的关键,也是目前FPGA芯片设计的关键门槛,是FPGA厂商竞争的关键。
抛弃场景谈优劣势,是充钱玩家的做法。FPGA的编程灵活性,特别适合算法不断更新的领域,不仅可以节省3~12个月的流片时间,还能避免一次性工程费用。但是灵活性的代价就是牺牲了一定程度的处理效率,峰值以及平均性能均远低于GPU。基于FPGA编程在今天也是一件门槛非常高的事情。
基于以上优缺点,FPGA早期一直被用作专用芯片的小批量逻辑验证替代品,目前在数据中心的核心计算单元位置上已经站稳脚跟。且随着工艺水平不断突破,技术不断进步,FPGA作为自动驾驶AI主控芯片的潜质也已经凸显。目前FPGA领域呈现双寡头的垄断格局。Xilinx和Intel几乎垄断90%的全球市场。自动驾驶领域,FPGA目前主要应用在相机和激光雷达领域。
四、ASIC
ASIC(Application Specific Integrated Circuit,应用型专用集成电路),是针对某种特定功能需求,设计、开发的专用类型芯片。这种针对固定算法的专用芯片,可以实现最佳计算能力、最优计算效率。
作为一种定制的专用类型芯片,ASIC一个完整的定制流程大致包括:系统设计,详细设计,寄存器传输级编码,逻辑综合、逻辑对等,前仿真,布局布线,后仿真,流片等。而对于FPGA来说,在前仿真没有问题后即可在FPGA上进行烧录,进行系统级验证。因此可以可以节省一次后仿真和流片2个步骤。而这两个步骤至少需要六周,而流片一次成功的概率又比较低,多次失败也是常有之事。
与GPU/FPGA相比,基于某一算法定制的ASIC芯片可以实现体积更小,功耗更低,算力消耗更小。在大批量供货阶段,ASIC芯片还具有无可比拟的价格优势。但是高定制化芯片涉及晶圆生产、封装、测试等完整流程,开发周期较长,存在上市即落后的风险,因此特别考验公司的前瞻设计能力。而ASIC对算法的高依赖性,也并不适合算法频繁更新的领域。
ASIC芯片有个“挖矿一哥”的美誉,为挖矿量身定制的ASIC芯片已经成功将CPU、GPA、FPGA芯片从挖矿界淘汰掉。自动驾驶领域由于AI算法还在不断进化,应用的案例不多。但类比挖矿领域,都是依赖底层芯片进行大规模的并行计算,ASIC芯片必将在自动驾驶领域发挥得天独厚的优势。
五、其他
(1)DSP(Digital Signal Processor,数字信号处理器),一种采用程序存储器和数据存储器分开的哈佛架构微处理器。DSP从模数转换器获得数字信号,通过内部算法处理后输出给模数转换器生成模拟信号。通过硬件上专门的乘数累加器,基于单指令多数据流操作的特殊指令集,可以实现数字信号快速的并行处理。目前广泛应用在音视频压缩、编解码,语音识别和处理,数字图像处理和雷达应用等。
(2)MPU(Micro Processor Unit,微处理器),一种高度集成的通用结构处理器。相比于MCU,MPU具有更高的运算性能和速度,去除了不必要的外设。随着MCU的运算能力不断提升,MCU和MPU的界限也在不断消失。
团队明星
“抱团取火”是现在自动驾驶AI芯片的潮流,通过将上文介绍的各种类型的芯片排列组合,可满足自动驾驶上下游绝大多数场景的需求。芯片“抱团取火”的更专业术语便是SOC(System On Chip,片上系统),通过将关键部件集成在单一芯片上,从而在片上构成一个多核异构的微小型系统。
SOC已经是自动驾驶AI芯片的主旋律,安霸500e TOPS的CV3,NVDIA 1000 TOPS的Atlan,高通700 TOPS的 Napdragon Ride,无不是SOC领域的顶级身材。SOC的构成,在数学上虽然可以有很多种排列组合,但世面上比较主流的架构有三种。以NVIDA Orin为代表的CPU+GPU+ASIC架构,以Mobileye Eye Q5为代表的CPU+ASIC架构和以Waymo自研芯片代表的CPU+FPGA架构。
下图汇总了部分已量产和即将量产车型上搭载的SOC类型的自动驾驶AI芯片情况。包括被众多主机厂簇拥着即将登基的NVDIA Orin,也包括依旧在主机厂衙门前努力游说的黑芝麻智能的A1000 Pro。下文将挑选三种架构下的一款典型产品做简要介绍。
NVIDA的Orin作为一款2022年上半年量产的自动驾驶AI芯片,是已经获得定点主机厂最多的一款芯片,采用CPU+GPU+ASIC架构。内部运算芯片部分主要包括CPU、GPU和ASCI加速器三大模块。CPU方面选用了12个Cortex-A78核,可以提供230K DMIPS的CPU运算能力。GPU方面提供了2048个CUDA核以及64个Tensor核。ASIC加速器包括DLA(Deep Learning Accelerator,深度学习加速器)、PVA(Programmable Vision Accelerator,可编程视觉加速器)、ISP、硬件编解码等模块。Orin的AI算力绝大部分来自DLA模块,加上GPU部分,整个芯片可提供高达230TOPS的整数运算算力以及4.1TFLOPS的浮点数运算能力。
在Mobileye将BWM亲手送入竞争对手高通的怀抱中的时候,业内唱衰Mobileye的声音就不绝于耳。在国内仅有极氪001为其站台的情况下,变革与破局或许是曾经辅助驾驶领域霸主的2022年的主题词。EyeQ5作为一款2021年下半年量产的自动驾驶AI芯片,面对强敌环测,显然是生不逢时,但未到刺刀拼杀的最后关头,一切纸面参数都不足以成为打到老虎的那三碗酒。。
EyeQ5采用CPU+ASIC的架构,内部运算部分主要包括CPU和ASIC加速器两部分。CPU选用了一个8核多线程的核,可提供52K DMIPS的运算能力。ASIC加速器包括CVP(Computer Vision Processors,计算机视觉处理器),DLA和MA(Multithreaded Accelerator,多线程加速器),其中18颗CVP是Mobileye的下一代针对传统计算机视觉算法设计的ASIC芯片。芯片整体的AI算力设计只有24TOPS。
CPU+FPGA的SOC架构方案适合算法不断更新场景,因此适合Waymo这种自产自销,且算法更新频率特别快的自动驾驶公司。关于Waymo自研芯片的信息不多,所能了解到的就是CPU选用了Intel Xeon 12核以上配置,FPGA选用了Altera的Arria系列。
小结
在2022年自动驾驶AI芯片“心动女生”专场投票中,NVDIA Orin获得了中国公子哥最多的投票。笔者喜忧参半,喜的是国内厂商终于找到一个可以施展拳脚的舞台,打造具有中国特色的自动驾驶系统。忧的是卡脖子的AI芯片供应商仅是从美丽国的一个洲换到另外一个洲。
最近,和国外芯片巨头国内总代相聊甚欢,他在用心介绍产品的间隙,不断重复着一个观点:“我是一个中国人,我一直期望国内厂商把国外技术消化吸收了之后,自己去研发,最终取而代之。但在目前自动驾驶玩家们都期望技术尽快上车的背景下,NVDIA提供的完善生态,契合当前主机厂、自动驾驶公司快速打造闪亮卖点的需求。”
如果算力是自动驾驶AI芯片企业冰面上的比拼参数,那么软件生态则是冰面下的竞争壁垒。华丽的参数下,如果没有全栈易用的工具链,很容易将焦躁的开发团队拒之门外。而生态的建设,又需要产业链上下游沉下心、通力合作,不断打磨。
当然,自动驾驶公司对算力的追逐可能也是内功不足的表现,前期测试验证、Demo演示时使用的消费级桌面X86 CPU+消费级显卡,无须关心运算能力的大小。而在真正落地切到以ARM CPU为主的SOC时,研发团队不知道系统可以优化多少,不知道我对运算能力的需求,保守的做法可能就是选用市面上最强的SOC,预埋最强的硬件,毕竟自动驾驶还是一个没有断奶,需要持续喂养的娃娃。 |
|