acm-header
登录

ACM通信

研究突出了

电脑家族:机器学习的节能硬件加速器


DianNao家庭,说明

来源:iStockPhoto.com

机器学习(ML)任务在广泛的应用程序和广泛的系统(从嵌入式系统到数据中心)中越来越普遍。随着计算机体系结构向混合内核和硬件加速器组成的异构多核发展,为ML技术设计硬件加速器可以同时实现高效率和广泛的应用范围。

虽然高效的计算原式对于硬件加速器很重要,但低效率的内存传输可能会潜在地丧失加速器的吞吐量、能量或成本优势,即Amdahl定律效应,因此,它们应该成为一阶关注的问题,就像在处理器中一样,而不是加速器设计中第二步考虑的元素。在本文中,我们介绍了为ML(特别是神经网络)设计的一系列硬件加速器(即DianNao家族),特别强调了内存对加速器设计、性能和能量的影响。我们证明,在一些具有代表性的神经网络层上,对于64芯片的大电脑系统(电脑家族的一员),可以实现GPU的450.65倍的加速,并平均减少150.31倍的能量。

回到顶部

1.简介

随着体系结构向由混合核心和加速器组成的异构多核发展,设计能够在灵活性和效率之间实现最佳折衷的硬件加速器正成为一个突出的问题。第一个问题是,我们应该主要为哪一类应用程序设计加速器?与加速器的架构趋势一起,高性能和嵌入式应用程序的第二个同步且重要的趋势正在发展:许多新兴的高性能和嵌入式应用程序,从图像/视频/音频识别到自动翻译、业务分析和机器人都依赖于此机器学习技术.这一应用趋势与机器学习(ML)的第三个趋势相结合,其中少量的技术,基于神经网络(特别是深度学习技术1626),在过去几年已被证明是最先进的应用范围广泛。因此,设计具有重要应用范围以及高性能和高效率的加速器是一个独特的机会。4

目前,ML工作负载大多使用SIMD在多核上执行,44在gpu,7或fpga。2然而,研究人员已经发现了上述趋势,他们提出了实现加速器的方案,例如卷积神经网络(CNNs)。2或多层感知器43;专注于其他领域(如图像处理)的加速器还提出了机器学习技术使用的一些计算原语(如卷积)的高效实现。37ML技术也有ASIC实现,如支持向量机和cnn。然而,所有这些工作都首先并成功地关注于有效地实现计算原语,但它们要么为了简单而自愿忽略了内存传输,3743或者直接通过比较复杂的DMA将计算加速器插入内存。21219

虽然有效地实现计算原式是具有良好效果的第一步,也是重要的一步,但低效率的内存传输可能会潜在地丧失加速器的吞吐量、能量或成本优势,即Amdahl定律效应,因此,它们应该成为一阶考虑因素,就像在处理器中一样,而不是加速器设计中第二步考虑的元素。与处理器不同的是,我们可以在目标算法中考虑内存传输的特定性质,就像加速计算一样。这在ML领域尤其重要,因为有一个明显的趋势,就是扩大学习模型的规模,以实现更好的准确性和更多的功能。1624

在本文中,我们介绍了为ML(特别是神经网络)设计的一系列硬件加速器,包括电脑、大电脑、实电脑和蒲电脑表1.我们将研究重点放在内存使用上,并研究加速器架构以最小化内存传输并尽可能高效地执行它们。

回到顶部

2.神经网络加速器

神经网络技术在过去几年中已被证明是最先进的,跨越了广泛的应用范围。电脑是电脑加速器家族的第一个成员,它容纳了最先进的神经网络技术(如深度学习)一个),继承了神经网络广阔的应用范围。

*2.1.体系结构

DianNao有以下组件:用于输入神经元的输入缓冲区(NBin),用于输出神经元的输出缓冲区(NBout),以及用于突触权重的第三个缓冲区(SB),连接到一个计算块(执行突触和神经元计算),我们称之为神经功能单元(NFU),以及控制逻辑(CP),参见图1

