特斯拉、高通、华为可用于智能驾驶领域AI处理器的深度分析

最新更新时间:2021-09-15来源: 互联网关键字:特斯拉  华为  CUDA  人工智能  智能驾驶

很多人会问,为什么没有英伟达?目前所有主流深度学习运算主流框架后端都是英伟达的CUDA,包括TensorFlow、Caffe、Caffe2、PyTorch、mxnet、PaddlePaddle,CUDA包括微架构和指令集以及并行计算引擎。CUDA垄断了深度学习或者也可以说垄断了人工智能,这一点类似ARM的微架构和指令集。CUDA强大的生态系统,造就了英伟达牢不可破的霸主地位。深度学习的理论基础在上世纪五十年代就已经齐备,无法应用的关键就是缺乏像GPU这样的密集简单运算设备,是英伟达的GPU开创了人类的深度学习时代,或者说人工智能时代,CUDA强化了英伟达的地位。你可以不用英伟达的GPU,但必须转换格式来适应CUDA。

 

CUDA开启了并行计算或多核运算时代,今天人工智能用的所有加速器都是多核或众核处理器,几乎都离不开CUDA。CUDA程序构架分为两部分:Host和Device。一般而言,Host指的是CPU,Device指的是GPU或者叫AI加速器。在CUDA程序构架中,主程序还是由CPU 来执行,而当遇到数据并行处理的部分,CUDA 就会将程序编译成 GPU能执行的程序,并传送到GPU。而这个程序在CUDA里称做核(kernel)。CUDA允许程序员定义称为核的C语言函数,从而扩展了C语言,在调用此类函数时,它将由N个不同的CUDA线程并行执行N次,这与普通的C语言函数只执行一次的方式不同。执行核的每个线程都会被分配一个独特的线程ID,可通过内置的threadIdx变量在内核中访问此ID。在 CUDA 程序中,主程序在调用任何 GPU内核之前,必须对核进行执行配置,即确定线程块数和每个线程块中的线程数以及共享内存大小。你可以不用英伟达的GPU,但最终都离不开CUDA,也就是需要转换成CUDA格式,这就意味着效率的下降。所以英伟达是参考级的存在。

 

从CUDA的特性我们不难看出,单独的AI加速器是无法使用的。今天我们分析三款可用于智能驾驶领域的AI加速器,分别是高通的AI100,华为的昇腾,特斯拉的FSD。这其中高通AI100比较少见。

 

高通AI100最早于2019年4月在深圳的高通AI开放日露面,2020年9月量产。AI100是高通目前唯一的AI推理运算加速器,定位四个方面的应用:一是数据中心的边缘计算,二是5G行动边缘计算,三是智能驾驶与智能交通,四是5G基础设施。AI100有两个侧重点:一是5G游戏,AI100发布当天邀请了VIVO手机、腾讯王者荣耀开发团队利用AI100现场开了一场电玩竞赛,即把部分运算放到5G边缘服务器上,减轻手机端的负载。二是智能交通和智能驾驶,高通自动驾驶Ride平台的AI加速器很有可能就是AI100的车规翻版。

 

图片来源:互联网

 

高通特别展示了AI100在智能交通/智能驾驶领域的应用。

 

图片来源:互联网

 

同时支持24路200万像素帧率25Hz的图像识别,特斯拉的FSD不过是同时8路130万像素帧率30Hz的图像识别,性能至少是特斯拉FSD的3倍。

 

AI100可以像刀片服务器那样应用,用PCIe交换机最多16个级联。

 

图片来源:互联网

 

最高每瓦有12.37TOPs的算力,特斯拉FSD是36瓦的功耗,AI部分估计大约为24瓦,每瓦只有大约3TOPs每瓦的算力,英伟达的Orin大致为5.2TOPs每瓦的算力。

 

图片来源:互联网

 

上图为高通AI100内部框架图。设计很简洁,16个AI核,内核与内核之间是第四代PCIe连接,带宽有186GB/s,8通道的PCIe网络,然后再与各种片上网络(NoC),包括存储NoC、运算NoC和配置NoC通过PCIe总线连接。片上存储器容量高达144MB,带宽136GB/s。外围存储器为256Gb的LPDDR4。支持汽车行业的ISO26262安全标准,即ASIL,达到B级。

 

NoC是多核AI处理器的核心技术之一,特斯拉FSD只有两个NPU,很可能用不到NoC而用比较落后的总线技术,不过高通和华为都用到了。

 

图片来源:互联网

 

