优质推理芯片能迅速传输数据。对于推理芯片,我们不仅仅是开发一颗芯片,而是创造一个系统。芯片的MAC相当于引擎,但是如果没有正确的燃料传输系统(内存和互联),引擎就会熄火。

去年诞生的推理芯片公司数量之多,足以让您头晕目眩。由于业内有众多芯片,也不缺少质量不错的测试基准,所以常常会遗忘极其重要的部分:内存子系统。事实上,如果没有很好的内存子系统,那就不可能有优质的推理芯片。因此,如果一家推理芯片公司只谈论TOPS,却很少讨论SRAM、DRAM和内存子系统,那这家公司可能并没有一个很好的解决方案。

一切皆与数据吞吐量相关

优质推理芯片结构合理,可以非常快速地移动数据,意味着芯片处理数据、将数据导入和导出内存的速度非常之快。如果您看一下使用ResNet-50和YOLOv3的模型,将会发现它们不仅在计算方面,而且在各自如何使用内存的方式上都有显著差异。

对于使用ResNet-50的每张图像,需要20亿个乘积累加 (MAC),但是对于YOLOv3,则需要超过2000亿个MAC,增加了100倍。部分原因在于YOLOv3权重更大(6200万的权重,而ResNet-50约为2300万)。然而,最大的区别还在于典型基准的图像大小。ResNet-50使用224×224像素,实际上无人使用该尺寸,而YOLOv3使用200万像素。因此,YOLOv3的计算负载要大得多。

通过上述示例,您可以看到我们有两种不同的工作负载,其中一种的工作量是另一种的100倍。问题显而易见:这样是否意味着YOLOv3运行速度要慢100倍呢?要解答该问题,唯一方法是通过查看内存子系统,因为这告诉您特定的实际吞吐量。

内存子系统

对于推理芯片,我们不仅仅是开发一颗芯片,而是创造一个系统。芯片的MAC相当于引擎,但是如果没有正确的燃料传输系统(内存和互联),引擎就会熄火。

了解一下推理芯片的运行过程,您会发现要先有数据导入,之后须以一定的速度(比如每秒30帧)提供新的图像。图像导入芯片,然后就会输出某种结果。图像大小各异,但大多数应用要处理百万像素级的图像才能达到足够的精度。

在芯片内部,使用神经网络模型处理图像,这需要代码和权重,在每一层的末端还有中间激活函数。所有这些都需要存储在某个地方,然后读写到推理芯片的计算单元中。

应用

AI推理的应用非常多,自动驾驶等边缘应用代表着最大的机遇之一。未来,每辆车都将配有多个推理引擎,可以实时检测到行人、公共汽车和小轿车从而避开他们。这使得处理大尺寸图像(比如在YOLOv3中)非常重要。设想一下用肉眼看图像的情况,也是如此。如果有人给您看了一张小图片,您就会错过很多细节,甚至还可能曲解图片。在自动驾驶汽车和监控摄像头中,小细节才是关键。

自动驾驶代表着边缘AI加速器的最大机遇之一(来源:Flex Logix)

边缘和云端的区别在于,在边缘您需要发送即时响应,而在云端通常有大量数据,且需要有足够时间处理。举个例子,如果您在车里,便需要知道行人在哪里,这样才能有效避开他们。但是,数据中心的情况则不同,数据中心中有一些应用(如为图像贴标签)可以在夜间进行大批量处理。这在边缘应用场景中是行不通的,因为这时所有操作都必须快速处理。且延迟很短,这就意味着处理批次= 1。

因此,本质上我们是重新设计芯片,以便在短时间(低延迟)内交付结果,及时进行正确的响应。我们需要立即处理数据并立即返回结果,这意味着内存是其中绝对关键的一部分。

若使用ResNet-50,您会发现有许多芯片的性能在处理批次= 10或100时非常高,但当处理批次= 1时性能就下降很多,某些芯片的性能下降幅度高达75%。这意味着,无论他们从高批次处理率的MAC获得的利用率有多高,当批处理率为1时其利用率只有四分之一。因此,在处理批次=1时(这在边缘应用中很关键),一些芯片的MAC计算能力利用率还不到25%。

架构变化

过去,处理器的内存架构(如今仍在数据中心中进行大量推理)采用DRAM和多层缓存,所有这些都被馈入处理器。内存是集中式单一存储器。而推理芯片的内存是分布式的。一种加快数据处理速度的方法是把MAC分成块,然后用本地化SRAM来分配这些块。这是Flex Logix和Intel等公司所采用的一种方法,将在未来占据主导地位。这样做的理由是,让内存更接近MAC会缩短延迟时间,从而提高MAC分布式并行处理能力。

通用处理器和推理加速器的内存子系统设计存在差异,推理加速器倾向于采用本地化SRAM形式来分配内存(图源:Flex Logix)

