广告

使用多个推理芯片进行设计的优势与挑战

时间:2020-01-03 作者:Geoff Tate 阅读:
过去两年是推理芯片行业最繁忙的两年。甚至有段时间,每隔一周都会有新公司推出新的优化方案。尽管这些创新都是伟大的,但问题在于大多数公司都不知道如何使用各种解决方案,因为他们无法确定哪个解决方案的性能优于另一个解决方案。
广告
ASPENCORE

过去两年是推理芯片行业最繁忙的两年。甚至有段时间,每隔一周都会有新公司推出新的优化方案。尽管这些创新都是伟大的,但问题在于大多数公司都不知道如何使用各种解决方案,因为他们无法确定哪个解决方案的性能优于另一个解决方案。在这个新市场上,由于没有一套既定的基准,公司们要么必须尽快熟知推理芯片,要么必须相信各个供应商提供的性能数据。cxAEETC-电子工程专辑

大多数供应商给出的某些性能指标通常都是有利于其芯片表现的基准。一些供应商在讨论TOPS和TOPS/Watt时没有指定模型、批量大小或工艺/电压/温度条件。其它供应商使用ResNet-50基准,这一模型相当简单,远低于人们的需求,因此它在评估推理选项方面的价值令人怀疑。cxAEETC-电子工程专辑

我们在这条漫长道路上探索了很久。众多公司逐渐发现,在评测推理芯片性能时,最关键的是(1)高MAC利用率(2)低功耗(3)保持小尺寸。cxAEETC-电子工程专辑

我们知道如何评测——接下来呢?

在我们熟知推理芯片之间的性能评测比对方法之后,公司们开始提出在同一设计中同时使用多个推理芯片的优点(或缺点)的问题。 简而答之,只要推理芯片设计正确,使用多个推理芯片可以实现性能的线性提高。当我们考虑使用多个推理芯片时,可以拿高速公路作类比,你想要一条单行道公路还是一条四车道公路?cxAEETC-电子工程专辑

显然,每家公司都想要一条四车道的高速公路,所以现在的问题变成了“我们如何在不造成交通堵塞的情况下成功打造这条四车道高速公路?” 答案在于选择正确的推理芯片。为解释这一点,让我们先了解神经网络模型。cxAEETC-电子工程专辑

神经网络被分解成多层。像ResNet-50有50层,YOLOv3有100多层,并且每层都会跟进上一层的激活。因此,在第N层中,其输出是进入N+1层的激活值。它等待该层的进入,计算完成后,输出是进入n+2层的激活值。这会一直持续到最后一层,直到算出结果为止。请记住,此示例的初始输入是图像或模型正在处理的任何数据集。cxAEETC-电子工程专辑

多个芯片何时发挥作用?

事实是,即便你的芯片具有一定的性能水平,总会有客户希望获得两倍或四倍的性能。但在某些情况下,如果你分析神经网络模型,这是有可能实现的。你只需要关注如何将模型分成两个芯片或四个芯片。cxAEETC-电子工程专辑

多年来,这一直是并行处理面临的问题,因为对于正在进行的处理,人们很难找出划分方式 并确保所有处理都会叠加,而不是造成性能缩减。cxAEETC-电子工程专辑

与并行处理和通用计算不同,使用推理芯片的好处在于,客户通常提前知道他们是否需要使用两个芯片,这样编译器就不必在运行中做出决定,它是在编译时完成的。有了神经网络模型,一切都是完全可预测的,因此我们可以分析并找出如何准确地拆分模型,以及它是否能在两个芯片上良好地运行。cxAEETC-电子工程专辑

为了确保该模型可以在两个或更多芯片上运行,必须逐层查看MAC的激活值大小和数量。通常情况下,最大的激活值出现在第一层。这意味着激活值大小随着层数的递增而缓慢下降。cxAEETC-电子工程专辑

查看MAC的数量以及每周期MAC完成数量也很重要。在大多数模型中,每个周期中完成的MAC数量通常与激活值大小相关。这很重要,因为如果您有两个芯片,并且希望以最大频率运行,则需要为每个芯片分配相同的工作负载。如果一个芯片完成了模型的大部分工作,而另一个芯片只完成了模型的一小部分工作,那么您将受到第一个芯片的吞吐量的限制。cxAEETC-电子工程专辑

如何在两个芯片之间分割模型也很重要。您需要查看MAC的数量,因为这决定了工作负载的分配。您还必须查看芯片之间传递的信息。在某些情况下,您需要分割模型,并使其能够传递最小激活值,以使所需通信带宽量和传输延迟最小化。若分割的模型导致激活值非常大,则激活值的传输会成为瓶颈,并限制双芯片方案的性能。cxAEETC-电子工程专辑

