NPU papers
• HyPar: Towards Hybrid Parallelism for Deep Learning Accelerator Array //50
近年来,随着人工智能的兴起,深度神经网络(DNN)在许多领域得到了广泛的应用。为了实现高性能和节能,DNNs的硬件加速(特别是推理)在学术界和工业界都得到了广泛的研究。然而,我们仍然面临两个挑战:大型DNN模型和数据集,导致频繁的片外存储器访问;以及DNN的培训,这在最近的加速器设计中没有得到很好的探索。为了真正为深度和大型模型的训练提供高吞吐量和节能的加速,我们不可避免地需要使用多个加速器来探索粗粒度并行性,而在大多数现有体系结构中考虑的是层内的细粒度并行性。如何在加速器之间寻求最佳的计算和数据流组织是当前研究的关键问题。在本文中,我们提出了一种解决方案HYPAR,用于确定使用DNN加速器阵列的深层神经网络训练的分层并行性。HYPAR为DNN加速器划分了特征映射张量(输入和输出)、核张量、梯度张量和误差张量。分区构成了加权层的并行性选择。优化的目标是在训练一个完整的DNN时搜索一个最小化总通信量的分区。为了解决这个问题,我们提出了一个通信模型来解释通信的来源和数量。然后,我们使用分层动态规划方法来搜索每一层的分区。HYPAR是实用的:HYPAR中分区搜索的时间复杂度是线性的。我们将此方法应用于基于HMC的DNN训练体系结构中,以最小化数据移动。我们用十个DNN模型评估HYPAR,从经典Lenet到大尺寸模型VGG,这些模型的加权层数从四层到十九层不等。我们的评估发现:默认的模型并行性。。。
• Shortcut Mining: Exploiting Cross-Layer Shortcut Reuse in DCNN Accelerators //25
片外内存流量一直是深度学习加速器的主要性能瓶颈。虽然重用片上数据是减少片外通信量的一种很有前途的方法,但在深度网络(如剩余网络)中重用快捷连接数据的机会在很大程度上被忽略了。这些快捷方式数据占总要素地图数据的近40%。在本文中,我们提出了快捷方式挖掘,这是一种新的方法,可以"挖掘"片上数据重用的未开发机会。我们引入了逻辑缓冲区的抽象来解决现有缓冲区体系结构中缺乏灵活性的问题,然后提出了一系列过程,这些过程可以共同有效地重用快捷和非快捷特征映射。建议的过程还能够跨任意数量的中间层重用快捷方式数据,而无需使用额外的缓冲区资源。在FPGA上原型制作的实验结果表明,与最先进的加速器相比,所提出的快捷方式挖掘可分别使SqueezeNet、ResNet-34和ResNet152的片外特征映射流量减少53.3%、58%和43%,吞吐量增加1.93倍。
• Sparse ReRAM Engine: Joint exploration of activation and weight sparsity on compressed neural network //62
利用模型稀疏性减少无效计算是DNN推理加速器实现能量效率的常用方法。然而,由于crossbar结构的紧密耦合,利用基于ReRAM的神经网络加速器的稀疏性是一个较少探索的领域。基于ReRAM的NN加速器的现有体系结构研究假设,整个纵横制阵列可以在一个周期内激活。然而,出于推理精度的考虑,矩阵向量计算在实践中必须以更小的粒度进行,称为运算单元(OU)。基于OU的体系结构为利用DNN稀疏性创造了新的机会。在本文中,我们提出了第一个实用的稀疏ReRAM引擎,它利用了权重和激活稀疏性。我们的评估表明,所提出的方法在消除无效计算方面是有效的,并且提供了显著的性能改进和节能。
• TIE: Energy-efficient tensor train-based inference engine for deep neural network //30
在人工智能(AI)时代,深度神经网络(DNN)已经成为最重要和最强大的人工智能技术。然而,大型DNN模型需要大量存储和计算,这对在资源受限的场景中采用DNN提出了重大挑战。因此,模型压缩成为确保DNN广泛部署的关键技术。
本文通过考虑张量序列(TT)分解,提出了最新的压缩技术,这是一种在建筑领域非常有前途但仍在探索的压缩技术。该方法具有极高的压缩比。然而,面临的挑战是,对TT格式DNN模型的推断必然会导致大量冗余计算,从而导致大量能耗。因此,直接应用TT分解是不可行的。
为了解决这一基本挑战,本文针对TT格式DNN开发了一种计算效率高的推理方案,该方案具有两个关键优点:1)达到了乘法次数的理论极限,从而消除了所有冗余计算;2)多级处理方案减少了对所有张量核的密集内存访问,带来了显著的节能。
基于新的推理方案,我们开发了TIE,一个TT格式的压缩DNN目标推理机。TIE非常灵活,支持不同类型的网络以满足不同的需求。采用CMOS 28nm工艺实现了16个处理元件(PE)原型。在1000MHz下运行时,TIE加速器消耗1.74mm2和154.8mW。与EIE相比,TIE在不同的工作负载下分别实现了7.22×10.66×更好的区域效率和3.03×4.48×更好的能源效率。与CirCNN相比,TIE的吞吐量和能效分别提高了5.96倍和4.56倍。结果表明,与最先进的解决方案相比,TIE具有显著的优势。
• Laconic Deep Learning Inference Acceleration //51
我们提出了一种利用深度学习模型透明地识别推理过程中无效计算的方法。具体地说,通过将乘法分解到位级别,推理过程中乘法所需的工作量可以在广泛选择的神经网络(8b和16b)中潜在地减少至少40倍。此方法产生数值上相同的结果,并且不影响整体精度。我们介绍了Laconic,一种硬件加速器,它实现了这种方法,以提高深度学习网络推理的能量效率。Laconic明智地放弃了一些减少工作量的潜力,以产生一种低成本、简单且节能的设计,其性能优于其他最先进的加速器:优化的DaDianNao-like设计[13]、Eyeriss[15]、SCNN[71]、实用[3]和BitFusion[83]。我们研究16b、8b和1b/2b定点量化模型。
• DeepAttest: An End-to-End Attestation Framework for Deep Neural Networks //16
新兴的深度神经网络(DNN)硬件架构正在商业化,并被视为设备供应商的硬件级知识产权(IP)。但是,这些智能设备可能会被滥用,并且尚未发现此类漏洞。智能平台的不受管制的使用和缺乏硬件限制的IP保护损害了设备供应商的商业优势,并禁止可靠的技术转让。我们的目标是设计一种系统方法,为各种平台上的DNN应用程序提供硬件级IP保护和使用控制。为了解决IP问题,我们提出了DeepDetect,这是第一种设备上的DNN认证方法,用于验证映射到设备的DNN程序的合法性。DeepExpert的工作原理是设计特定于设备的指纹,该指纹以部署在目标平台上的DNN的权重进行编码。嵌入式指纹(FP)随后在可信执行环境(TEE)的支持下提取。预先定义的FP的存在被用作证明标准,以确定查询的DNN是否经过身份验证。我们的认证框架确保只有经过授权的DNN程序才能生成匹配的FP,并允许在目标设备上进行推理。DeepAuthence为设备提供商提供了一个实用的解决方案,以限制其制造的硬件的应用程序使用,并防止未经授权或篡改的DNN执行。我们采用一种算法/软件/硬件协同设计的方法来优化DeepExpert在延迟和能耗方面的开销。为了便于部署,我们提供了一个高级的deepassert API,该API可以无缝集成到现有的深度学习框架和TEE中,用于硬件级IP保护和使用控制。在各种DNN基准测试和TEE支持的平台上,大量的实验证实了DeepEverte的保真度、可靠性、安全性和效率。
• Cambricon-F: Machine Learning Computers with Fractal von Neumann Architecture //4
机器学习技术是新兴商业应用的普遍工具,许多不同规模的专用机器学习计算机已部署在嵌入式设备、服务器和数据中心中。目前,大多数机器学习计算机体系结构仍然关注优化性能和能源效率,而不是编程效率。然而,随着硅技术的快速发展,编程效率(包括编程本身和软件堆栈开发)已不再是阻碍机器学习计算机应用的性能和电源效率的重要原因。在本文中,我们提出了Cambricon-F,它是一系列具有相同ISA的同质、顺序、多层、层相似的机器学习计算机。Cambricon-F机器具有分形冯诺依曼体系结构以迭代方式管理其组件:它采用冯诺依曼体系结构,其处理组件(子节点)仍然是采用冯诺依曼体系结构和相同ISA的Cambricon-F机器。由于具有不同规模的不同Cambricon-F实例可以在其公共ISA上共享相同的软件堆栈,Cambricon Fs可以显著提高编程效率。此外,我们还解决了Cambricon-F体系结构设计中的四大挑战,这使得Cambricon-F能够实现高效率。我们实现了两个不同规模的Cambricon-F实例,即Cambricon-F100和Cambricon-F1。与基于GPU的机器(DGX-1和1080Ti)相比,Cambricon-F实例的平均性能提高了2.82倍、5.14倍、8.37倍和11.39倍,面积成本分别降低了74.5%和93.8%。
• Wire-Aware Architecture and Dataflow for CNN Accelerators //16
尽管最近取得了一些进展,但现代CNN加速器中的数据移动仍然是一个重要的瓶颈。Eyeris等体系结构在单个处理元素中实现了大型草稿行,而TPU v1等体系结构实现了大型脉动阵列和大型单片缓存。因此,在这些之前的工作中,有几个数据移动跨越了长导线,并占了大部分能耗。在这项工作中,我们设计了一种新的有线感知CNN加速器WAX,它采用了一种深层的分布式内存层次结构,从而在常见情况下能够通过短线进行数据移动。一个计算单元阵列,每个单元都有一小组寄存器,被放置在大型缓存的子阵列附近,以形成一个分片。这些寄存器之间的移位操作允许高重用,而导线遍历开销很小。这种方法优化了常见的情况,在这种情况下,可以以非常低的成本执行寄存器获取和对几千字节缓冲区的访问。磁贴以外的操作需要遍历缓存的H树互连,但这是一种罕见的情况。为了实现操作数的高度重用,我们引入了一系列新的数据映射和数据流。与Eyeris相比,最佳数据流WAXFlow-3的性能提高了2倍,能耗降低了2.6-4.4倍。随着更多的蜡砖被添加,性能将很好地扩展到128块砖。
• ShapeShifter: Enabling Fine-Grain Data Width Adaptation in Deep Learning //19
我们表明,为深度神经网络中的所有值选择一个数据宽度,无论是否量化,即使每个层的宽度不同,也相当于最坏情况下的设计。如果我们通过以更细的粒度调整数据类型宽度来针对常见情况,则可以使用更短的数据宽度。我们建议使用ShapeShifter,将权重和激活分组,并使用特定于每个组的宽度对其进行编码,其中典型的组大小从16到256个值不等。每组宽度静态选择用于权重,动态选择用于激活的硬件。我们介绍了变形器的两个应用。首先,ShapeShifter适用于任何系统,它减少了片外和片内存储和通信。这种基于形状变换器的内存压缩方法简单且成本低,但对于8位和16位型号,片外通信量分别降低到33%和36%。这使得为给定的片外存储器接口保持更高的性能成为可能,同时也提高了能源效率。在第二个应用程序中,我们展示了如何将ShapeShifter作为外科手术的延伸来实现,而不是在时间上利用可变精度的设计。
• Simba: Scaling Deep-Learning Inference with Multi-Chip-Module-Based Architecture //106
使用多芯片模块(MCM)进行封装级集成是构建大规模系统的一种很有前途的方法。与大型单片芯片相比,MCM将许多较小的芯片组合到一个较大的系统中,大大降低了制造和设计成本。由于芯片间通信的高面积、高性能和高能量开销,当前的MCM通常只包含少量粗粒度的大型芯片。这项工作调查并量化了使用带有细粒度芯片的MCM进行深度学习推理的成本和收益,这是一个需要大量计算和片上存储的应用领域。为了评估这种方法,我们设计、实现、制造并测试了Simba,一个用于深度学习推理的36芯片MCM原型系统。每个芯片组可实现4个TOPS峰值性能,36个芯片组MCM封装可实现128个TOPS和6.1个TOPS/W。MCM可配置为支持DNN层到分布式计算和存储单元的灵活映射。为了减少芯片间的通信开销,我们引入了三种改进数据局部性的分片优化。与基线图层映射相比,这些优化实现了高达16%的加速。我们的评估表明,Simba可以处理运行ResNet-50的1988个图像/秒,批处理大小为1,推理延迟为0.50毫秒。
• ZCOMP: Reducing DNN Cross-Layer Memory Footprint Using Vector Extensions //18
深度神经网络(DNN)正在成为计算机视觉、机器学习、自然语言处理和语音识别应用中的主流方法。尽管DNN被视为计算密集型任务,但它们也会对内存层次结构的容量和带宽施加巨大压力,这主要是由于跨网络层通信的大量中间数据。先前关于硬件DNN加速器的工作通过完全定制的数据路径利用跨层数据稀疏性。然而,对于具有虚拟内存和硬件管理的一致缓存层次结构的通用多处理器来说,动态压缩/扩展此类数据是一项具有挑战性的任务。
在本文中,我们观察到,DNN中间数据要么是顺序流化的,要么是通过层间的规则变换进行重塑的。因此,对该数据的访问可以容忍顺序或块顺序压缩/扩展,而无需随机元素检索。基于这一观点,我们提出了ZCOMP,这是一种为DNN跨层通信量身定制的CPU向量ISA扩展。ZCOMP简洁地表示零值压缩/扩展,并完全自动化元数据生成、存储和检索,从而消除了执行多条额外指令和使用寄存器的需要。ZCOMP可以用于推理和训练,以便在写入内存之前动态压缩/扩展跨层数据。我们对各个层和端到端DNN网络的评估表明,ZCOMP在片内跨缓存层次结构和片外到DRAM两方面都提供了大量的数据流量减少,并且与无压缩和现有AVX512压缩方法相比,性能得到了提高。
• Boosting the Performance of CNN Accelerators with Dynamic Fine-Grained Channel Gating //25
本文提出了一种新的用于CNN推理的细粒度动态剪枝技术——通道选通,并提出了一种能够有效利用动态稀疏性的加速器体系结构。直观地说,通道选通识别每个CNN层特征图中对分类结果贡献较小的区域,并关闭通道子集以计算这些不太重要区域中的激活。与静态网络剪枝不同,静态网络剪枝在推理之前移除冗余权重或神经元,通道选通在运行时以结构化方式利用特定于每个输入的动态稀疏性。为了最大限度地节省计算量,同时最小化精度损失,通道选通通过训练自动学习选通阈值和权重。实验结果表明,所提出的方法可以显著提高现有网络的速度,但精度损失很小,并且可以在性能和精度之间进行权衡。本文还表明,信道选通可以通过CNN加速器的一小部分扩展来支持,并实现了量化ResNet-18模型的原型。当理论触发器减少量为2.8×时,加速器的平均加速比为2.3×ImageNet,表明硬件可以有效地利用通道gatin暴露的动态稀疏性
• SparTen: A Sparse Tensor Accelerator for Convolutional Neural Networks //73
卷积神经网络(CNN)正在成为图像处理的有力工具。最近的机器学习工作通过利用特征映射和过滤器中自然出现和主动转换的零,减少了CNN的计算量和数据量。以前的半稀疏体系结构利用特征映射或过滤器中的单侧稀疏性,但不能同时利用两者,而最近的完全稀疏体系结构,称为稀疏CNN(SCNN),利用双侧稀疏性提高密集体系结构的性能和能量。然而,稀疏CNN中的一个关键原语稀疏向量点积,使用SCNN所采用的表示方法将效率低下。点积需要在两个稀疏向量中的匹配位置查找和访问非零元素——一个内部连接,使用位置作为键,使用单个值字段。SCNN通过执行捕获相关乘法的笛卡尔积来避免内部联接。然而,SCNN的方法会产生相当大的开销,不适用于非单位步长卷积。此外,利用稀疏CNN中的重用从根本上导致SCNN无法解决的系统负载不平衡。我们提出了SparTen,它通过支持本地双边稀疏执行和内存存储来实现高效的内部连接。为了解决负载不平衡问题,SparTen采用了一种称为贪婪平衡(贪婪平衡)的软件方案,该方案通过两种变体按密度对过滤器进行分组,一种是仅使用软件的方案,使用整个过滤器密度,另一种是使用更细粒度密度的软硬件混合方案。我们的模拟表明,平均而言,SparTen的性能分别比密集体系结构、单边稀疏体系结构和SCNN高4.7倍、1.8倍和3倍。FPGA实现表明,SparTen的性能分别比密集体系结构和单边稀疏体系结构高4.3倍和1.9倍。
• eCNN: a Block-Based and Highly-Parallel CNN Accelerator for Edge Inference //15
卷积神经网络(CNN)最近在计算成像应用中表现出了优异的质量。因此,他们有巨大的潜力彻底改变摄像机和显示器上的图像管道。然而,传统的CNN加速器很难在边缘支持超高分辨率视频,因为它们具有相当大的DRAM带宽和功耗。因此,找到进一步的内存和计算效率高的微体系结构对于加速这场即将到来的革命至关重要。
在本文中,我们通过综合考虑推理流程、网络模型、指令集和处理器设计来实现这一目标,以优化硬件性能和图像质量。我们采用了一种基于块的推理流程,该流程可以消除特征映射的所有DRAM带宽,并相应地提出了一种面向硬件的网络模型ERNet,以基于硬件约束优化图像质量。然后,我们设计了一种粗粒度指令集体系结构FBISA,通过大规模并行性来支持耗电卷积。最后,我们实现了一个嵌入式处理器——eCNN,它以灵活的处理架构适应ERNet和FBISA。布局结果表明,它可以支持高质量的ERNET,以高达4K Ultra HD 30 fps的速度进行超分辨率和去噪,而仅使用DDR-400,平均功耗为6.94W。相比之下,最先进的Diffy采用双通道DDR3-2133,功耗为54.3W,以支持全高清30 fps的低质量VDSR。最后,我们还将展示高性能样式转换和对象识别的应用示例,以展示eCNN的灵活性。
• SuperNPU: An Extremely Fast Neural Processing Unit Using Superconducting Logic Devices //7
超导体单通量量子(SFQ)逻辑家族由于其超快和低功耗的开关特性,被认为是后摩尔时代极具前景的解决方案。因此,研究人员在各个方面做出了巨大的努力来推广该技术并使其电路设计过程自动化(例如,低成本制造、设计工具开发)。然而,由于建筑师对该技术在体系结构层面的潜力和局限性缺乏了解,因此在设计令人信服的基于SFQ的体系结构单元方面没有任何进展。在本文中,我们将介绍如何通过提供具有极端性能的神经处理单元(NPU)的设计原则来构建基于SFQ的体系结构单元。为了实现这一目标,我们首先实现了一个体系结构级的模拟器来精确地建模基于SFQ的NPU。我们使用我们的模具级原型、设计工具和逻辑单元库验证该模型。该模拟器精确测量NPU的性能、功耗、面积和冷却开销。接下来,在建模的推动下,我们确定了设计性能高效的基于SFQ的NPU(例如,昂贵的片上数据移动和缓冲)的关键架构挑战。最后,我们介绍了SuperNPU,我们的基于SFQ的NPU架构示例,它有效地解决了这些挑战。我们的评估表明,所提出的设计优于传统的先进NPU 23倍。由于量子计算提供了免费冷却,每片芯片的性能提高了490倍。我们的方法也可以应用于其他具有SFQ友好特性的架构设计。
• Procrustes: A Dataflow and Accelerator for Sparse Deep Neural Network Training //8
DNN修剪的成功导致了高效节能推理加速器的发展,该加速器支持具有稀疏权重和激活张量的修剪模型。然而,由于这些体系结构中的内存布局和数据流针对推理期间的访问模式进行了优化,因此它们不能有效地支持新兴的稀疏训练技术。在本文中,我们证明(a)加速稀疏训练需要一种协同设计方法,其中算法适应硬件的约束,(b)稀疏DNN训练的硬件必须处理推理加速器中没有出现的约束。作为概念证明,我们采用了稀疏训练算法来适应硬件加速;然后,我们开发数据流、数据布局和负载平衡技术来加速它。由此产生的系统是一个稀疏DNN训练加速器,它生成的修剪模型与稠密模型具有相同的精度,而无需先训练,然后修剪,最后再训练稠密模型。与使用最先进的DNN加速器在没有稀疏训练支持的情况下训练等效的未运行模型相比,Procrustes在一系列模型中消耗的能量少3.26倍,加速比高达4倍,同时将权重修剪一个数量级,并保持未运行的准确性。
• DUET: Boosting Deep Neural Network Efficiency on Dual-Module Architecture //7
深度神经网络(DNN)已经成为机器学习应用的主流。然而,由于各种DNN模型的计算密集型和内存密集型执行模式,在具有严格延迟要求和能量限制的现代硬件上部署DNN具有挑战性。我们提出了一种算法架构协同设计来提高DNN的执行效率。利用DNN中非线性激活函数的抗噪声能力,我们提出了双模块处理,使用从原始DNN层学习的近似模块来计算不敏感激活。因此,我们可以节省昂贵的计算和不必要的敏感激活的数据访问。然后,我们设计了一个执行器-投机者双模块体系结构,支持平衡执行和内存访问减少。在可接受的模型推理质量退化情况下,我们的加速器设计可以实现计算约束卷积神经网络(CNN)和记忆约束递归神经网络(RNN)2.24倍的加速比和1.97倍的能效改进。
• TFE: Energy-Efficient Transferred Filter-Based Engine to Compress and Accelerate Convolutional Neural Networks //5
尽管卷积神经网络(CNN)模型极大地促进了许多领域的发展,但这些模型中难以维持的参数和计算数量在硬件实现中带来了巨大的性能和能量挑战。基于转移滤波器的方法,作为一种非常有前途的技术,在体系结构领域尚未被探索,可以大大压缩CNN模型。然而,它们直接的硬件实现固有地会带来大量冗余计算,导致大量的能源和时间消耗。在这项工作中,开发了一种高效的基于传输滤波器的引擎(TFE)来缓解这一不足,并对CNN模型进行压缩和加速。首先,CNN模型的过滤器根据具体任务灵活转移,以减小模型尺寸。然后,在TFE中提出了两种硬件友好的机制来消除由传输滤波器引起的重复计算,从而进一步加速传输CNN模型。第一种机制利用隐藏在传输的滤波器的每一行中的共享权重,并重用相应的相同部分和,从而减少每一行中至少25%的重复计算。第二种机制可以智能地调度和访问内存系统,以便在消除至少25%的计算的情况下重用传输的滤波器的不同行之间的重复部分和。此外,TFE中还提出了一种高效的硬件架构,以充分利用两种机制的优点,从而灵活支持不同类型的网络。为了获得较高的能量效率,提出了基于子阵列的滤波器映射方法(SAFM),其中过程元素(PE)子阵列作为基本计算单元来支持各种滤波器。其中,可以在每个PE子阵列中高效地广播输入数据,并且可以从每个PE中剥离并集中减轻负载,这可以显著降低面积和功耗。除了采用深度卷积的类似MobileNet的网络外,大多数主流网络都可以通过建议的TFE进行压缩和加速。利用TFE实现了两种最先进的基于转移滤波器的方法,即双CNN和对称CNN。与Eyeris相比,各种现代CNN的卷积层的平均加速比分别提高了2.93倍和3.17倍。总体能源效率平均可提高12.66倍和13.31倍。与其他最先进的相关工程相比,在VGGNet上,TFE可以最大限度地实现4.0×的参数缩减、2.72×的加速比和10.74×的能效提升。
• TensorDash: Exploiting Sparsity to Accelerate Deep Neural Network Training //13
TensorDash是一种基于硬件的技术,使数据并行MAC单元能够利用其输入操作数流中的稀疏性。当TensorDash用于构建用于深度学习的硬件加速器时,它可以加快训练过程,同时提高能效。TensorDash将低成本的稀疏输入操作数互连与区域高效硬件调度器相结合。调度器可以有效地提取激活、权重和梯度中的稀疏性。在涵盖各种应用的一系列最先进的模型中,TensorDash以不到5%的面积开销与Tensorcore加速器相结合,使培训过程加快了1.95倍,同时提高了1.5倍的能效。TensorDash是数据类型不可知的,我们用IEEE标准混合精度浮点单元和一种流行的机器学习浮点格式(BFloat16)来演示它。
• SAVE: Sparsity-Aware Vector Engine for Accelerating DNN Training and Inference on CPUs //11
广义矩阵乘法(GEMM)是深层神经网络(DNN)中的关键运算。虽然密集GEMM有效地使用SIMD CPU,但稀疏GEMM的效率要低得多,特别是在DNN推理/训练中常见的适度非结构化稀疏级别上。因此,大多数DNN使用密集GEMM。在本文中,我们提出了一种新的CPU向量引擎SAVE,它可以有效地跳过密集DNN实现中由于稀疏性而导致的无效计算。SAVE对矢量管道的硬件扩展对软件是透明的。SAVE从权重和激活两方面加速具有非结构化稀疏性的FP32和混合精度内核。此外,SAVE不是DNN特定的,并且可能会以稀疏性加速任何向量工作负载。为了评估SAVE,我们使用了一台28核机器的模拟,并运行VGG16、ResNet-50和GNMT,有无修剪。使用真实稀疏度,SAVE将推理速度提高1.37x-1.68x,端到端训练速度提高1.28x-1.64x。
• ConfuciuX: Autonomous Hardware Resource Assignment for DNN Accelerators using Reinforcement Learning //19
DNN加速器通过在DNN计算过程中重用激活/权重/输出来降低数据从DRAM到芯片的移动,从而提高效率。重用由加速器的数据流捕获。虽然在探索和比较各种数据流方面已有大量的前期工作,但在满足感兴趣的DNN的面积/功率平台约束的同时,为给定的数据流分配片上硬件资源(即计算和内存)的策略仍相对未探索。正如我们在这项工作中所展示的,平衡计算和内存的选择设计空间组合爆炸(例如,运行MobileNet-V2的选择多达O(10 72)个),这使得通过穷举搜索进行手动调优变得不可行。鉴于不同的DNN和层类型表现出不同的重用量,也很难提出具体的启发式方法。在本文中,我们提出了一种称为Con-fuciuX的自治策略,以找到给定模型和数据流样式的优化硬件资源分配。ConfuciuX利用强化学习方法REINFORCE来指导搜索过程,在培训循环中利用详细的硬件性能成本模型来估计奖励。我们还使用遗传算法对RL方法进行了扩充,以进一步进行微调。与其他技术(如贝叶斯优化、遗传算法、模拟退火和其他RL方法)相比,Con-fuciuX证明了最高的样本训练效率。它收敛到优化硬件配置的速度比其他技术快4.7到24倍。
• Mix and Match: A Novel FPGA-Centric Deep Neural Network Quantization Framework //9
深度神经网络(DNN)在各个应用领域都取得了卓越的性能。为了支持不同的DNN模型,广泛研究了在边缘计算平台(如ASIC、FPGA和嵌入式系统)上有效实现DNN推理。由于模型规模和计算量巨大,模型压缩是在边缘设备上部署DNN模型的关键步骤。本文主要讨论权重量化,这是一种硬件友好的模型压缩方法,是对权重修剪的补充。与现有方法对所有权重使用相同的量化方案不同,我们提出了第一种解决方案,对权重矩阵的不同行应用不同的量化方案。其动机是:(1)不同行中的权重分布不相同;(2)实现异构FPGA硬件资源更好利用的潜力。为了实现这一点,我们首先提出了一种硬件友好的量化方案,称为2次幂和(SP2),适用于类高斯权重分布,其中乘法算法可以用逻辑移位器和加法器代替,从而实现了FPGA LUT资源的高效实现。相比之下,现有的定点量化方法适用于均匀的类权重分布,并且可以通过DSP有效地实现。然后,为了充分利用这些资源,我们提出了一种以FPGA为中心的混合方案量化(MSQ),其中集成了所提出的SP2和定点方案。由于更好地匹配权重分布,结合这两种方案可以保持甚至提高精度。对于FPGA实现,我们开发了一种具有异构广义矩阵乘法(GEMM)的参数化体系结构核心一个使用LUT进行SP2量化权重计算,另一个使用DSP进行定点量化权重计算。在基于资源特征的两种方案之间给定分配比的情况下,MSQ量化训练算法导出了用于FPGA实现的最佳量化模型。我们跨多个应用领域评估以FPGA为中心的量化框架。在两个FPGA设备(即Zynq XC7Z020和XC7Z045)上实现了最佳SP2/定点比率,与单独使用DSP进行所有乘法运算相比,我们实现了2.1×-4.1×的性能改进。此外,与最先进的设计相比,采用所提出的MSQ方案的CNN实现可以实现更高的精度和可比的硬件利用效率。
• η-LSTM: Co-Designing Highly-Efficient Large LSTM Training via Exploiting Memory-Saving and Architectural Design Opportunities //3
最近,递归神经网络或其最流行的类型——长短时记忆(LSTM)网络——在广泛的现实应用领域取得了巨大成功,如自动驾驶、自然语言处理、情绪分析和流行病学。由于现实任务的复杂性,为了提高学习能力和预测精度,现有的LSTM模型变得越来越大、越来越复杂。然而,通过我们对最先进的通用深度学习加速器的深入描述,我们观察到,随着模型尺寸的增加,LSTM培训执行在存储、性能和能耗方面变得效率低下。通过进一步的算法和架构分析,我们确定了大型LSTM培训效率低下的根本原因:大量的中间变量。为了为不断增长的模型规模提供高效的LSTM培训解决方案,我们利用LSTM培训过程中的一些独特内存节约和性能改进机会,并利用这些机会为大型LSTM模型提出第一个跨堆栈培训解决方案η-LSTM。η-LSTM包括软件级和硬件级创新,有效降低大型LSTM训练期间的内存占用上限和过度数据移动,同时显著提高训练性能和能源效率。在六个真实大型LSTM训练基准上的实验结果表明,η-LSTM平均减少所需内存占用57.5%(高达75.8%),并使权重矩阵、激活数据和中间变量的数据移动分别减少40.9%、32.9%和80.0%。此外,在LSTM培训方面,它的性能平均优于最先进的GPU实现3.99×(高达5.73×),在能源方面平均优于2.75×(高达4.25)。我们希望这项工作能对如何为未来的NPU设计高逻辑利用率提供一些启示。
• FuseKNA: Fused Kernel Convolution based Accelerator for Deep Neural Networks //0
位串行计算已成为一种流行的卷积方法,通过将多位数据切片为多个1位数据,并将乘法转换为多个加法(零位加法无效),来加速变精度DNN,而非零位的添加是重复的,因为多个内核很可能在相同的内核位置拥有非零位。以前的位串行加速器只通过跳过零位的计算来消除无效的加法,然而,重复加法无法消除,因为它们独立地计算每个内核的卷积。在这项工作中,我们提出了融合核卷积算法,通过利用卷积层和完全连接层的比特重复和比特稀疏性,消除比特串行计算中无效和重复的加法。它将多个核的卷积统一为一个融合核的卷积,首先将加法分为不同的模式,然后重建卷积结果,从而最小化加法计数。同时,由于卷积计数的减少,激活和部分和的内存访问也减少了。然后,利用紧凑的计算逻辑设计了一个基于融合核卷积的加速器FuseKNA,该加速器充分利用了激活的值稀疏性和权重的位稀疏性。以一组主流DNN为基准,FuseKNA在最先进的条纹、实用性和比特战术性基础上,性能提高了4.47倍、2.31倍和1.81倍,能效提高了4.13倍、3.06倍和2.53倍
• Layerweaver: Maximizing Resource Utilization of Neural Processing Units via Layer-Wise Scheduling //3
为了满足对深度学习推理服务激增的需求,许多云计算供应商采用了高性能的专用加速器,称为神经处理单元(NPU)。有效利用NPU的一个重要挑战是在具有不同算术强度的广谱深度神经网络(DNN)模型上实现高资源利用率。NPU的计算内存带宽比与其执行的模型的算术强度之间通常存在内在的不匹配,从而导致计算资源或内存带宽的利用率不足。理想情况下,我们希望使计算TOP/s和DRAM带宽达到饱和,以实现高系统吞吐量。因此,我们提出了Layerweaver,这是一种推理服务系统,为NPU提供了一种新的多模型时间复用调度器。Layerweaver通过将具有相反特征的多个不同模型的层执行交织在一起,减少了计算资源的时间浪费:计算密集型和内存密集型。Layerweaver通过将内存密集型模型的内存时间与计算密集型模型相对较长的计算时间重叠来隐藏内存密集型模型的内存时间,从而最小化等待片外数据传输的计算单元的空闲时间。对于具有16对不同计算和内存密集型模型的批处理1的双模型服务场景,Layerweaver将计算单元和内存通道的时间利用率分别提高了44.0%和28.7%,与一次执行一个模型的基线相比,系统吞吐量平均提高了60.1%。
• CSCNN: Algorithm-hardware Co-design for CNN Accelerators using Centrosymmetric Filters //1
卷积神经网络(CNN)是计算机视觉、语音和文本处理中许多最先进的深度学习模型的核心。训练和部署这种基于CNN的架构通常需要大量的计算资源。稀疏性已成为减少CNN数据量和计算量的有效压缩方法。然而,稀疏性常常导致计算不规则,这使得加速器无法充分利用其在性能和能量改善方面的优势。在本文中,我们提出了CSCNN,一种用于CNN压缩和加速的算法/硬件协同设计框架,它可以减轻计算不规则性的影响,并提供更好的性能和能量效率。在算法方面,CSCNN使用中心对称矩阵作为卷积滤波器。通过这样做,它将所需权重的数量减少了近50%,并在不影响规则性和准确性的情况下实现结构化计算重用。此外,利用互补修剪技术进一步减少2.8-7.2倍的计算量,但精度损失较小。在硬件方面,我们提出了一种CSCNN加速器,它有效地利用了由中心对称滤波器实现的结构化计算重用,并进一步消除了零计算以提高性能和能源效率。与密集加速器SCNN和SparTen相比,该加速器的性能分别提高了3.7倍、1.6倍和1.3倍,能量延迟积分别提高了8.9倍、2.8倍和2.0倍。
• Ascend: a Scalable and Unified Architecture for Ubiquitous Deep Neural Network Computing//0
深度神经网络(DNN)已成功应用于各种各样的应用,从小型物联网设备到数据中心的大规模服务。为了提高处理这些DNN模型的效率,所有这些场景都需要专用的硬件加速器。理论上,每个应用程序都有一个优化的加速体系结构。然而,考虑到芯片设计和相应工具链开发的成本,研究人员需要在效率和通用性之间进行权衡。在这项工作中,我们证明了使用一种称为Ascend的统一体系结构来支持这些应用程序是切实可行的,从物联网设备到数据中心服务。我们提供了大量的设计细节来解释Ascend的成功依赖于不同层次的贡献。首先,采用异构计算单元来支持各种DNN模型。并根据计算和数据访问的需要对数据路径进行了调整。其次,当将Ascend体系结构从单个核心扩展到包含数千个核心的集群时,它涉及到设计工作,例如内存层次结构和系统级集成。第三,为开发人员提供灵活选择的多层编译器是最后一个关键部分。实验结果表明,使用基于Ascend体系结构的加速器可以在不同的应用中获得相当甚至更好的性能。此外,基于Ascend架构的各种芯片已成功商业化。超过1亿个芯片已经用于实际产品中。

浙公网安备 33010602011771号