中文 英语
18lickc新利
的意见

利用专门的神经网络模型更大的效率收益

关键实现推理时的内存访问考虑加速器。

受欢迎程度

神经网络可分为一组算法模拟松散人脑后,可以通过将新数据“学习”。事实上,许多好处可以从开发专用”计算高效的神经网络模型。然而,为了确保您的模型是有效的,有几个需要考虑的关键要求。

一个关键考虑在实现推理加速器(或者,硬件加速器)与我们如何访问内存。在机器学习(ML)推理,我们特别需要考虑如何存储权重以及中间激活值。过去几年,一些技术已经使用了不同程度的成功。有关建筑的影响选择是重要的:

  • 延迟:访问L1、L2和L3记忆表现出相对较低的延迟。如果相关的重量和激活下一个图形缓存操作,我们可以保持合理水平的效率。然而,如果我们需要从外部获取DDR,会有一个管道,预期的影响延迟和效率。
  • 功耗:访问外部存储器的能源成本高出至少一个数量级比访问内存。
  • 计算饱和:一般来说,应用程序的计算或内存受限的。这可能影响共和党/上衣可以实现在一个给定的推理范式,在某些情况下,这种影响可能是非常重要的。减少值的推理引擎可以达到10顶部峰值性能如果实际性能当部署您的特定网络是1。
  • 借此更进一步,考虑到内部存储器访问的能源成本(称为BRAM或UltraRAM熟悉Xilinx soc)在现代Xilinx装置的焦耳,约两个数量级减少访问外部DRAM的能源成本。

作为一个建筑的例子,我们可以考虑TPUv1。TPUv1合并65536 INT8 MAC单位一起28 mb的片上存储器来存储中间激活。从外部DDR权重获取。的理论峰值性能TPUv1是92顶。


图1:TPUv1架构。
参考:Jouppi et al . 2017,https://arxiv.org/ftp/arxiv/papers/1704/1704.04760.pdf

TPU的一个例子是一个非常广义张量加速器使用复杂的编译器调度图操作。TPU表现出很好的效率吞吐量为特定的工作负载(参考CNN0 86上衣)。然而,比率计算在内存参考cnn低于mlp LSTMs,我们可以看到,这些特定的工作负载是内存。CNN1也执行不佳(14.1顶部)的直接结果时发生的管道上必须加载到新的权重矩阵单元。


图2:TPUv1性能车顶为各种网络拓扑。
参考:Jouppi et al . 2017,https://arxiv.org/ftp/arxiv/papers/1704/1704.04760.pdf

神经网络结构对性能有重大的影响,而峰值性能指标是没有价值的选择一个推理解决方案的上下文中,除非我们能够实现高水平的效率为特定的工作负载,我们需要加快。今天,许多SoC, ASSP和GPU供应商继续推动绩效基准LeNet等经典图像分类模型,AlexNet, VGG GoogLeNet, ResNet。然而,实际用例图像分类任务的数量是有限的,很多时候这样的模型仅仅是作为后端功能器使用更复杂的任务,比如对象检测和分割。

更现实的真实世界的例子可部署模型对象检测和分割。如何与观察,你必须看起来长,很难找到官方IPS基准等网络YOLOv3 SSD,尽管许多半导体设备市场提供10的顶部的表现?半开玩笑的,我想这不是一个问题如果你只是需要grep对云存储的照片你的猫的照片:


图3:大厅的家猫,“风滚草。”

难怪许多开发人员发现他们的第一次“踢”设计一个AI-enabled产品未能满足性能要求,迫使他们迁移到另一个架构及。这是特别具有挑战性,如果这意味着重新建构SOM基板的硬件和软件。事实证明,选择的关键动力Xilinx soc是与竞争解决方案不同,Xilinx推理解决方案规模直接由超过一个数量级的性能,同时保持相同的处理器和相同的推理加速器架构。