神经功能单元。NFU实现了一个功能块T输入/突触和Tn输出神经元,可由不同算法神经元块共享时间。根据层类型的不同,NFU的计算可以分为两个或三个阶段。对于分类器层和卷积层:突触x输入的乘法,所有乘法的加法,sigmoid。最后阶段(sigmoid或其他非线性函数)的性质可以不同。对于池化层,没有乘法(没有突触),池化操作可以是平均的或最大的。注意,加法有多个输入,它们实际上是加法器的树木,请参阅图1;第二阶段还包含用于池化层的移位器和Max操作符。在NFU中,sigmoid函数(用于分类器和卷积层)可以通过分段线性插值(f (x) =× x + bx (x;xx + 1),精度损失可以忽略不计(16段就足够了)。22

片上存储。电脑的片上存储结构可以理解为挠性垫的改进缓冲器。虽然缓存对于通用处理器来说是一种优秀的存储结构,但由于缓存访问开销(标记检查、结合性、行大小、投机性读取等)和缓存冲突,它是利用重用的次优方法。有效的替代方案是scratchpad,它用于VLIW处理器,但众所周知,它非常难以编译。然而,在专用加速器中的一个简易装置实现了两个世界的最佳效果:高效存储,高效且容易地利用局部性,因为只需要手动调整少数算法。

我们将片上存储分为三种结构(NBin、NBout和SB),因为有三种类型的数据(输入神经元、输出神经元和突触)具有不同的特征(例如,读取宽度和重用距离)。分割结构的第一个好处是将sram调整为适当的读/写宽度,而分割存储结构的第二个好处是避免在缓存中发生的冲突。此外,我们实现了三个DMA来利用数据的空间局部性,每个缓冲区一个DMA(两个装载DMA用于输入,一个存储DMA用于输出)。

*2.2.循环瓷砖

DianNao利用循环平铺最小化内存访问,从而有效地适应大型神经网络。为了简洁起见,这里我们只讨论一个分类器层bNn输出神经元,完全连接N输入。我们现在在图2分类器的原始代码,以及将分类器层映射到电脑的平铺代码。

在平铺的代码中,循环2而且神经网络反映了上述事实,NFU是一个功能块T输入/突触和Tn输出神经元。另一方面,每个输出神经元都重用了输入神经元,但由于输入神经元的数量可能在几十到数十万之间,它们通常不适合DianNao的NBin大小。因此,我们进一步瓷砖循环2(输入神经元)与瓦因子T2.平铺的一个典型的权衡是改进一个引用(这里神经元)增加另一个引用的重用距离(总和n),因此我们也需要对第二个参考进行平铺,从而形成循环nnn还有平铺因子T神经网络对于输出神经元的部分和。层记忆行为现在由突触主导。在分类器层中,所有的突触通常都是惟一的,因此在该层中没有重用。总的来说,平铺大大降低了分类器层的总内存带宽需求,我们在实证研究中观察到减少了50%。5

*2.3.实验观察

我们实现了一个自定义的周期精确,位精确的加速器的c++模拟器。这个模拟器也用来测量周期数的时间。它被插入到一个主内存模型,允许带宽高达250gb /s。我们还实现了加速器的Verilog版本,它使用TnT= 16(16个硬件神经元,每个神经元有16个突触),因此设计包含256个16位截断乘法器(用于分类器和卷积层),16个加法器树,每个加法器树有15个加法器(用于相同层,如果使用平均值,则加上池化层),以及一个16输入移位器和Max(用于池化层),16个16位截断乘法器加上16个加法器(用于分类器和卷积层,并可选用于池化层)。对于分类器层和卷积层,乘法树和加法树每循环活动,实现每循环256 + 16 × 15 = 496个定点运算;在0.98 GHz下,这相当于452 GOP/s(每秒Giga定点运算)。我们已经用Synopsys工具在65纳米处完成了加速器的合成和布局图3

我们使用GEM5+McPAT实现了一个SIMD基线27组合。我们使用一个4 issue的x86超标量核心,带有128位(8 × 16位)SIMD单元(SSE/SSE2),时钟为2 GHz。按照GEM5的默认设置,核心具有192个条目的重新排序缓冲区和64个条目的加载/存储队列。L1数据(和指令)缓存是32 KB, L2缓存是2 MB;这两个缓存都是8路关联的,并使用64字节行;这些缓存特性与英特尔酷睿i7一致。此外,我们还使用NVIDIA K20M (28 nm工艺,5 GB GDDR5, 3.52 TFlops峰值)作为GPU基线。

我们采用了几个有代表性的图层设置作为我们实验的基准,见表2.我们报告在图4电脑在SIMD和GPU上的加速。我们观察到电脑的性能明显优于SIMD,平均加速为117.87主要原因有两个方面。首先,DianNao每个周期对分类器层和卷积层执行496个16位操作,即多62倍cacm5911_r.gif高于SIMD基线的峰值性能。其次,与没有预取器的SIMD基线相比,由于在NBin和SB缓冲区中适当地结合了预加载和重用,DianNao具有更好的耐延迟能力。

图5,我们提供电脑在SIMD和GPU上的能量缩减。我们观察到电脑的平均能耗比SIMD低21.08倍。这个数字实际上比之前报道的处理器和加速器之间的能量比小了不止一个数量级;例如Hameed等人。15报告的能量比约为500倍,而小型多层感知机的能量比为974x。43较小的比例主要是由于内存访问所消耗的能量,这在前面两个研究中是自愿不考虑的。就像在这两个加速器和其他加速器中一样,通过组合更有效的计算运算符(特别是在我们的例子中大量的小型16位定点截断乘数)和位于运算符附近的小型自定义存储器(64入口NBin、NBout、SB和NFU-2寄存器),计算的能量成本已经大大降低。因此,现在有一个阿姆达尔定律的能量效应,任何进一步的改进只能通过降低主存储器访问的能量成本来实现。我们尝试人为地将SIMD和加速器中主存储器访问的能量成本设置为0,我们观察到加速器的平均能量降低增加了一个数量级以上,这与前面的结果一致。

我们还在实验研究中探索了电脑的不同参数设置,我们改变了NFU的大小以及NBin, NBout,和SB的大小。例如,我们用Tn= 8(即NFU只有8个硬件神经元),因此NFU-1中有64个乘数。我们相应地减少了所有缓冲区的宽度以适应NFU。因此,该设计的总面积为0.85毫米2,比的情况小3.59倍Tn= 16。

回到顶部

3.Dadiannao:机器学习超级计算机

在ML社区,有一个显著的趋势,就是越来越大的神经网络。Krizhevsky等人最近的工作。20.在ImageNet数据库上取得了很好的准确性8“只有”6000万个参数。最近有一些10亿参数神经网络的例子。24虽然电脑可以执行不同尺度的神经网络,但在容纳大型神经网络时,必须将神经元和突触的值存储在主存中。频繁的主存访问极大地限制了电脑的性能和能效。

虽然从ML的角度来看,10亿个或更多的参数可能是一个很大的数字,但重要的是要认识到,事实上,这不是从硬件的角度来看:如果每个参数需要64位,那只对应8gb(有明确的迹象表明,更少的位就足够了)。虽然8gb对于单个芯片来说还是太大了,但是可以想象一个由多个芯片组成的专用ML计算机,每个芯片包含专门的逻辑和足够的RAM,所有芯片的RAM之和可以包含整个神经网络,需要没有内存

在大型神经网络中,最基本的问题是两种层的突触的内存存储(用于重用)或带宽需求(用于获取):具有私有核的卷积层和分类器层(通常是完全连接的,因此有很多突触)。在大神经中,我们采用以下设计原则来解决这个问题:(1)我们创建了一个架构,让突触始终存储在使用它们的神经元附近,最大限度地减少数据移动,节省时间和精力;架构是完全分布式的,没有主内存(Swanson.采用了类似的数据流计算策略41);(2)我们创建了一个非对称的体系结构,其中每个节点的内存占用极大地偏向于存储而不是计算;(3)我们传输神经元值而不是突触值,因为前者在上述层中比后者少几个数量级,需要相对较少的外部(跨芯片)带宽;(4)我们通过将本地存储分解成多个块来实现高内部带宽。

大电脑的总体架构是一组节点,每个芯片一个节点,所有节点都相同,以经典的网格拓扑结构排列。每个节点都包含重要的存储,特别是对于突触和神经计算单元(经典的通过线性插值实现的乘法器、加法器树和非线性函数的管道),为了与电脑加速器保持一致,我们仍然称其为NFU。5这里我们简要介绍节点体系结构的一些关键特征。

基于题目的组织。将所有功能单元(如加法器和乘法器)放在一个计算块(NFU)中是一个可接受的设计选择,当NFU有一个适度的面积时,即电脑的情况。然而,如果我们大幅扩展NFU, NFU和片上存储之间的数据移动将需要非常高的内部带宽(即使我们分割片上存储),从而导致不可接受的巨大布线开销。6为了解决这个问题,我们在每个节点中采用了基于瓦片的组织,参见图6.每个贴图包含一个NFU和四个内存库,用于存储神经元之间的突触。

当容纳一个神经网络层时,输出神经元分布在不同的瓦片中,这样每个NFU可以同时处理16个输出神经元的16个输入神经元(256个并行操作)。所有的瓦都通过一个胖树连接,该胖树用于将输入的神经元值广播到每个瓦,并从每个瓦收集输出的神经元值。在芯片的中心,有两个特殊的RAM库,一个用于输入神经元,另一个用于输出神经元。重要的是要明白,即使有大量的瓷砖和芯片,总数量硬件所有nfu的输出神经元,与在大层中发现的神经元的实际数量相比仍然是小的。因此,对于广播到所有贴图的每一组输入神经元,在同一个硬件神经元上计算多个不同的输出神经元。这些神经元的中间值被本地保存在tile RAM中。当输出神经元的计算完成时(所有输入神经元都已被分解),该值通过脂肪树发送到芯片的中心到相应的(输出神经元)中央RAM库。

存储。在一些已知的最大的神经网络中,一层所需的存储大小通常在小于1mb到大约1gb之间,其中大多数在几十MB之间。虽然sram适合于缓存目的,但它们的密度不足以实现如此大规模的存储。然而,众所周知edram具有更高的存储密度。例如,10mb的SRAM内存需要20.73 mm2在28 nm,30.而相同尺寸和相同技术节点的eDRAM内存则需要7.27 mm245也就是说,存储密度提高了2.85倍。在每个大电脑节点中,我们实现了16个磁贴,所有磁贴都使用edram作为片上存储。每个贴图有四个eDRAM库(参见图6),每个银行包含1024行4096位,因此每个瓦的总eDRAM容量为4 × 1024 × 4096 = 2 MB图6)的大小为4mb,因此,节点eDRAM总容量为16 × 2 + 4 = 36mb。