边缘应用的另一关键要求是要满足成本和功耗预算。用于训练的芯片可以占用整片晶圆大小,而针对汽车和监控摄像头等应用的芯片有相关的成本预算和功耗限制。通常,在满足这些预算的情况下,可用的SRAM数量不足以在芯片上存储所有的权重、代码和中间激活函数。这些芯片需要不断地处理大量的数据,而大多数边缘应用总是处于工作状态。因为所有芯片都会发热,所以其处理量与散热量呈正相关。若能从同等数量的芯片和功耗预算中获得更多的吞吐量,这种芯片架构将会是赢家,因为它们能够花较少的功耗和成本交付更多的结处理结果。

优化功耗和成本

有些捷径可以让公司折中检测目标的精准度。然而,这并非客户想要的方式。客户希望运行的模型可以获得高精度的对象检测和识别,还要在一定的功耗限制范围内。要做到这一点,关键在于内存子系统。

如果使用ResNet-50或YOLOv3,需要存储权重。YOLOv3中的权重约为23MB,而ResNet-50的权重约为62MB。仅是将这些权重存储在芯片上就需要接近100平方毫米的芯片面积,这对大多数应用来说都不可行。这意味着大容量内存需要在芯片之外,也就是使用DRAM。

有一点需要说明,我们经常被问到DRAM的类型是否重要,答案是非常重要。高带宽内存(HBM)极其昂贵,对于成本预算严格的边缘应用不太适用。LPDDR4是一种更好的内存,因为它具有更宽的总线配置,可以从单个DRAM中获得更多的带宽。DRAM对热非常敏感,对于在室外工作的汽车和监控摄像机来说,可能是个问题。因此,考虑到成本和散热问题,最好尽量少用DRAM。

如何设计出最佳的推理芯片

设计者要考虑客户将进行何种类型的处理、它们的负载和应用会是什么、以及它们会在哪里使用,方能设计出最佳的推理芯片。归根结底,客户想要最高的吞吐量——这意味着他们需要高的MAC利用率。获得高MAC利用率的方法就是为MAC提供高带宽,但希望用最少的SRAM和最少的DRAM来实现。

芯片设计者需要知道客户会在哪些应用场景下使用,并采用相应的模型,而且要密切关注其权重、代码大小和激活函数。现在有一些建模工具可以让芯片设计者调整MAC、SRAM和DRAM的数量,能够做出一系列折衷取舍,以便决定如何交付最低价的芯片和最高的吞吐量。

芯片设计者还能用很多方法来组织MAC,让其以更高的频率运行。例如,可以将MAC优化为8位的乘积和累加,比16位的乘法和累加运行得更快。在这种情况下,惟一的折衷是精度稍低一些,但是可以在成本和功耗较低的前提下提供更大的吞吐量。

那么,ResNet-50和YOLOv3在内存使用方面有什么不同呢?虽然权重有2倍的差异,但最大的区别在于激活函数。ResNet-50的每一层都会产生激活函数,其最大激活函数大小为1MB,有些层甚至更小一些。对于YOLOv3,最大层的最大激活函数大小是64MB,这64MB必须存储起来以便进入下一层。如果注意一下片上或DRAM容量需求,您会发现YOLOv3的激活函数实际上比权重需要更多存储容量,这与ResNet-50大不相同。事实上,客户需要谨慎的是,一些公司设计芯片时会在片上储存ResNet-50权重,他们知道其激活函数很小,能让其性能“看起来”更好。然而,在实际应用中,这种芯片的性能会下降得特别厉害。

SRAM和DRAM的折衷

DRAM芯片不便宜,但更贵的是与DRAM芯片的连接。芯片设计公司往往注重裸片尺寸,但芯片封装尺寸也是决定成本的一个重要因素,有时可能比裸片更贵。每增加一个DRAM,至少增加100个球。如今一些芯片有8个DRAM连接,这就需要对1000个球进行封装,导致芯片非常昂贵。虽然公司意识到不能在芯片上配置所有的SRAM,但他们也知道不能通过过多的DRAM来解开成本难题。他们真正需要的是用尽可能少的DRAM和尽可能少的SRAM。要想如此,芯片设计者需要研究激活函数。了解一下64MB的激活函数,就会发现其实只有一个。大多数激活函数还是较小的,所以如果将8MB的SRAM放在芯片上,大多数中间激活函数将可以存储在芯片上,只需要用DRAM来处理最大的激活函数。

这是推理芯片的最佳方案,也是芯片设计者在设计中应该努力追求的目标。如果您是客户,您要问一下有关芯片内存子系统的问题,因为这是决定它在实际应用中性能表现的重要因素。

