广告

为什么内存子系统在AI推理芯片中至关重要

时间:2020-03-04 作者:Geoff Tate 阅读:
优质推理芯片能迅速传输数据。对于推理芯片,我们不仅仅是开发一颗芯片,而是创造一个系统。芯片的MAC相当于引擎,但是如果没有正确的燃料传输系统(内存和互联),引擎就会熄火。
广告
ASPENCORE

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

一切皆与数据吞吐量相关

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

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

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

内存子系统

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

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

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

应用

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

自动驾驶代表着边缘AI加速器的最大机遇之一(来源:Flex Logix)zHsEETC-电子工程专辑

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

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

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

zHsEETC-电子工程专辑

架构变化

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

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

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

优化功耗和成本

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

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

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

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

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

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

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

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

SRAM和DRAM的折衷

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

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

(参考原文: Why the Memory Subsystem is Critical in Inferencing ChipszHsEETC-电子工程专辑

责编:Amy GuanzHsEETC-电子工程专辑

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

ASPENCORE
本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 新式3D互连是否能更完美堆叠DRAM? 美国半导体IP公司Xperi公布其可为DRAM提供一种更理想的堆叠方法——DBI Ultra 2.5D/3D互连,可制造8、12甚至16层芯片封装,因而拥有延伸超越摩尔定律的潜力……
  • QLC SSD大规模涌入数据中心,为HDD敲响落幕钟声 关于QLC NAND技术怎样适用于数据中心,市面上确实有着各种各样的观点。尽管一些潜在用户最初担心该技术能否承受数据中心的工作负载,但伴随着市场对QLC需求的持续增长和众多OEM厂商的验证,这些担忧已基本消除。换句话说,QLC技术通过自身的质量和可靠性证明其大规模应用不存在任何障碍。
  • 现在的高性能RISC-V处理器和Arm比起来如何? 采用RISC-V架构的处理器不经意出现在日常电子产品中,似乎已经变得越来越稀松平常了:不仅是一些典型的MCU厂商开始拥抱RISC-V,如我们前不久采访的泰凌微电子,以及去年推出RISC-V产品线的兆易创新。而且还体现在一些业已成熟的产品中,如今年的中国IC领袖峰会上,我们与硅谷数模对话,了解到如今十分成熟的TCON芯片内部竟也不显山、不露水地加入了RISC-V小核心……
  • KLA推电子束缺陷检测系统,提高EUV工艺良品率 KLA公司宣布推出eSL10™电子束图案化晶圆缺陷检查系统。该系统具有独特的检测能力,能够检测出常规光学或其他电子束检测平台无法捕获的缺陷,从而加速了高性能逻辑和存储芯片的上市时间(包括那些依赖于极端紫外线(EUV)光刻技术的芯片)。
  • CIO Review潜力HPC方案商TOP20:华澜微、澜起两家中企入 美国媒体CIO Review评选出在HPC(高性能计算,High Performance Computing)领域最富有潜力的20大企业。其中,中国企业澜起科技(Montage)、 华澜微电子(SageMicro)入选。其评价企业之标准是以掌握核心技术、具有战略远期布局和前景为重点,而不是单纯企业规模……
  • DDR5内存规范正式发布,国内外厂商进展如何? 7月15日,JEDEC固态技术协会正式发布下一个主流内存标准DDR5 SDRAM的最终规范(JESD79-5),为全球计算机内存技术拉开新时代序幕。DDR5将峰值内存速度提高了一倍达到6.4Gbps,同时也大大增加了内存容量。外型上保持与DDR4相同的288个引脚数,但定义不同,不能兼容DDR4插槽。基于新标准的硬件预计将于2021年推出……
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了