互连。因为神经元是唯一被传输的值,而且这些值在每个节点中被大量重用,所以通信量虽然很大,但通常不会成为瓶颈。因此,我们没有为我们的目的开发定制的高速互连,而是转向了商用的高性能接口,并使用了HyperTransport (HT) 2.0 IP块。多节点大电脑系统采用简单的二维网格拓扑结构,因此每个芯片必须通过四个HT2.0 IP块连接到四个邻居。

我们实现了一个自定义的周期精确位精确的c++模拟器,用于大电脑体系结构的性能评估。我们还实现了一个Verilog版本的DaDianNao节点,并在28nm工艺上完成了合成和布局(参见图7对于节点布局)。节点(芯片),606兆赫,消耗面积67.73毫米2,峰值性能为5585 GOP/s。我们评估了一个多达64个芯片的架构。在一个最大的现有神经网络层的样本上,我们证明了单个DaDianNao节点实现了的加速21.38x的NVIDIA K20M GPU,减少能源330.56x平均;64节点系统的加速达到450.65x的NVIDIA K20M GPU,减少能源150.31平均x。6

回到顶部

4.卷积神经网络的低功率加速器

DaDianNao针对高性能的ML应用,在每个节点集成edram,避免了对主存的访问。事实上,同样的原则也适用于嵌入式系统,其中能量消耗是必须考虑的一个关键维度。在最近的一项研究中,我们专注于图像在嵌入式系统中的应用,并设计了一个专用加速器(ShiDianNao9),这是一项名为CNN的最先进的深度学习技术。26

