论文部分内容阅读
近年来,通用处理器的性能增长逐渐达到瓶颈,难以应对不断涌现的新兴应用场景需求。神经网络算法的蓬勃发展为新型计算系统架构的探索提供了广阔空间。“通用处理器+神经网络加速器”的异构计算系统,和以神经网络加速器为中心的人工智能计算系统,分别为通用计算和人工智能领域的专用计算带来了性能和能效更优的解决方案。神经网络加速器在这两类系统中的地位尤其重要。本文指出神经网络加速器设计在计算模式、计算架构和存储优化方面尚存在不足:需要建模计算模式与执行目标的数学关系,以便在不同的执行目标和网络结构下选择最优的计算模式;需要支持动态重构逻辑的计算架构,在网络内的各层执行时能灵活调整其计算模式,达到最优的执行效果;需要引入高密度存储器解决访存问题,而同时要对其带来的额外开销进行优化。本文针对以上需求,总结出两套神经网络加速器的优化设计方法:基于“计算模式-动态重构”的计算架构设计方法,和基于“器件特性-容错能力”的存储优化方法。以此为指导思想,本文主要完成三项研究工作:(1)本文设计了面向通用神经网络近似的神经网络计算架构RNA。RNA架构以降低计算延迟为执行目标,通过动态地重构硬件资源解决神经网络拓扑结构与固定的硬件资源间潜在的失配问题,相比于传统通用计算系统,可获得572倍的加速器性能加速比,和7.9倍的应用级加速比。(2)本文设计了面向专用人工智能领域的神经网络计算架构DNA。DNA架构以提高计算吞吐和能效为执行目标,通过动态地重构硬件资源实现混合数据复用模式和并行卷积映射方法,可获得高达93%的计算资源利用率和3.4倍的计算吞吐,相比于国际顶尖工作有1到2个数量级的系统能效提升。以DNA计算架构为基础的人工智能计算芯片Thinker已通过流片验证。(3)本文提出了基于数据保持时间的神经网络存储优化框架RANA。RANA框架利用神经网络算法的容错性和计算过程中的数据暂存性,在神经网络加速器中引入e DRAM高密度存储同时几乎不需要对其刷新,可减少41.7%的片外访存和66.2%的整体系统能耗。本文的三项研究工作与两套优化设计方法相辅相成。研究工作本身均已进行充分的实验验证,具备很高的实用价值。优化设计方法不仅为研究工作中提供了有力支撑,对神经网络加速器架构未来的研究方向同样具有指导意义。