没有合适的资源?快使用搜索试试~ 我知道了~
12910REACT:一种用于可穿戴设备上的可重构神经网络加速器,具有软件可配置的NoCs,用于训练和推断0Mohit Upadhyay 1,Rohan Juneja 1,Bo Wang 2,Jun Zhou 3,Weng-Fai Wong 1和Li-Shiuan Peh 101新加坡国立大学计算机学院,2新加坡科技与设计大学,新加坡,3 A * STAR高性能计算研究所,新加坡0摘要:芯片上的训练可以提高个性化用户数据的模型准确性并保护隐私。本文提出了一种名为REACT的可穿戴设备人工智能加速器,它具有支持训练和推断的异构核心。REACT的架构以NoC为中心,通过软件可配置的NoCs将权重、特征和梯度分布在核心之间,通过软件高效地访问和计算。与传统的动态NoCs不同,REACT的NoCs没有缓冲队列、流量控制或路由,因为它们完全由软件为每个神经网络进行配置。REACT的在线学习实现了高达75%的准确性改进,并且比具有相似内存和计算占用的最先进加速器快25倍,能效提高520倍。关键词:神经网络,加速器,可穿戴设备0ACM参考格式:Mohit Upadhyay 1,Rohan Juneja 1,Bo Wang 2,JunZhou 3,Weng-Fai Wong 1和Li-Shiuan Peh1,1新加坡国立大学计算机学院,2新加坡科技与设计大学,新加坡,3 A *STAR高性能计算研究所,新加坡。2022年。REACT:一种用于可穿戴设备上的训练和推断的异构可重构神经网络加速器,具有软件可配置的NoCs。在第59届ACM/IEEE设计自动化会议(DAC)(DAC'22)论文集中,2022年7月10日至14日,美国加利福尼亚州旧金山。ACM,美国纽约,6页。https://doi.org/10.1145/3489517.353040601引言已经有大量专门用于边缘部署的推断硬件加速器[1][5]。然而,由于计算密集型,神经网络训练仍然主要在云端进行。然而,在芯片上进行训练的支持在边缘设备上变得越来越重要,因为模型可以根据用户自己的数据进行个性化,提高准确性,同时避免在云端共享私人用户数据。现代卷积神经网络(CNN)由一组卷积和池化层组成,用于特征提取,然后是一组全连接(FC)层,用于分类。在边缘部署的迁移学习中,特征提取的CNN层不需要进行重大改变。因此,芯片上的学习主要集中在重新训练FC层[17],以个性化用户模型,提高准确性。0DAC'22,2022年7月10日至14日,美国加利福尼亚州旧金山,由所有者/作者持有的版权© 2022年ACM ISBN978-1-4503-9142-9/22/07。https://doi.org/10.1145/3489517.35304060反向传播训练使用推断输出来计算先前层的权重和误差梯度,这有助于计算更新的权重。我们在REACT的设计中利用了这一点,REACT是一种支持可穿戴设备紧凑区域/功率预算内的训练和推断的人工智能加速器。REACT加速器由一组异构的GIGA核心和一组专门用于加速卷积层推断的nano核心组成。然后,这些核心通过三个专门的NoCs相互连接,这些NoCs可以高效地在芯片上移动错误梯度、权重和特征图(在推断期间用于nano和GIGA核心)以及错误梯度(在训练期间用于GIGA核心)。在这里,我们总结了REACT的关键贡献和结果。(i)本文介绍了一种名为REACT的加速器,用于可穿戴设备上的神经网络推断和训练。REACT的高效性源于一种独特的完全分布式架构,具有专门用于不同层的异构核心,由三个专门的软件可配置NoCs相互连接,可以在芯片上高效地移动错误梯度、权重和特征图,减少昂贵的芯片外访问。与以往的工作不同,REACT的NoCs不需要硬件支持缓冲队列、流量控制或路由,完全依赖软件合成来映射到不同的神经网络。(ii)我们的结果显示了芯片上训练的好处,通过对多个数据集的预训练模型准确性提高了75%以上,并且与边缘CPU上的软件训练相比,加速了900倍以上。(iii)我们的架构评估还表明,除了加速训练外,REACT还可以在给定的数据集和基准测试中进行芯片上推断,平均速度提高2.4倍,能耗提高2倍,与具有相似占用空间的最先进基线相比,为可穿戴设备上的训练和学习提供了完整的芯片内解决方案。第2节讨论了芯片上训练的动机。第3节详细介绍了提出的REACT加速器设计。第4节描述了不同神经网络类型在REACT上的软件映射。第5节评估了REACT,并将其与最先进技术进行了比较。第6节简要介绍了相关工作,而第7节对论文进行了总结。02动机REACT专为可穿戴设备的芯片上学习而设计,其中用户数据与在云端预训练的数据集(源数据集)相似,只是个性化到用户(目标数据集)。预训练网络的芯片上学习是在目标数据集上执行的,就像[3][2]中所执行的那样。对于我们的评估(请参见第5节的实验细节),我们进行了仿真0本作品采用知识共享署名国际4.0许可协议。12920DAC '22,2022年7月10日至14日,美国加利福尼亚州旧金山0对于CNN基准测试,我们使用迁移学习[17],并对多层感知器(MLP)基准测试进行芯片上学习。图1显示了在目标数据集上进行芯片上训练如何将模型准确性提高14%和75%的MLP和CNN分别。图1显示了芯片上训练之前的准确性(在时期0)。0图1:使用芯片上训练提高准确性。03 REACT架构3.1架构概述REACT由GIGA核心和纳米核心的混合组成,用于加速完全连接层的训练和推理以及卷积层的推理。这使得REACT能够在可穿戴设备的严格面积/功耗约束下平衡训练和推理的需求。REACT使用bfloat16算术执行所有计算,已经证明对于深度学习应用更有效。只有GIGA核心具有用于训练的额外硬件支持:一维系统阵列的乘法器,用于计算权重梯度,以及GIGA神经元核心同时计算误差梯度。神经元核心使用计算的权重梯度更新权重。每个核心都具有训练支持的同质化架构将导致在相同面积约束下的较少核心,并且利用率更低,从而抵消了CNN加速的好处,因为在GIGA核心上的CNN映射将涉及更高的复制和较低的权重利用率。REACT核心由三种类型的网络互连(NoCs)连接。NoCs都是完全可软件配置的,由软件映射器(见第4节)合成,就像FPGA交换盒一样。因此,它们节省了用于缓冲、流量控制或路由的硬件支持。NoCs专门用于特定功能以提高效率。所有核心(GIGA和纳米)都通过每个神经元的部分和(PS)NoCs互连,可以执行用于推理和训练的网络内部部分和计算[16]。所有核心还通过每个神经元的加权和(WS)NoCs连接,具有ReLU引擎用于推理,在推理期间和芯片上训练期间路由输出。纳米核心具有第三种类型的NoC,即加法树NoC,连接其中的乘法器和加法器,允许配置计算单元以匹配精确的CNN内核。部分和和加权和NoCs是网状的,因为网状拓扑图可以方便地映射到REACT核心的网格布局。加法树NoC是树状拓扑,因为它允许变长加法的前缀相加。PS和WSNoCs与小型网络接口(NIC)缓冲区接口,以促进核心重用并减少输入/输出特征映射、部分和值和误差梯度的离片访问。训练缓冲区是一个0小内存通过在前向传播阶段缓冲完全连接层的输出来支持训练过程,因为GIGA核心被用于完全连接层。REACT具有每个核心的本地配置内存。在图3和图4中,配置内存由控制单元提供,该控制单元解码指令并将相应的控制信号发送给每个核心。图2显示了具有8个纳米核心和2个GIGA核心的REACT架构,每个核心具有256个神经元,连接到256个10节点PS网状NoC和256个10节点WS网状NoC。在每个纳米核心中,有一个六级加法树NoC来减少7×7乘法器的输出。由于卷积层中的滤波器数量通常是8的倍数,这样的配置可以提高映射效率。0图2:具有2个GIGA核心和8个纳米核心(每个核心都有一个加法树NoC)的REACT架构,由256个每个神经元的部分和NoC和256个加权和NoC相互连接03.2 GIGA核心GIGA神经元核心加速全连接层。一个GIGA核心由三个逻辑存储器组成,最多存储256×256个突触权重、转置权重和权重梯度值。它有256个MAC(乘累加)计算单元和相关的控制逻辑。GIGA神经元核心的微体系结构如图3(a)所示。GIGA神经元核心专门设计用于高效执行矩阵-向量乘法,这在推理和训练过程中是必需的。在推理期间,GIGA神经元核心将输入特征图与权重相乘。部分输出特征图被发送到每个神经元的部分和NoC或加权和NoC,具体取决于映射。在训练的反向传播阶段,从加权和NoC的输入端口发送的输入误差梯度值与转置权重矩阵的值相乘,生成输出误差梯度特征。输出误差梯度可以直接发送到加权和NoC,也可以根据映射发送到部分和NoC。GIGA神经元核心使用芯片上存储的权重和梯度在训练的反向传播阶段更新权重。1D流水线阵列。GIGA核心还包含一个1D流水线阵列,用于加速训练。256个乘法器的流水线阵列如图3(d)所示。它将从本地激活输入或训练缓冲区获取的误差梯度值(行向量)和推理输入(列向量)相乘。12930REACT:一种具有软件可配置NoC的异构加速器DAC '22,2022年7月10日至14日,美国加利福尼亚州旧金山0图3:(a)GIGA神经元核心的微体系结构,(b)部分和路由器,(c)带有ReLU单元的加权和路由器和(d)1-D的流水线阵列0本地激活输入或训练缓冲区,生成权重梯度值,然后将其发送到GIGA神经元核心。03.3带有加法树NoC的纳米核心纳米神经元核心加速卷积神经网络层,由两部分组成:负责在每个时钟周期中流式传输卷积的感受野的系统数据设置单元;和一个7×7的乘法器阵列馈送到加法树NoC。乘法器阵列的输出被馈送到一棵加法器树中,以有效地执行卷积。在加法树NoC的每个级别上,绕过路径允许软件将多个感受野映射到较小的卷积核。我们在第4节中讨论了不同大小的卷积核的基本映射。每个核心可以同时保存64个不同的卷积核,每个卷积核的最大尺寸为7×7。在推理期间,纳米神经元核心的输入是输入特征图和来自CPU的SRAM存储器的权重。核心的输出然后被发送到每个神经元的部分和NoC,当神经元核心的输出是部分和值时,或者发送到加权和NoC,如果神经元核心的输出是完全和值。0图4:(a)带有(b)部分和NoC路由器,(c)加权和NoC路由器和(d)加法树NoC的纳米神经元核心的微体系结构03.4 部分和网络(Partial-SumNoC)部分和(PS)NoC是从神经推理加速器Shenjing[16]中借鉴的。每个神经元都有自己的PSNoC,因此每个核心都有256个PS路由器。PSNoC路由器在其数据通路中具有加法器,用于在网络中执行特征值(推理期间)和误差梯度值(训练期间)的汇总和聚合。它被设计用于在映射到核心的层内执行部分和。部分和路由器由软件映射器配置,以添加来自任何附近核心和路由器中存储的任何先前结果的和。如图3(b)和4(b)所示,一个5×2的输入交叉开关从端口(北、南、东、西或PSNIC缓冲区)获取输入数据,并将其注册进行本地相加,或者通过输出链路将给定路由器绕过到相邻路由器。一个3×6的输出交叉开关将数据排出到所需的输出端口或WS NoC的ReLU单元。03.5 加权和NoC 加权和(WS)NoC的架构支持完全加权输出特征图的前向传播(在推理期间)和误差梯度的反向传播(在训练的反向传播阶段),因此单个NoC可以在前向和后向传递期间以不同的方向进行软件配置,从而实现时分复用,以提高利用率和效率(参见图3(c))。加权和NoC路由器在不同核心之间发送误差梯度值。对于最后一层,误差梯度作为输入从芯片外部接收。否则,6×6交叉开关将误差梯度值从其输出端口路由,并发送到系统阵列和GIGA神经元核心,以计算权重梯度和输出误差梯度值。然后,根据映射将输出误差梯度值发送到其他核心,通过6×6交叉开关的输入端口进行映射,并通过其中一个输出端口(北、南、东、西或加权和NIC缓冲区)将其弹出。加权和NIC缓冲区被设计为存储一组误差梯度特征,以减少训练期间的芯片外访问。04 将ANN映射到REACTREACT的软件映射算法可以自动将不同目标神经网络映射到REACT,并合成8end9N.add(L)𝑗)) )19end20N.add(L)23 endAlgorithm 2: Mapping of convolution layers onto REACT’s NoCInput:𝑛row × 𝑛col cores, with 𝐹 × 𝐹 multiplier array, withPS.Send(i, j, input), and WS.Send(i, j, input).And the convolution layer of input size ℎ × 𝑤 × 𝑐𝑖𝑛,and kernel size 𝑘 × 𝑘 × 𝑐𝑐𝑖𝑛 × 𝑐𝑜𝑢𝑡.Output:Network trace N1 𝑁 ← 0// Adder tree NoC bypass logic2 𝑖𝑛𝑡𝑟𝑎_𝑓 𝑜𝑙𝑑 ← ⌊(𝐹 ∗ 𝐹)/2 ⌈𝑙𝑜𝑔2 (𝑘 ∗ 𝑘)⌉ ⌋3 𝑠𝑐ℎ ← ⌈𝑙𝑜𝑔2(𝑘 ∗ 𝑘)⌉// Map weights spatially for utilization4 𝑠𝑐ℎ_𝑎𝑟𝑟 ← [𝑖*2⌈𝑙𝑜𝑔2 (𝑘 ∗ 𝑘)⌉ for 𝑖 in range(𝑠𝑐ℎ)]5 𝑖𝑛𝑣 ← ⌈ℎ∗𝑤𝐼∗𝐼 ∗1𝑛𝑟𝑜𝑤∗𝑛𝑐𝑜𝑙 ⌉// Number of invocations6 N.add( WS.Send(WS.buffer(..) to 𝐼𝑛𝑝_𝑑𝑎𝑡𝑎) )7 for 𝑓 ← 1 ; 𝑓 < 𝑖𝑛𝑣 ; 𝑓 = 𝑓 + 1// Mapping onto Nano cores8do9for 𝑖𝑛_𝑐ℎ ← 1 to 𝑐in do10for 𝑜𝑢𝑡_𝑐ℎ ← 1 to ⌈𝑐𝑜𝑢𝑡/64⌉ do11for 𝑖𝑛𝑡𝑟𝑎_𝑜𝑢𝑡_𝑐ℎ ← 1 to𝑚𝑖𝑛(64,𝑐𝑜𝑢𝑡 − (64 ∗ 𝑜𝑢𝑡_𝑐ℎ)) do12𝐿 ← 013for 𝑥, 𝑦 ← 1 to 𝑛𝑟𝑜𝑤,𝑛𝑐𝑜𝑙// Nano core operation14do15L.add( PS.Send(𝑥, 𝑦, (𝑖𝑛𝑝𝑢𝑡𝑠 [𝑖𝑛_𝑐ℎ][..],𝑘𝑒𝑟𝑛𝑒𝑙𝑠 [𝑖𝑛_𝑐ℎ][𝑜𝑢𝑡_𝑐ℎ], 𝑏𝑦𝑝𝑎𝑠𝑠,𝑠𝑐ℎ_𝑎𝑟𝑟)) )16end17end18end19N.add(L)20end21 end22 N.add( WS.Send(PS.buffer(..) to WS.Buffer(..)) )As a convolution layer scans through the input image, there willbe overlap at the boundary of each core. To produce the convolutionsum, along each channel, the neighbouring cores first exchangetheir partial-sums to produce the convolution of the boundarypixels. Then, among the channels, the partial sums are accumulatedto complete the convolution.The mapping between nano and GIGA cores is similar to the wayFC layers are mapped. The nano core outputs are directly mappedto the same number of GIGA cores receiving these outputs as theirinput axons.5EVALUATION5.1Target Neural NetworksIn our experiments, we use 7 different benchmarks to evaluateREACT architecture, representative of real world workloads. Theyare 2-layered MLP and 4-layered CNN neural network architecturesfor the MNIST[11] dataset, a 5-layered MLP neural network forthe MIT-BiH ECG dataset and 9-layered CNN for CIFAR-10 [8]dataset. REACT is able to fit neural network layers of varying sizeswithout accuracy loss due to the partial sum NoCs. The MIT-BiH[9] MLP network was chosen as the MIT-BiH dataset [13] is used todetect cardiac arrythmia, a key application on wearables. We alsouse another CNN network with 6 layers targeting the EMNIST [4]dataset and use the VGG-16 and MobileNet v1 benchmarks with theCIFAR-10 dataset. We also evaluate MobileNet v1 on ImageNet toshow the scalability of REACT. MobileNet v1 illustrates that REACTcan support deeper networks as well on wearables.12940DAC '22,2022年7月10日至14日,美国加利福尼亚州旧金山0REACT的软件映射算法可以自动将不同目标神经网络映射到REACT,并合成配置REACT核心和NoC的配置信号。它实质上调度核心和NoC的逐周期操作,确保资源的高效、无争用的使用。4.1完全连接层的映射要将具有 m 个输入和 n 个输出的 � × � FC层映射到REACT中,其中 m 和 n 都超过了核心的大小,我们需要 ���次调用,其中 ��� = �� � / � � � / � �/( � ��� � � ��� )�,�是一个核心的输入和输出神经元的数量。我们将 � row × � col个核心排列成一个矩形。行接收 m 个输入,列产生 n个输出。算法1显示了部分和NoC的逻辑调度,以产生总加权和。0算法1:将完全连接层映射到REACT的NoC0输入:具有 � row × � col 个核心的矩形中的 � row × � col个局部部分和子程序 PS.Send(i, j, input) 和加权和 WS.Send(i, j,input) 输出:网络跟踪 N01 � ← 0,��� ← �� � / � � � / � �/( � ��� � � ��� )� //从WS缓冲区加载数据以进行层间通信02 N.add( WS.Send(WS.Buffer(..) 到 ��� _ ���� ) ) //部分和计算03 对于 � 从 1 到 ��� // 部分和计算06 对于 � 从 1 到 � ���,对于 � 从 1 到 � ��� 进行循环07 L.add( PS.Send( � , � , (Output( � , � ) 到 PS.Buffer( � , � )) ) )010 end //将PS的输出发送到WS的输入,对于所有核心011 N.add( WS.Send(PS.Buffer(..) 到 WS.Buffer(..)) )013 N.add( WS.Send(WS.Buffer(..) 到 ��� _ ���� ) )014 对于 � 从 1 到 ��� 进行循环016 对于 � 从 � ��� 到 2,对于 � 从 1 到 � ��� 进行循环017 L.add( PS.Add( � , � ) 到 PS.Add( � − 1, � ) )022 N.add( WS.Send(PS.Buffer(..) 到 WS.Buffer(..)) )04.2 将卷积层映射到具有输入尺寸 � × � × � in 和核尺寸 � × � × � in × �out 的 � row × � col 个核心上,以时间复用的方式执行 ���次调用。每个神经元核心可以对图像的 � × �大小的分区进行卷积,因此覆盖所有输入和输出通道所需的调用次数为 ��� = �( � × � )/( � × � × � ��� × � ���)�。每个纳米神经元核心最多可以容纳64个输出通道的滤波器。权重被映射,使得每个神经元在转移到下一个输入通道之前完成卷积。为了解决乘法器阵列的低利用率问题,我们设计了一个加法器树NoC,在加法器树的每个级别上具有软件可配置的旁路链接,如第3.3节所讨论的。这些链接有助于在空间上调度与内核对应的多个计算,并绕过其余的加法器树。因此,软件映射器可以配置和调度多个较小的内核,或者一个大小等于或大于5×5的内核。REACT: A Heterogeneous Accelerator with Software-Configurable NoCsDAC ’22, July 10–14, 2022, San Francisco, CA, USA5.2Experimental methodologyTo emulate transfer learning, CNN benchmarks targeting CIFAR-10 and MNIST (target datasets) are pre-trained on ImageNet andEMNIST (source datasets) respectively. The on-chip training andinference evaluations are performed on the target datasets. For allother benchmarks, we emulate on-chip learning of a pre-trainedmodel by training the FC layers on a subset of their respectivesource datasets.We modeled REACT in RTL, then faithfully replicated the opera-tions performed by the RTL during forward and backward passes ofthe training process in a high-level simulator using python librariesto ensure tractable simulation times. REACT was synthesized at120 MHz for real-time inference for the given benchmarks. Theaccuracy results (Figure 1) were obtained using these simulationswhere pre-trained models were obtained from pytorch.The power and area results of REACT’s cores and NoCs areobtained through RTL modelling and synthesis. The design wasimplemented and verified on SystemVerilog HDL and its function-ality was verified using the Synopsys VCS tool. The synthesis wasrun using the Synopsys Design Compiler to synthesize the RTLdesign to gate-level netlists on a commercial 22nm CMOS processand SRAMs used were foundry’s memory-compiled SRAM cells.ARM CPU@921.6MHzJetson NanoGPU @153MHzEdge TPU@500MHz129505.3 架构综合结果 5.3.1面积。REACT架构中的每个GIGA核(GIGA神经元核、NoC路由器和1D systolic阵列)在0.8V下综合,得到的核心面积为1.993 �� 2。REACT架构中的每个nano核(nano神经元核和NoC路由器)也在0.8V下综合,占用1.148 �� 2 。图2中REACT配置的总面积为13.17 ��2 。表1显示了GIGA核和nano核的面积分布。05.3.2功耗。功耗是从上述综合中获得的。当在120MHz下综合时,GIGA核的总功耗为114.7mW。如表1所示,GIGA神经元核的功耗分布。GIGA神经元核的功耗占据了很大比例,因为它在架构中拥有大部分计算元素。1D systolic阵列和WSNoC在推理阶段被关闭,只在芯片上训练时运行。当在120MHz下综合时,nano核的总功耗为91.78mW。表1显示了nano神经元核的功耗分布。预期地,nano核的功耗比GIGA核低,因为它的复杂度较低。由于nano核可以处理多达64个不同的输出通道,因此nano核中的PS和WSNoC的NIC缓冲区比GIGA核中的相应缓冲区大64倍。这些NIC缓冲区在芯片上保存神经网络数据,而核心被重复使用。05.4 评估结果 表2显示了在REACT上进行芯片内训练的延迟,与ARMCPU、Jetson nano[6]板上的NvidiaGPU(功率输出为5W)和Edge-TPU板[5](功率输出为2W)的计时测量进行比较。Edge-TPU只能训练最后的分类器层,而其他设备可以训练所有的FC层。对于所有给定的基准测试,REACT的速度比CPU和GPU基准测试分别快426倍和183倍。Edge-TPU板比REACT快15%,但平均功耗高出4.6倍。0核子模块活动功率(mW)0活动功率(每个核心的百分比)0面积(�� 2 )0面积(每个核心的百分比)0GIGA核0GIGA神经元核 76.031 66.29 1.552 77.870每个神经元的256个PS NoC路由器 14.133 12.32 0.188 9.430每个神经元的256个PS NIC缓冲区 1.439 1.25 0.0098 0.490每个神经元的256个WS NoC路由器 12.448 10.85 0.126 6.320每个神经元的256个WS NIC缓冲区 1.439 1.25 0.0098 0.4901D systolic阵列 2.013 1.75 0.058 2.910训练缓冲区 5.759 5.02 0.04 1.980配置内存 1.440 1.26 0.010 0.500nano核0nano神经元核 8.28 9.02 0.265 23.090每个神经元的256个PS NoC路由器 26.59 28.97 0.188 16.380每个神经元的256个PS NIC缓冲区 15.28 16.65 0.371 32.320每个神经元的256个WS NoC路由器 24.91 27.14 0.126 10.980每个神经元的256个WS NIC缓冲区 15.28 16.65 0.188 16.380配置内存 1.440 1.57 0.010 0.860表1:GIGA和nano核的综合结果0但Edge-TPU只能通过芯片内训练实现5%的准确率提升。0基准测试 REACT @120MHz02层MLP(MNIST)0.0382 12.935 4.833 2.0304层CNN(MNIST)0.0176 7.444 6.683 1.1906层CNN(EMNIST)0.1243 152.245 15.788 4.2605层MLP(MIT-BiH)[9] 0.0680 50.592 11.158 -09层CNN(CIFAR-10)0.1429 169.557 18.551 4.520MobileNet v1(CIFAR-10)6.9109 5135.592 2817.617 6.220MobileNet v1(ImageNet)31.1612 10854.013 4161.098 10.740VGG-16(CIFAR-10)53.51 1934.52 295.79 23.560表2:REACT训练延迟(以毫秒为单位)0为了与架构基准进行性能比较,我们使用SCALE-SIM[14]和MAESTRO[10]架构模拟器获取其他基准的延迟和利用率数据。四个基准是Eyeriss(在MAESTRO中建模)和具有类似计算元素和内存的系统阵列,但具有权重静止(WS),输出静止(OS)(类似于ShiDianNao[7])和输入静止(IS)数据流,因为这些是神经网络加速器中使用的关键数据流。为了简洁起见,我们将配置分别称为Eyeriss-like、TPU-like、ShiDianNao-like和Sys.Array-IS。对于REACT的性能数据,我们使用前面描述的高级Python功能模拟器,利用映射算法。图5显示了REACT和上述4个基准的推理延迟。相对于Eyeriss、TPU、ShiDianNao-like和Sys.Array-IS,REACT的平均推理速度分别提高了3.5倍、2.25倍、1.5倍和2.2倍。由于其GIGA核心,REACT在FC层具有更高的映射效率,相对于基线而言。由于其NoCs,REACT的利用率比TPU配置更高,因为它更好地利用了其芯片上的内存。与所有基线中利用率最高的ShiDianNao-like相比,REACT的平均计算利用率为56.9%,而ShiDianNao-like的利用率为10.1%。与REACT相比,SystolicArray配置的利用率也较低,因为SystolicArray架构对矩阵-向量计算不太有效。相对于具有相似计算资源的SystolicArray配置,REACT的NoCs提供了8倍的芯片内带宽。为了进行能量比较,我们从[15]获得了类似TPU的RTL模型,以建模功耗和面积。类似TPU的架构也以相同的时钟频率进行综合。12960DAC '22,2022年7月10日至14日,美国加利福尼亚州旧金山0图5:REACT与基准的推理延迟比较0REACT(120MHz)。在图6中,我们可以看到REACT和TPU的推理能量分布,归一化为TPU推理能量。对于较浅的网络,REACT的能耗明显较低,这通常是针对可穿戴设备的网络,相对于基线而言,对于所有给定的基准测试,平均而言,REACT的能耗较低2.1倍。这表明REACT的专用核心和软件可配置的NoCs能够在芯片上实现高能效的分布式计算。0图6:给定基准的推理能耗6相关工作已经开发了许多用于ANN加速的定制硬件加速器芯片。我们重点关注一些支持芯片上训练的加速器之间的差异,由于不同的技术节点、数据集和神经网络,很难进行REACT与其他训练加速器的苹果对苹果比较,我们简要提及一些先前加速器与REACT之间的差异。TrainWare[2]是一种用于CNN的设备上训练加速器,专注于权重更新操作。其两个关键特点是专用的本地缓冲区以减少芯片外存储器访问和具有PE阵列的独特数据流。TrainWare仅专注于加速权重更新阶段,而REACT则加速训练的所有阶段,同时具有更好的面积效率。Choi等[3]提出了一种支持CNN推理和训练的加速器。该架构是异构的,推理和训练计算为CNN和MLP提供不同类型的核心。与REACT相比,该工作的准确性较低,因为它使用8位定点算术,精度较低。Lu等[12]还提出了一种支持CNN推理和训练的加速器,通过具有多个PS集群和激活计算单元来实现。REACT的NoC为更好的面积效率和更高的利用率提供了支持。Sticker[18]具有一种架构,可以对稀疏神经网络模型进行推理,同时支持FC层的调优。它有三个主要模块,即稀疏感知控制器、0多稀疏兼容卷积PE阵列和稀疏FC层的高效在线调谐PE。与REACT相比,该工作具有较低精度的数据,这将导致推理和芯片上训练的准确性降低。REACT加速器的架构与这些先前的加速器的主要区别在于,REACT架构将权重、输出特征图和误差梯度分布在核心之间,并使用专用的NoC进行互连,而不是主要依赖单个统一缓冲区。简而言之,REACT具有以NoC为中心的设计,可以在更细粒度上更高效地利用内存和计算元素,这是边缘设备的关键约束条件,可以改善电池寿命。结论:本研究介绍了REACT,这是一种适用于可穿戴设备的神经网络加速器,可以支持芯片上的训练和推理。REACT将其核心专门用于特定的神经网络层,并使用具有网络内计算的专用软件可配置NoC进行互连,从而实现非常精简、高效的硬件,由REACT的软件映射器按周期调度不同的神经网络应用。我们认为REACT是可穿戴设备个性化学习和推理的完整芯片解决方案。08致谢本研究得到了新加坡国家研究基金会的支持,项目编号为NRF-RSSS2016-05,并且部分得到了新加坡政府研究、创新和企业2020计划(先进制造和工程领域)的项目编号为A1687b0033的资助。我们还感谢乔治亚理工学院的TusharKrishna教授和Sheng-Chun(Felix)Kao在使用SCALE-Sim和MAESTRO工具方面的帮助。参考文献[1] Y.Chen等人。2017。Eyeriss:一种用于深度CNN的能量高效可重构加速器。IEEEJSSC(2017)。[2] SeungkyuChoi等人。2018。TrainWare:一种用于设备上CNN训练的内存优化的权重更新架构。在ISLPED'18中。[3] S.Choi等人。2019。一种每个时代可训练的深度CNN加速器,用于智能设备上的原位个性化。在ASSCC 2019中。57-60。[4] GregoryCohen等人。2017。EMNIST:将MNIST扩展到手写字母。在2017IJCNN中。2921-2926。[5] coral.ai. 2020. Edge TPU文档。https://coral.ai/docs/[6]developer.nvidia.com/embedded/jetson modules. 2020. Jetson模块。[7] Z.Du等人。2015。ShiDianNao:将视觉处理转移到传感器附近。在ISCA2015中。92-104。[8] AlexKrizhevsky。2009。从小图像中学习多层特征。技术报告。[9] Gaurav Kumar等人。[n.d.]。使用MLP网络进行心电图信号的心律失常检测。[n. d.]。[10] HyoukjunKwon等人。2019。理解DNN数据流的重用、性能和硬件成本:一种以数据为中心的方法。在MICRO'52中。754-768。[11] Y.Lecun等人。1998。基于梯度的学习应用于文档识别。IEEE Proceedings 86,11(1998),2278-2324。[12] C.Lu等人。2019。一种每
下载后可阅读完整内容,剩余1页未读,立即下载
![azw3](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 基于嵌入式ARMLinux的播放器的设计与实现 word格式.doc
- 经典:大学答辩通过_基于ARM微处理器的嵌入式指纹识别系统设计.pdf
- 嵌入式系统课程设计.doc
- 基于飞思卡尔控制器的智能寻迹车设计ARM基础课程课程设计.doc
- 下载基于ARM7的压电陶瓷换能器导纳圆测量仪的研制PDF格式可编辑.pdf
- 课程设计基于ARM的嵌入式家居监控系统的研究与设计.doc
- 论文基于嵌入式ARM的图像采集处理系统设计.doc
- 嵌入式基于ARM9的中断驱动程序设计—课程设计.doc
- 在Linux系统下基于ARM嵌入式的俄罗斯方块.doc
- STK-MirrorStore Product Release Notes(96130)-44
- STK-MirrorStore Storage Connectivity Guide for StorageTek Disk A
- 龙虾养殖远程监控系统的设计与实现数据采集上位-机软件模块-本科毕业设计.doc
- 龙虾养殖远程监控系统的设计与实现数据采集上位-机软件模块-.doc
- 龙虾养殖远程监控系统的设计与实现数据采集上位-机软件模块-本科生毕业论文.doc
- 麻阳风貌展示网站的设计与实现毕业论文.pdf
- 高速走丝气中电火花线切割精加工编程设计.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)