2017年,一个研究小组从谷歌(Howard et al“MobileNets:高效移动视觉应用卷积神经网络”https://arxiv.org/pdf/1704.04861.pdf)提出了一种新的模型针对移动应用程序。MobileNet的优势是它大大减少计算成本,同时保持高水平的准确性。的一个关键创新受雇于MobileNet网络分离深度方面卷积。在经典的背景下卷积,每个输入通道都有一个对每一个输出通道的影响。如果我们有100 100输入通道和输出通道,有100×100个虚拟路径。然而,对于深度方面卷积,卷积层分割成100组结果只有100的路径。每个输入通道只与1输出通道,结果我们节省大量计算。


图4:古典和深度方面卷积连接。
参考:姚歌Hotchips HC30、会话8:https://www.hotchips.org/archives/2010s/hc30/

这方面的一个结果是,对于MobileNets计算内存的比例减少,暗示内存带宽和延迟扮演更重要的角色在实现高吞吐量。

不幸的是,计算高效的网络不一定是硬件友好。理想情况下,延迟会缩减在线性比例减少失败。然而,正如他们所说,天下没有免费的午餐。考虑例如以下比较表明,计算工作量MobileNetv2小于十分之一ResNet50的工作负载,然而,延迟并不遵循相同的轨迹。


图5:MobileNet vs ResNet50运维&延迟。
参考:姚歌Hotchips HC30、会话8:https://www.hotchips.org/archives/2010s/hc30/

在上面的分析中,我们可以看到,延迟不规模下降了12 x减少失败的比例。

那么我们如何解决这个问题?如果我们比较片外交流的比例计算,我们发现MobileNet比VGG有非常不同的特点。在DWC层的情况下,我们可以看到比是0.11。加速器现在内存约束,从而达到低水平的效率等许多体育数组的元素坐“黑暗”服务器在数据中心,消费能力和死区,在执行任何有用的工作。


图6:CTC VGG16和MobileNetv1比例。
参考:姚歌Hotchips HC30、会话8:https://www.hotchips.org/archives/2010s/hc30/

当Xilinx发布DPUv1,它旨在加速传统卷积(其他操作)。传统的卷积需要channel-wise减少输入。减少更适合硬件推理,因为它增加的比率计算重量/激活存储。考虑到能源成本的计算和内存,这是一个非常好的事情。这是其中一个原因ResNet-based网络部署在高性能应用程序是如此普遍,计算内存的比率较高ResNet比许多历史性的骨干。

深度方面不会导致这样的卷积channel-wise减少。内存性能变得更加重要。

推理,我们一般保险丝的DWC普华永道卷积和存储DWC激活在芯片上的记忆,然后立即启动1×1普华永道。在原始DPU的背景下,没有专门的硬件支持DWCs,结果效率低于理想:


图7:MobileNet vs ResNet50运维&延迟——DPUv1(没有原生DWC支持)。
参考:姚歌Hotchips HC30、会话8:https://www.hotchips.org/archives/2010s/hc30/

在硬件加速DWC的性能,我们修改的功能在Xilinx DPU PEs(处理元素),并与逐点CONV融合DWC操作符。在第一层一个输出像素处理后,激活是立即管线式1×1卷积(通过片上布拉姆内存DPU)不写DRAM。我们可以大大增加MobileNet部署的效率DPU使用这个专业技术。


图8:DPUv2、专门的DWC处理元素。
参考:姚歌Hotchips HC30、会话8:https://www.hotchips.org/archives/2010s/hc30/

这个修改DPUv2架构我们可以提供一个戏剧性的改善MNv1推理的效率。此外,通过增加内存芯片上的数量,我们可以进一步提高效率,这是我们ResNet50起来跟结果。所有这些使用相同的CPU和硬件架构就完成了!


图9:MobileNet vs ResNet50部署延迟,DPUv1与DPUv2 (DWC支持)。
参考:姚歌Hotchips HC30、会话8:https://www.hotchips.org/archives/2010s/hc30/

常见的发生是优化推理硬件和神经网络模型独立于彼此。回想一下,网络通常使用gpu,训练和部署在soc的边缘,或gpu截然不同的架构。要真正优化性能,我们必须适应硬件有效部署模型不一定是硬件友好。适应性强的关键优势硬件在这种背景下,该器件提供了一个独特的机会继续软硬件post tape-out共同演化。

借此更进一步,考虑的影响这个开创性的论文,题为“彩票假说”(卡宾Frankle & 2019https://arxiv.org/pdf/1803.03635.pdf)。摘要(两种骄傲地戴着皇冠ICLR2019)作者“阐明假说”,“密集、randomly-initialized前馈网络包含子网(中奖彩票)-当单独训练,达到测试精度与原始网络类似的(培训)的迭代次数。“很明显,未来网络修剪依然明亮,和技术如AutoML很快就会照亮”中奖彩票“对我们网络发现和优化过程的一部分。

今天也是事实的最佳解决方案,确保高效、高精度部署边缘仍然通道修剪的古典骨干。虽然这些脊椎可能效率低下的部署,半自动通道修剪的脊椎可以交付(参考Xilinx VGG-SSD极其有效的结果例子)。我会因此表达假设“中奖彩票”今天可以发现仅仅通过选择一个推理架构,将不会过时的下一个设计,使您能够利用未来网络架构和优化技术的同时确保产品长寿为你的客户。


图10:我个人的“中奖彩票”假说。

我非常看好的可能性还存在未来的研究源于“彩票假说”使我们新一代的修剪技术更大的效率提升。此外,它不仅仅是我的直觉告诉我,只有适应硬件,提供多维的可伸缩性,将为您提供车辆收集奖。抓住一个ZCU104,下载Vitis-AI,并开始你的旅程到人工智能的未来,今天。



留下一个回复


(注意:这个名字会显示公开)

Baidu