(参考原文: Why the Memory Subsystem is Critical in Inferencing Chips

责编:Amy Guan

本文为《电子工程专辑》2020年3月刊杂志文章,版权所有,禁止转载。点击申请免费杂志订阅 

阅读全文,请先
您可能感兴趣
Tesla AI周四在社交媒体X账号上贴出了发布路线图,主要内容包括特斯拉全自动驾驶(FSD)功能的全球部署计划,特别是针对中国市场和欧洲市场的具体安排。
经营业绩下滑,以及在代工业务上的巨额亏损以及市场需求疲软,也或是英特尔出售Mobileye股份的重要原因之一。
小马智行成为深圳市首家获得该许可的自动驾驶企业,不仅是主管部门对于小马智行自动驾驶技术能力的认可,也是其深厚技术积淀的体现。据统计,截至目前,小马智行已累积超过3500万公里的自动驾驶路测里程,其中无人化自动驾驶测试里程超350万公里。
这一决定标志着NASA在太空探索领域的合作伙伴关系出现了新的调整,也引发了波音员工的强烈不满,他们认为必须借助竞争对手的飞船救助宇航员,是对波音公司的“奇耻大辱”。
据36氪汽车等多家媒体报道,小鹏汽车自研的智能驾驶芯片专为AI需求和端到端大模型设计,具备强大的中央计算架构能力。该芯片的AI算力接近3颗主流智驾芯片的水平……
自动驾驶技术的发展一直是全球关注的热点话题,而在自动驾驶技术中,人工智能芯片扮演着至关重要的角色,英特尔、高通、英伟达、地平线机器人、黑芝麻科技等公司正在这一公司展开激烈的竞争。如今,印度初创公司也开始入局。
• 得益于西欧、关键亚洲市场和拉丁美洲市场的增长,以及中国品牌的持续领先,全球折叠屏手机出货量在2024年第二季度同比增长了48%。 • 荣耀凭借其在西欧特别强劲的表现,成为最大的贡献者,成为该地区排名第一的品牌。 • 摩托罗拉的Razr 40系列在北美和拉丁美洲表现良好,为其手机厂商的出货量贡献了三位数的同比增长。 • 我们预计,头部中国手机品牌厂商的不断增加将至少在短期内抑制三星Z6系列在第三季度的发布。
AI技术的发展极大地推动了对先进封装技术的需求,在高密度,高速度,高带宽这“三高”方面提出了严苛的要求。
奕斯伟计算2024首届开发者伙伴大会以“绿色、开放、融合”为主题,从技术创新、产品应用、生态建设等方面,向开发者、行业伙伴等相关方发出开放合作倡议,加速RISC-V在各行各业的深度融合和应用落地,共同推动RISC-V新一代数字基础设施生态创新和产业发展。
2024年 Canalys 中国云计算渠道领导力矩阵冠军厂商分别是:阿里云、华为云和亚马逊云科技(AWS)
文|萝吉今年下半年开始,国内新能源市场正式跨过50%历史性节点,且份额依然在快速增长——7月渗透率破50%,8月份破55%……在这一片勃勃生机万物竞发的景象下,新能源市场占比最高的纯电车型,却在下半年
文|德福很多去成都旅游的朋友都有个疑惑——为什么在成都官方的城市标志上看不到熊猫,而是一个圆环?其实这个“圆环”大有来头,它被唤作太阳神鸟,2001年出土于大名鼎鼎的金沙遗址,距今已有三千余年历史。0
‍‍近期,IC 设计大厂联发科宣布了2024年上半年度的员工分红计划,与8月份薪资一起发放。据外界估算,按照上半年税前盈余约648.66亿新台币(约 144.42 亿元人民币)进行估算,此次分红总额接
在德国柏林举行的IFA 2024上,AMD计算和图形业务集团高级副总裁兼总经理Jack Huynh宣布,公司将把以消费者为中心的RDNA和以数据中心为中心CDNA架构统一为UDNA架构,这将为公司更有
近日A股上市公司陆续完成2024年上半年业绩披露,其中24家SiC概念股上半年合计营收同比增长14.58%至1148.65亿元,研发费用同步增长7.22%至69.16亿元。尤为值得注意的是,天岳先进、
8月28-30日,PCIM Asia 2024展在深圳举行。“行家说”进行了为期2天的探馆,合计报道了200+碳化硅相关参展企业(.点这里.)。其中,“行家说”还重点采访了骄成超声等十余家企业,深入了
在苹果和华为的新品发布会前夕,Counterpoint公布了2024年第一季度的操作系统详细数据,数据显示, 鸿蒙操作系统在2024年第一季度继续保持强劲增长态势,全球市场份额成功突破4%。在中国市场
往期精选2023年度中国移动机器人产业发展研究报告发布!超200个——2024年上半年AGV/AMR行业中标项目盘点市场保有量超10000台的8大中国AGV/AMR厂商总额超190亿-盘点全球移动机器
随着汽车智能化升级进入深水区,车载ECU(域)以及软件复杂度呈现指数级上升趋势。尤其是多域、跨域和未来的中央电子架构的普及,以及5G/V2X等车云通信的增强,如何保障整车的信息与网络安全,以及防范外部