NoC的详细理论就不说了,可以理解为一个运行在PE与存储之间的通讯网络。NoC技术和网络通信中的OSI(Open System Interconnection)技术有很多相似之处,NoC技术的提出也是因为借鉴了并行计算机的互联网络和以太网络的分层思想,二者的相同点有:支持包交换、路由协议、任务调度、可扩展等。NoC更关注交换电路和缓存器的面积占用,在设计时主要考量的方面也是这些。NoC的基本组成为:IP核、路由器、网络适配器以及网络链路,IP核和路由器位于系统层,网络适配器位于网络适配层。针对NoC的这四个基本组成,也衍生出了许多的研究方向和优化途径。

 

图片来源:互联网

 

常见AI加速器的NoC如上表。需要指出高通和华为都用了Arteris,这家公司实际是高通的子公司,高通在2013年11月收购了这家仅有43人的法国小公司,今天中国几乎所有的大中型芯片公司都是其客户,包括瑞芯微、国民技术、华为、全志、炬力、展讯等,可以说都在给高通打工。英特尔在2019年收购了Netspeed,Facebook在2019年收购了Sonics,这两家的NoC使用面远不如高通的Arteris。

 

图片来源:互联网

 

每个AI核内部框架如上,主要分4个部分,分别是标量处理、向量处理、存储处理和张量处理。深度学习中经常出现4种量,标量、向量、矩阵和张量。神经网络最基本的数据结构就是向量和矩阵,神经网络的输入是向量,然后通过每个矩阵对向量进行线性变换,再经过激活函数的非线性变换,通过层层计算最终使得损失函数的最小化,完成模型的训练。

 

标量(scalar):一个标量就是一个单独的数(整数或实数),不同于线性代数中研究的其他大部分对象(通常是多个数的数组)。标量通常用斜体的小写字母来表示,标量就相当于Python中定义的x=1。

 

向量(Vector),一个向量表示一组有序排列的数,通过次序中的索引我们能够找到每个单独的数,向量通常用粗体的小写字母表示,向量中的每个元素就是一个标量,向量相当于Python中的一维数组。

 

矩阵(matrix),矩阵是一个二维数组,其中的每一个元素由两个索引来决定,矩阵通常用加粗斜体的大写字母表示,我们可以将矩阵看作是一个二维的数据表,矩阵的每一行表示一个对象,每一列表示一个特征。

 

张量(Tensor),超过二维的数组,一般来说,一个数组中的元素分布在若干维坐标的规则网格中,被称为张量。如果一个张量是三维数组,那么我们就需要三个索引来决定元素的位置,张量通常用加粗的大写字母表示。

 

不太严谨地说,标量是0维空间中的一个点,向量是一维空间中的一条线,矩阵是二维空间的一个面,三维张量是三维空间中的一个体。也就是说,向量是由标量组成的,矩阵是向量组成的,张量是矩阵组成的。

 

标量运算部分可以看作一个小CPU,控制整个AI Core的运行。标量计算单元可以对程序中的循环进行控制,可以实现分支判断,其结果可以通过在事件同步模块中插入同步符的方式来控制AI Core中其它功能性单元的执行流水。它还为矩阵计算单元或向量计算单元提供数据地址和相关参数的计算,并且能够实现基本的算术运算。复杂度较高的标量运算如数据流量控制则由专门的AI CPU通过算子完成,AI处理器是无法单独工作的,必须要外置的CPU给予配合。

 

华为昇腾系列内核架构。图片来源:互联网

 

华为的昇腾910即Davinci Max,和高通AI100一样,也是8192个Int8,4096个FP16。不过昇腾910是训练用的,高通AI100是推理用的,但910不计成本使用HBM2代存储,性能远超AI100。

 

图片来源:互联网

 

上图为特斯拉FSD信号内部流转,相干流量即深度学习的数据流量需要CPU控制,当然也不只是为深度学习服务。

 

图像识别深度学习中运算量最大的卷积部分实际就是矩阵的乘和累加。可以分解为1维的标量或者叫算子(即权重)与2维的向量即输入图像乘和累加。

 

图片来源:互联网

 

上图为特斯拉FSD神经网络架构,特斯拉把矩阵的乘和累加简单写成了MulAccArray。特斯拉做芯片刚刚入门,FSD上除了NPU是自己做的外,其余都是对外采购的IP。NPU方面,主要就是堆砌MAC乘和累加单元,在稍微有技术含量的标量计算领域,特斯拉没有公布采用何种指令集,应该是没什么特色。华为和高通都是采用了VLIW。

 