下图显示了YOLOv3/Winograd/2 Megapixel图像的激活输出大小和累积的Mac逐层操作(绘制出卷积层)。为了平衡两个芯片之间的工作量,该模型将削减约50%的累积MAC操作——此时,从一个芯片到另一个芯片的激活值是1MB或2MB。在4个芯片之间分割,削减量大约为25%、50%和75%;注意,激活值在开始时最大,所以在25%的削减点时,有4或8MB的激活要传输。cxAEETC-电子工程专辑

YOLOv3/Winograd/2Mpixel图像的激活输出值(蓝条)和MAC操作累积(红线),显示了如何在多个芯片之间分配工作负载(图片:Flex Logix)  cxAEETC-电子工程专辑

cxAEETC-电子工程专辑

性能工具

幸运的是,现在可以使用性能工具来确保高吞吐量。事实上,模拟单个芯片性能的工具可以推广到模拟两个芯片的性能。虽然任何给定层的性能完全相同,但问题在于数据传输如何影响性能。建模工具需要考虑这一点,因为如果所需的带宽不够,那么该带宽将限制吞吐量。cxAEETC-电子工程专辑

如果您需要处理4个芯片,则将需要更大的带宽,因为模型第一个1/4部分的激活值远大于后面部分的激活值。因此,您可以借助投入的通信资源将大量芯片连接在一起,但所有芯片,包括独立芯片在内,也会因此承担间接成本。cxAEETC-电子工程专辑

结论

使用多个推理芯片可以显著提高性能,但前提是必须按照上述方法正确设计神经网络。如果我们回顾一下高速公路的类比,就会发现,使用错误的芯片和神经网络模型很有可能会增加通信量。如果你一开始就使用正确的芯片,那你就步入正轨了。谨记,最重要的是吞吐量,而不是TOPS或Res-Net50基准。一旦你选择了正确的推理芯片,你就可以设计一个同样强大的神经网络模型,为你的应用需求提供最佳的性能。cxAEETC-电子工程专辑

(参考原文:Advantages and Challenges of Designing with Multiple Inferencing Chips , by Geoff Tate)cxAEETC-电子工程专辑

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

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

ASPENCORE
本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 超1.2亿颗?传华为向联发科下巨额芯片订单 据台湾媒体报道,继前段时间被曝与高通签订采购意向书后,华为又和联发科签订了合作意向书与采购大单。据悉,这笔订单涉及总计超过1.2亿颗芯片的交付,数量惊人。
  • 集成电路新政发布,这类企业免十年所得税 集成电路产业和软件产业是信息产业的核心,是引领新一轮科技革命和产业变革的关键力量。2000年时,我国曾出台了一系列鼓励软件和集成电路产业优惠的政策,也就是著名的第18号文。2011年初曾对这一政策进行升级,如今随着各产业信息化、自动化、电子化的不断转型,对芯片、软件等产品的需求日益攀升,对此国家近日又对支持政策进行了升级。
  • 欲追赶台积电,三星传取得思科与Google芯片制造大订单 一直期望在晶圆代工市场多争取客户青睐的韩国三星,3日传出取得全球网络设备大厂思科(Cisco)及网络搜寻巨擘 Google 的芯片代工订单。
  • 集成电路成一级学科!将从“电子科学与技术”中独立出来 集成电路作为一级学科通过,可以说对国内整个集成电路产业来说,都是一大利好消息。尤其是在我国高校体制下,一级学科会极大促进集成电路这一细分领域在现有体系下的话语权,同时促进资源的倾斜和整合,并不只是一个形式。
  • Engineer Ambitiously:更新的NI,更宽的视野 国家仪器(National Instruments)这家老牌测试测量公司现正式将公司名称缩简为“NI”,并提出新的标语口号:Engineer Ambitiously。从对中国电子工程师的调查和NI CEO的采访中,我们了解到这一标语的寓意及传递的精神。
  • 飞腾发布S2500,号称国产最强多路服务器处理器 近日,天津飞腾发布了新一代服务器芯片—腾云S2500。据悉,该系列芯片采用16nm工艺,64核架构,8路直连512核,是目前国产性能最强的多路服务器系统。该单路芯片可扩展支持2-8路,一台服务器最多能支持8颗S2500芯片直连构成多路服务器,片内集成64MB三级Cache,支持8个DDR4-3200存储通道,功耗……
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了