在一大类cnn中,假设(一个特征图的)每个神经元股票它与其他神经元的权重,使得权重的总数远远小于完全连接的网络。例如,最先进的CNN有6000万磅重21而不是多达10亿24甚至有100亿美元用于最先进的深度网络。这个简单的属性可以对我们产生深远的影响:我们知道最高的能量消耗与内存行为相关,特别是主内存(DRAM)访问,而不是计算。40由于CNN中权重的内存占用很小,可以在功能单元旁边的小片上SRAM中存储整个CNN,因此,不再需要通过DRAM内存访问来获取CNN模型(权重)以处理每个输入。

由于没有DRAM访问,再加上对cnn内特定数据访问模式的仔细开发,我们设计的ShiDianNao加速器比电脑加速器节能60倍。图8).我们提出了一个完整的设计到布局在65纳米工艺,面积4.86毫米2功率为320兆瓦,但仍比NVIDIA K20M GPU快30倍以上。详细的ShiDianNao体系结构在第42届ACM/IEEE计算机体系结构国际研讨会(ISCA’15)上发表。9

回到顶部

5.Pudiannao:一个多价机器学习加速器

虽然对许多不同的ML任务都有效,但是点神经、大点神经和点神经只能适应神经网络。然而,神经网络可能并不总是在每个应用场景中的最佳选择,即使不考虑它们的高计算复杂性。例如,在对线性可分数据的分类中,复杂的神经网络很容易变得过拟合,其性能比线性分类器差。在金融量化交易等应用领域,线性回归模型具有简单、可解释性好等优点,比神经网络应用更广泛。3.著名的“没有免费午餐”定理,虽然是在一定的理论假设下发展起来的,但它很好地总结了上述情况:任何学习技术都不能普遍优于另一种学习技术。46在这种情况下,进一步扩展DianNao/DaDianNao以支持一篮子不同的ML技术是一个自然的想法,扩展后的加速器将比它的祖先拥有更广泛的应用范围。

PuDianNao是一种硬件加速器,容纳了七种典型的ML技术,即:k则,k-NN,朴素贝叶斯,支持向量机,线性回归,分类树,深度神经网络。PuDianNao由几个功能单元(FUs)、三个数据缓冲区(HotBuf、ColdBuf和OutputBuf)、一个指令缓冲区(InstBuf)、一个控制模块和一个DMA组成,参见图9.机器学习功能单元(MLU)被设计为支持几种基本但重要的计算原语。见图10,该MLU被划分为6个管道阶段(计数器、加法器、乘法器、加法器树、Acc和Misc),所选阶段的不同组合协同计算具有代表性的ML技术中常见的原语,如点积、距离计算、计数、排序、非线性函数(如sigmoid和tanh)等。此外,还有一些不太常见的操作不被mlu支持(例如,除法和条件赋值),它们将被小型算术逻辑单元(alu)支持。

另一方面,循环平铺可以有效地利用ML技术的数据局部性(如2.2节所述)。对于不同ML技术的平铺版本,我们进一步观察到变量的平均重用距离通常集中在两个或三个类中。28因此,我们在PuDianNao加速器中放置了三个独立的片上数据缓冲区:HotBuf、ColdBuf和OutputBuf。HotBuf存储重用距离较短的输入数据,ColdBuf存储重用距离较长的输入数据,OutputBuf存储输出数据或临时结果。

我们实现了一个周期精确的C模拟器和一个Verilog版本的加速器,它集成了16个mlu(每个mlu有49个加法器和17个乘数器),一个8 KB的HotBuf (8 KB),一个16 KB的ColdBuf和一个8 KB的OutputBuf。PuDianNao在1 GHz频率下的峰值性能可达16 × (49 + 17) × 1 = 1056 GOP/s,几乎接近现代GPU的性能。我们已经用Synopsys工具在65 nm工艺下完成了蒲甸瑙的合成和布局,见图11的布局。7种代表性ML技术的13个关键阶段,28与Intel Xeon E5-4620 SIMD CPU (32 nm工艺)和NVIDIA K20M GPU (28 nm工艺)相比,PuDianNao的平均加速速度为21.29x和1.20x,分别。在功耗仅为0.596 W的情况下,“蒲电脑”的节能性能明显高于两条通用基线。

回到顶部

6.相关工作

由于登纳德尺度法的终结和暗硅的概念,1035架构定制越来越被视为最有前途的发展路径之一。到目前为止,重点特别放在了习俗上加速器.已经有很多成功的研究,要么是用ML逼近程序函数,11或者ML本身的加速度。叶.设计了一个k- FPGA上的nn加速器。47Manolakos和Stamoulias设计了两种高性能并行阵列架构k神经网络。3340也有专门的加速器k141834或者说支持向量机,136由于其在工业上的广泛应用。Majumdar.提出了一种名为MAPLE的加速器,可以加速神经网络、支持向量机和支持向量机这五个ML技术家族中的矩阵/向量和排序运算k则)。3132深度学习的最新进展23甚至引发了硬件神经网络的重生。132942然而,以前关于ML加速器的研究很少能同时解决(a)计算原语和(b)位置属性(c)各种有代表性的机器学习技术

回到顶部

7.结论

在本文中,我们对ML的硬件加速进行了深入的讨论。与以往主要关注实现ML技术的主要计算原语的研究不同,我们还优化了加速器的内存结构,以减少/删除主内存访问,这大大提高了ML的能源效率,与通用cpu或gpu构建的系统相比。

我们将神经网络(深度学习)技术投入了点神经、点神经、点神经,以实现效率(由于目标技术数量较少)和应用范围广泛的罕见结合。然而,由于著名的“没有免费午餐定理”,使用大规模神经网络可能并不总是一个有前途的选择,46以及不同应用场景下的不同需求。因此,我们还开发了PuDianNao加速器,它扩展了基本的DianNao体系结构,以支持一篮子7个ML技术。

本着“普典脑”的精神,我们将在今后的工作中进一步研究一种普适的ML加速器,目的是能高效地适应非常广泛的ML技术。对有代表性的ML技术进行全面的回顾,有助于提取这些技术背后常见的计算原语和局部性。然而,简单地匹配所有提取的算法特征的功能单元和内存结构的直接硬件实现可能是昂贵的,因为它集成了冗余组件,以抵制ML技术之间的显著差异。这个问题也许可以通过一个可重构ASIC加速器,它支持动态重新配置功能单元和内存结构,以适应不同的技术。这样的加速器只涉及适度数量的粗粒度可重构参数,这明显比具有数百万个控制参数的现场可编程门阵列(FPGA)更节能。

回到顶部

致谢

基金资助:中国国家科学基金(61133004、61303158、61432016、61472396、61473275、61522211、615222016、61521092)、中国973计划(2015CB358800)、中国科学院战略重点研究项目(XDA06010403、XDB02040009)、中国科学院国际合作重点项目(171111KYS-B20130002)、万人才计划、谷歌教师科研奖励项目;以及英特尔计算智能合作研究所(ICRI-CI)。

回到顶部

参考文献

1.卡丹比,杜尔达诺维奇,贾库拉,V.,桑卡拉达斯,M.,科萨托,E.,查克拉达哈尔,S.,格拉夫,hp支持向量机的大规模并行fpga协处理器。在第17届IEEE现场可编程自定义计算机研讨会,2009。FCCM 09年(2009);IEEE 115122。

2.Chakradhar, S., Sankaradas, M., Jakkula, V., Cadambi, S.用于卷积神经网络的动态可配置协处理器。在计算机体系结构国际研讨会(2010年6月,法国圣马洛)。ACM 38(3): 247257。

3.Chan E。算法交易:获胜策略及其基本原理.约翰·威利父子公司,2013年。

4.陈涛,陈勇,Duranton, M.,郭,Q., Hashmi, A., Lipasti, M., Nere, A., Qiu, S., Sebag, M., Temam, O. BenchNN:硬件神经网络加速器的广阔潜在应用范围。在工作量特性国际研讨会, 2012年。

5.陈涛,杜志,孙宁,王俊,吴晨,陈勇,Temam, O.电脑:一种用于无处不在机器学习的小足迹高通量加速器。在编程语言和操作系统体系结构支持国际会议(2014年3月)。ACM 49(4): 269284。

6.陈勇、罗涛、刘少思、张少思、何亮、王俊杰、李丽丽、陈涛、徐铮、孙宁、Temam、O.大电脑:一种机器学习超级计算机。在ACM/IEEE微架构国际研讨会(MICRO)(2014年12月)。IEEE计算机学会,609622。

7.王涛,吴丹杰,吴爱艳。深度学习与胶辊高性能计算系统。在机器学习国际会议, 2013: 13371345。

8.邓建军,董伟,苏彻,李丽娟,李丽娟。,Li, K., Fei-Fei, L. ImageNet: A large-scale hierarchical image database. In计算机视觉与模式识别会议(CVPR)(2009)。IEEE 248255。

9.杜中、法斯图伯、R、陈涛、艾妮、P、李亮、罗涛、冯X、陈旸、Temam、o。石殿敖:移动视觉处理更接近传感器。在第42届ACM/IEEE计算机体系结构国际研讨会论文集(ISCA'15)(2015)。ACM, 92104年。

10.Esmaeilzadeh, H., Blem, E., Amant, r.s., Sankaralingam, K., Burger, D.暗硅和多核扩展的终结。在第38届计算机体系结构国际研讨会论文集(2011年6月)。IEEE 365376。

11.Esmaeilzadeh, H., Sampson, A., Ceze, L., Burger, D.通用近似程序的神经加速。在2012年第45届IEEE/ACM国际微架构研讨会论文集(2012年12月)。IEEE计算机学会,449460。

12.Farabet, C., Martini, B., Corda, B., Akselrod, P., Culurciello, E., LeCun, Y. NeuFlow:用于视觉的运行时可重构数据流处理器。在CVPR车间(2011年6月)。IEEE 109116。

13.Farabet, C., Martini, B., Corda, B., Akselrod, P., Culurciello, E., LeCun, Y. Neuflow:用于视觉的运行时可重构数据流处理器。在2011年IEEE计算机学会计算机视觉与模式识别研讨会(2011)。IEEE 109116。

14.弗瑞,A.,德·阿劳霍,C.,爱丽丝,H.,塞奎拉,J.,洛雷罗,J.,德·利马,医学博士,奥利韦拉,M.,奥尔塔,M.等。利用k-means算法在可重构硬件上实现高光谱图像聚类。在第16届集成电路与系统设计研讨会论文集,2003。SBCCI 2003(2003)。IEEE 99104。

15.Hameed, R., Qadeer, W., Wachs, M., Azizi, O., Solomatnikov, A., Lee, B.C., Richardson, S., Kozyrakis, C., Horowitz, M.了解通用芯片的低效率来源。在计算机体系结构国际研讨会(纽约,纽约,美国,2010)。ACM, 38(3): 3747。

16.Hinton, G, Srivastava, N.通过防止特征检测器的共适应来改进神经网络。arXiv预印本arXiv:, 118, 2012。

17.Hussain, h.m., Benkrid, K., Seker, H., Erdogan, A.T.生物信息学应用的K -means算法的Fpga实现:一种聚类微阵列数据的加速方法。在2011年NASA/ESA自适应硬件和系统会议(AHS)(2011)。IEEE 248255。

18.Dennard之后的生活以及我是如何爱上Picojoule(基调)的。在微建筑国际研讨会,主题演讲,圣保罗,2011年12月。

19.Kim J.Y, Kim, M., Lee, S., Oh, J., Kim, K., Yoo h - j.a。带有生物神经感知引擎的GOPS 496 mW实时多目标识别处理器。固态电路学报, 1(2010年1月),3245。

20.Krizhevsky, A., Sutskever, I., Hinton, G.用深度卷积神经网络进行Imagenet分类。在神经信息处理系统的研究进展(2012), 19。

21.Krizhevsky, A., Sutskever, I., Hinton, G.用深度卷积神经网络进行ImageNet分类。在神经信息处理系统的研究进展(2012) 19。

22.Larkin, D, Kinane, A, O'Connor, N.E.面向移动设备上多媒体处理应用的神经进化硬件加速。在神经信息处理(2006)。施普林格,柏林海德堡,11781188。

23.使用大规模无监督学习构建高级功能。在2013年IEEE声学、语音和信号处理国际会议(2013)。IEEE 85958598。

24.Le, Q.V, Ranzato, M.A, Monga, R., Devin, M., Chen, K., Corrado, g.s., Dean, J., Ng, A.Y.使用大规模无监督学习构建高级别功能。在机器学习国际会议, 2012年6月。

25.LeCun, Y., Bengio, Y., Hintion, G.深度学习。自然521,7553(2015), 436444。

26.Lecun, Y., Bottou, L., Bengio, Y., Haffner, P.基于梯度的学习在文档识别中的应用。IEEE 86论文集11(1998), 22782324。

27.Li S, Ahn, j.h., Strong, r.d., Brockman, J.B, Tullsen, d.m., Jouppi, N.P. McPAT:一个用于多核和多核体系结构的集成功率、区域和时序建模框架。在第42届IEEE/ACM微架构国际研讨会论文集, MICRO 42(纽约,纽约,美国,2009)。ACM, 469480年。

28.刘东,陈涛,刘胜,周军,周胜,Teman, O,冯,X,周,X,陈勇。普典脑:多价机器学习加速器。在编程语言和操作系统体系结构支持国际会议(2015)。ACM, 369381年。

29.Maashri, a.a., Debole, M., Cotter, M., Chandramoorthy, N., Xiao, Y., Narayanan, V., Chakrabarti, C.用于识别的加速神经形态视觉算法。在第49届设计自动化年会论文集(2012)。ACM, 579584年。

30.Maeda, N., Komatsu, S., Morimoto, M., Shimazaki, Y. A 0.41使用全数字电流比较器在28 nm hkmg CMOS中使用低压恢复-备用的备用泄漏32 kb嵌入式SRAM。在超大规模集成电路国际研讨会, 2012年。

31.Majumdar, A., Cadambi, S., Becchi, M., Chakradhar, s.t., Graf, hp .一个用于学习和分类的大规模并行、节能的可编程加速器。ACM反式。拱门。Optim代码。(墨西哥)9, 1(2012), 6。

32.一个用于嵌入式学习和分类的高效异构系统。嵌入式系统信3,1(2011), 4245。

33.Manolakos, E.S, Stamoulias, I. KNN分类器的ip核设计。在2010年IEEE电路与系统国际研讨会论文集(2010)。IEEE 41334136。

34.可重构硬件上彩色图像的实时k均值聚类。在第十八届模式识别国际会议(ICPR)(2006年8月)。电子学报,卷2,816819。

35.黑硅和互联网。在EE Times“设计与ARM”虚拟会议,26, 70(2010), 285288。

36.Papadonikolakis, M, Bouganis, C.支持向量机训练的异构FPGA架构。在2010第18届IEEE现场可编程自定义计算机年度国际研讨会(2010年5月)。IEEE 211214。

37.Qadeer, W., Hameed, R., Shacham, O., Venkatesan, P., Kozyrakis, C., Horowitz, M.A.卷积引擎:专业计算中的平衡效率和灵活性。在计算机体系结构国际研讨会, 2013)。ACM, 41(3), 2435。

38.Sermanet, P., Chintala, S., LeCun, Y.卷积神经网络在门牌号码数字分类中的应用。在模式识别(ICPR),, 2012。

39.Sermanet, P., LeCun, Y.多尺度卷积网络交通标志识别。在神经网络国际联合会议(2011年7月)。IEEE 28092813。

40.Stamoulias, I., Manolakos, E.S. KNN分类器的并行架构设计的软IP核和FPGA实现。ACM嵌入式计算系统汇刊(TECS, 2(2013), 22。

41.斯旺森,S.,迈克尔逊,K.,施维林,A.,奥斯金,M.波卡卡尔。在ACM/IEEE微架构国际研讨会(MICRO)(2003年12月)。IEEE计算机学会,291。

42.Temam, O.神经网络的重生。在计算机体系结构国际研讨会,(2010)。

43.Temam, O.新兴高性能应用程序的容错加速器。在计算机体系结构国际研讨会(2012年9月)。波特兰,俄勒冈州,40(3),356367。

44.在深度学习和无监督特征学习工作坊(少量)(2011)。卷。1。

45.Wang, G., Anand, D., Butt, N., Cestero, A., Chudzik, M., Ervin, J., Fang, S., Freeman, G., Ho, H., Khan, B., Kim, B., Kong, W., Krishnan, R., Kim, B., Kwon, O., Liu, J., McStay, K., Nelson, E., Nummy, K., Parries, P., Sim, J., Takalkar, R., Tessier, A., Todi, R., Malik, R., stiler, S., Iyer, S.基于SOI的深沟槽扩展到32纳米及以上。在IEEE国际电子器件会议(2009)。IEEE 14。

46.学习算法之间缺乏先验区别。神经第一版。8, 7(1996), 13411390。

47.叶,Y.-J。,Li, H.-Y., Hwang, W.-J., Fang, C.-Y. Fpga implementation of KNN classifier based on wavelet transform and partial distance search. In图像分析(2007年6月)。施普林格柏林海德堡,512521。

回到顶部

作者

Yunji陈cyj@ict.ac.cn),中国科学院信息通信技术学院计算机体系结构科学研究院。

从陈chentianshi@ict.ac.cn),中国科学院信息通信技术学院计算机体系结构科学研究院。

给徐zxu@ict.ac.cn),中国科学院信息通信技术学院计算机体系结构科学研究院。

Ninghui太阳snh@ict.ac.cn),中国科学院信息通信技术学院计算机体系结构科学研究院。

奥利弗Temamolivier.temam@inria.fr), Inria Saclay,法国。

回到顶部

脚注

a.根据最近的审查25由勒昆、本吉奥和辛顿撰写,深度学习允许由多个处理层组成的计算模型学习具有多层抽象的数据表示。这些方法极大地提高了语音识别、视觉物体识别、物体检测以及药物发现和基因组学等许多其他领域的最新水平

b.读者可参考参考文献。5其他图层类型的详细信息。

本文的原始版本题为“DianNao:一个小足迹,高通量加速器的无所不在的机器学习”,并发表在编程语言和操作系统体系结构支持国际会议论文集49,4(2014年3月),ACM,纽约,NY, 269284。

回到顶部

数据

F1图1。电脑加速器架构。

F2图2。分类器层的伪代码(顶部:原始代码;底部:平铺的代码)。

F3图3。电脑的布局快照。

F4图4。电瑙比SIMD的加速。

F5图5。电脑在SIMD上的能量降低。

F6图6。DaDianNao架构:节点(左)的基于瓦片的组织和瓦片架构(右)。

F7图7。大网络的节点布局快照。

F8图8。时电脑的布局快照。

F9图9。普电瑙加速器架构。

F10图10。机器学习单元的实现。

季图11。蒲殿脑的布局快照。

回到顶部

T1表1。加速器在电脑家族。

T2表2。为电瑙的基准层。

回到顶部


©2016 0001 - 0782/16/11 ACM

允许为个人或课堂使用部分或全部作品制作数字或硬拷贝,但不得为盈利或商业利益而复制或分发,且副本在首页上附有本通知和完整的引用。除ACM外,本作品的其他组件的版权必须受到尊重。允许有信用的文摘。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,都需要事先获得特定的许可和/或费用。请求发布的权限permissions@acm.org传真(212)869-0481。

数字图书馆是由计算机协会出版的。版权所有©2016 ACM, Inc.


没有发现记录

Baidu
map