高通的向量处理器可以简单看作一个DSP。众所周知,高通的AI技术来源于其DSP技术,高通对DSP非常青睐,而已经失去生命力的VLIW超长指令集非常适合用在深度学习上,深度学习运算算法非常单一且密集度极高,并不需要通用场景下的实时控制。并且其程序运行有严格的时间要求,cache这种不可控时间的结构就不适合了,通常采用固定周期的TCM作为缓存,这样内存访问时间就固定了。有了上述的特征,静态编译在通用场合下面临的那些困难就不存在了,而DSP其更高效的并行运算能力和简化的硬件结构被完全发挥出来。

 

AI100为了考虑多种应用场合,有FP16和Int8两种精度阵列,Int8即8位整数精度是智能驾驶领域最常见的,FP16则是游戏、AR/VR领域常用的。Int8有8192个,FP16有4096,特斯拉则是9216个Int8阵列,如果AI100只考虑智能驾驶,在总面积(差不多可等同于成本)不变的情况下算力还可以再提高不少。

 

图片来源:互联网

 

上图为特斯拉NPU部分流程与裸晶分布,算力理论峰值只是根据MAC数量简单计算得出,实际存储器是瓶颈,存储器能让算力大打折扣,这也是为什么训练用AI芯片都不惜成本用HBM内存的原因。特斯拉的芯片上,大部分都给了SRAM,也是为了解决存储器瓶颈问题。这里常见到两个单位,GiB和GB,GB是十进制,GiB是二进制,1GiB=(1024*1024*1024)B=1073741824B,1GB=(1000*1000*1000)B=1000000000B,1GiB/1GB=1073741824/1000000000=1.073741824。要求精度不高的话,可以直接替换,高通AI100有144MB的片上存储,特斯拉只有32MiB,高通显然可以碾压特斯拉的,此外外围的LPDDR4存储上,高通也是碾压特斯拉,特斯拉带宽只有63.58 GiB/s,高通AI100是136GB/s。

 

图片来源:互联网

 

最后说算力,AI处理器对比似乎离不开算力对比,实际单独讲算力数据毫无意义,上图是高通AI100在五个数据集上的表现,我们可以看到性能与效率差别巨大,AI算力越强,其适用面就越窄,与深度学习模型的捆绑程度就越高,换句话说,AI芯片只能在与其匹配的深度学习模型上才能发挥最大性能,换一个模型,可能只能发挥芯片10%的性能,所有AI芯片目前的算力数据都是理论峰值数据,实际应用中都无法达到理论峰值,某些情况下,可能只有峰值算力的10%甚至2%。100TOPS的算力可能会萎缩到2TOPS。

 

在芯片领域,特斯拉只能算是小学生,只要有意愿,高通、英特尔、英伟达、华为、AMD、联发科、三星都能碾压特斯拉。


关键字:特斯拉  华为  CUDA  人工智能  智能驾驶 编辑:鲁迪 引用地址:http://news.eeworld.com.cn/qcdz/ic548140.html

上一篇:混搭出奇迹,自动驾驶AI芯片上演架构之争
下一篇:NeoPhotonics推出全新FMCW激光器和SOA 可用于AV中的相干激光雷达

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

