神经网络加速器简述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在广泛的领域中,机器学习的任务变得越来越广泛,在一个广泛的系统(从嵌入式系
统到数据中心)。同时,一系列的机器学习算法(尤其是卷积和的深度神经网络,即,CNN和DNNs)被证明在许多应用中是最先进的。异构多核架构的进化方向组成的混
合内核和加速器,机器学习的加速器可以实现效率的罕见的组合(由于目标算法的小
数目),应用范围广。
到现在为止,大多数机器学习加速器的设计都集中在有效地实现算法的计算部分。然而,最近的国家的最先进的神经网络和DNNs的特点是大尺寸。在这项研究中,我们
设计了大型CNN和DNNs加速器,特别强调存储器对加速器设计的影响,性能和能量。
我们表明它有可能具有高吞吐量加速器的设计,能够进行452的GPO的(关键网络业务如突触权重乘法和神经元的输出增加)在一个小的3.02平方毫米的足迹和485毫瓦;相比128位2GHz的SIMD处理器,加速器117.87x更快,它可以通过21.08x减少总
能量。布局在65nm后获得了加速器的特点。这样的高吞吐量,在一个小的足迹可以
打开使用的国家的最先进的机器学习算法,在一组广泛的系统和广泛的应用。
1.随着体系结构的发展对异构多核组成的混合的核心和加速器,设计加速器,实现最
佳的灵活性和效率之间的权衡,成为一个突出的问题。
第一个问题是哪一类的应用程序的主要设计加速器?随着架构的趋势走向加速器,一
秒的同时和显着的趋势,在高性能和嵌入式应用的发展:许多新兴的高性能和嵌入式
应用,从图像/视频/音频识别到自动翻译,业务分析,和所有形式的机器人依靠机器
学习技术。这种趋势甚至开始渗透在我们的社区里,原来的一半左右的差距[ 2 ]基准
部分介绍,突出新类型的应用程序的出现一套房,可以使用机器学习算法实现[ 4 ]。
这种趋势在应用程序中的一个小数量的技术,基于神经网络(特别是卷积神经网络
[ 16 ]和深神经网络),已经证明了在过去几年中已经证明了一个小数量的技术,在过去的几年中,在机器学习的国家,在广泛的应用[ 25 ],在机器学习,这是一个同样显着的趋势。因此,有一个独特的机会,设计加速器,可以实现最佳的两个世界:显着
的应用范围在一起,高性能和效率,由于数量有限的目标算法。
目前,这些工作大多是基于SIMD [ 41 ]多核GPU执行,[ 5 ],[ 3 ]或FPGA。然而,
上述趋势已经被一些人提出了加速器的卷积神经网络和多层感知器[ 3 ] [ 38 ]实施人员确定;加速器专注于其他领域,如图像处理,也提出了一些机器学习算法使用的原语
的有效实现,如卷积[ 33 ]。其他人提出的ASIC实现的卷积神经网络[ 13 ],或其他自定义神经网络算法[ 21 ]。然而,所有这些作品都第一,成功有效地实施,重点计算原语,但他们要么自愿忽略存储器传送简单的[ 33,38 ]的缘故,或者他们直接把计算加速器内存通过或多或少的DMA [ 3,13,21 ]。
而计算原语的有效实施是一个可喜的成果的重要的第一步,低效的存储转移可能无效
的吞吐量,加速器,即能量或成本优势,一个Amdahl定律的影响,因此,他们应该
成为一阶的关注,就像在处理器,而不是一个元素的因素在第二步加速器设计。与处
理器不同的是,一个可以在目标算法中的内存传输的特定性质的因素,就像它是做加
速计算。这是特别重要的,在机器学习领域有一个明确的趋势,扩大规模的神经网络,以达到更好的精度和更多的功能[ 16,26 ]。
在这项研究中,我们研究了加速器的设计,可容纳最受欢迎的国家的最先进的算法,即,卷积神经网络(CNN)和深层神经网络(DNNs)。我们专注于内存使用的加速器的设计,我们研究了加速器的架构和控制,以尽量减少内存传输,并尽可能有效地执
行它们。我们目前在65nm可以并行执行496个1.02ns,即16位定点运算的一个设计,452个共和党的,在3.02mm2,485mw足迹(不包括内存访问)。在最大的10
层发现最近CNN和DNNs,这个加速器是117.87x更快、更节能的21.08x(包括内存访问)平均比128位SIMD核心主频为2GHz。
总之,我们的主要贡献是以下:
•合成(布局布线)大型CNN和DNNs加速器的设计,先进的机器学习算法。
•该加速器在小面积,功率和能量占用方面达到很高的吞吐量。
加速器的设计着重于存储器行为,并测量不受计算任务,这些因素在性能和能量存储
传输的影响。
论文组织如下。在2节中,我们首先提供了一个新的机器学习技术,主要介绍底层组
成CNN和DNNs。在3节中,我们分析和优化这些层的记忆行为,在准备的基线和加
速器设计。在4节中,我们解释了为什么一个大型CNN或DNNs ASIC实现不能作为
小网络简单的ASIC实现相同。我们在5节介绍我们的加速器设计。该方法是在第6节,实验结果在7节,相关的工作在8节。
神经网络的训练依靠反向传播算法:最开始输入层输入特征向量,网络层层计算获得输出,输
出层发现输出和正确的类号不一样,这时它就让最后一层神经元进行参数调整,最后一层神经
元不仅自己调整参数,还会勒令连接它的倒数第二层神经元调整,层层往回退着调整。经过调
整的网络会在样本上继续测试,如果输出还是老分错,继续来一轮回退调整,直到网络输出满
意为止。
寒武纪1号:DianNao
陈天石等人提出的DianNao是寒武纪系列的第一个原型处理器结构[13],包含一个处
理器核,主频为0.98GHz,峰值性能达每秒4520亿次神经网络基本运算(如加法、乘法等),65nm工艺下功耗为0.485W,面积3.02mm2(如图3所示)。在若干代表性神经网络上的实