以色列StoreDot宣布成功复刻4680电池 性能超越特斯拉
北京时间9月2日消息,据国外媒体报道,特斯拉在去年的电池日活动上推出4680电池,这种能量密度更高、使用寿命更长的新型电池或将彻底颠覆EV电池世界。然而,以色列锂离子电池公司StoreDot近日宣布该公司已成功开发出另一种“4680”电池,其充电时间仅需10分钟,比特斯拉还少5分钟。据StoreDot首席执行官多伦·梅尔斯多夫(Doron Myersdorf)介绍,该项目自研发之初就设定了“10分钟”超快速充电目标,经过三年的研发和测试取得这一成果。StoreDot利用XFC技术为电动汽车制造商提供电池格式的选择,这是一项非常重要的技术,有助于克服当前电动汽车普及的两大障碍,即:续航和里程焦虑问题。  4680电池是一种具有开创性
发表于 2021-09-02
以色列StoreDot宣布成功复刻4680电池 性能超越<font color='red'>特斯拉</font>
新款特斯拉驾驶员监控系统可探测驾驶员是否被手机分心
据外媒报道,几个月前,特斯拉推出一款新型驾驶员监控系统(DMS),该系统采用Model 3、Model Y和新款Model S的车内摄像头以确定驾驶员是否在关注道路。该款基于摄像头的DMS让特斯拉的安全警报更加可靠,特别是根据泄露信息,特斯拉正在检测几种表明驾驶员在路上不集中注意力的行为。测试者在测试DMS系统是否能够识别驾驶员在看手机(图片来源:teslarati.com)驾驶员在开车时看手机是注意力不集中最明显的行为之一。此前的特斯拉驾驶员监控系统只能探测出方向盘上的压力,无法判断驾驶员是否在看手机。不过,基于摄像头的DMS却能够清楚探测手机使用情况。特斯拉在一篇发布说明中描述了该功能:“当自动驾驶系统Autopilot处于
发表于 2021-08-31
新款<font color='red'>特斯拉</font>驾驶员监控系统可探测驾驶员是否被手机分心
要学特斯拉?小米可能采用纯视觉自动驾驶方案
辅助系统的感知定位规划及控制的算法,还有自动驾驶应用的全套软件解决方案。可以说这对于小米而言,收购了深动科技,就等于能够让自己在自动驾驶领域中更加得心应手了。虽然现在大家对于自动驾驶功能,应不应该继续是存在一定争议的,毕竟因为自动驾驶功能蔚来已经出现了两次事故。所以现在很多车企对于自动驾驶功能的使用都进行了一定的规范和约束,不会再去夸大自动驾驶功能的特征。而且目前自动驾驶领域中能够采用视觉加算法方案的,也只有特斯拉一枝独秀了。并且特斯拉的FSD Beta V9都已经向早期测试的车主进行推送了。但是特斯拉的自动驾驶功能也并非十全十美,因为特斯拉的自动驾驶功能也存在一定的不足之处,国外已经有十几位车主在开启自动驾驶功能之后,出现
发表于 2021-08-30
要学<font color='red'>特斯拉</font>?小米可能采用纯视觉自动驾驶方案
磷酸铁锂电池挺进美国电动汽车市场
回溯美国电动汽车市场,磷酸铁锂这个词可能只在十年前昙花一现过。2011-2012年是A123独立运营的年代,包括当时的CODA、Spark EV和Fisker的增程都用的磷酸铁锂,但随着A123被收购,美国的电池进入三元锂的时代。随着特斯拉准备在下个月把标准版本电池拉到美国市场,磷酸铁锂将重新出现。我们能看到在欧洲和美国,都是由特斯拉第一个带头把磷酸铁锂运用在入门级的车型上,某种意义上极大地改变了规则。 图1 美国市场上的铁锂状况 一、特斯拉北美工厂之前特斯拉在美国一直受到电池短缺的困扰。分析显示,实际上Model Y超过Model 3是特斯拉的一种策略,是电池的限制让特斯拉做出的选择。从整个市场来看,特斯拉
发表于 2021-08-30
磷酸铁锂电池挺进美国电动汽车市场
特斯拉Model 3韩国KNCAP安全测试,自动刹车连续失利
近日,韩国KNCAP公布了2021款 特斯拉Model 3 ( 参数 | 询价 ) 安全测试结果:综合分83.3分,但在自动刹车环节失利。在韩国KNCAP所设计的AEB自动紧急制动测试环节中,特斯拉Model 3分别以20km/h、25km/h和40km/h三个速度与行驶中的自行车、行人发生多次碰撞,导致该车的在行人安全与事故预防方面丢分较多,仅为三级(最高为一级)。在韩国,汽车安全测试机构被称为KNCAP,类似于欧洲的Euro NCAP和中国的C-NCAP。据了解,韩国KNCAP采用百分比制,分为五个等级,分别是1到5级,1级是最高,5级最垃圾。换个角度
发表于 2021-08-28
<font color='red'>特斯拉</font>Model 3韩国KNCAP安全测试,自动刹车连续失利
特斯拉并行处理专利:可降低全自动驾驶套件FSD硬件故障风险
据外媒报道,特斯拉最近申请了一项名为“并行处理系统运行重新加载”(Parallel Processing System Runtime State Reload)的专利,该专利包括一个系统,而该系统有三个或多个处理器协同工作,以有效地消除特斯拉自动驾驶系统Autopilot或全自动驾驶套件(Full Self-Driving,FSD)可能出现的硬件故障。该专利涉及一个强大的并行处理器系统,能够在其中一个处理器出现故障或者运行状态错误时仍然保持运行。专利写道:“如果其中一个并行处理器出现故障,至少还会有一个其他处理器能够继续运行自动驾驶功能。”特斯拉全自动驾驶(图片来源:teslarati.com)特斯拉于当地时间8月26日申请
发表于 2021-08-27
<font color='red'>特斯拉</font>并行处理专利:可降低全自动驾驶套件FSD硬件故障风险
小广播
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved