用于提高能量效率的错误感知运行时可配置存储器层级的系统和方法技术方案

技术编号:26173053 阅读:26 留言:0更新日期:2020-10-31 13:53
一种优化神经网络加速器(NNAccel)中的操作的方法(以及结构和计算机产品),所述神经网络加速器包括作为NNAccel的计算级的神经网络层的层级和可配置的存储器模块的层级,其中该存储器模块包括一个或多个片上静态随机存取存储器(SRAM)模块和一个或多个动态随机存取存储器(DRAM)模块,每个存储器模块由可由NNAccel的控制器调节的多个操作参数控制。该方法包括检测当前正在被NNAccel使用的存储器模块的误比特率,并且由控制器确定所检测的误比特率是否足以满足NNAccel的处理的准确度的预定阈值。当准确度低于预定阈值时,由控制器动态地改变一个或多个存储器模块的一个或多个操作参数,以移动到更高准确度的状态。

【技术实现步骤摘要】
用于提高能量效率的错误感知运行时可配置存储器层级的系统和方法
本专利技术涉及用于提高能量效率的错误感知运行时可配置存储器层级(memoryhierarchy)的系统和方法。
技术介绍
本专利技术总体上涉及神经网络加速器(NeuralNetworkAccelerator,NNAccel)。更具体地,错误控制单元使用与加速器相关联的错误简档(errorprofile)来确定作为动态闭环控制系统的存储器设备的可调参数的设置,以优化受制于(如通过准确度测量的)质量的约束的(如通过总能量消耗测量的)性能。
技术实现思路
分布式边缘计算包括将应用、数据和计算能力从集中点推向离用户更近的位置的任何类型的计算,从而提供更接近请求的低延迟。例如,在物联网(IoT)设备中,数据经由各种传感器从物理世界传入,并且经由各种形式的输出和执行器采取行动来改变状态。通过在边缘执行分析和知识生成,减少了受控制的系统和中央数据中心之间的通信带宽。在这种分布式边缘计算的范例中,边缘设备上的计算负载显著增加,尤其是在认知IoT领域。在本专利技术的上下文中,术语“认知”旨在指使用神经网络来执行的应用,使得神经网络加速器可以有益于实现神经网络功能。大多数最先进的认知加速器硬件预计将处理复杂的、多层深度神经网络(deepneuralnetwork,DNN),诸如AlexNet、ResNet和其他复杂的卷积神经网络(convolutionalneuralnetwork,CNN)。这些网络有很大的存储器需求,通常在几十兆字节(MB)的量级。在大多数情况下,以单片方式设计具有如此大的片上静态随机存取存储器(SRAM)的芯片是不切实际的。这导致不同存储器类型和不同容量的一个或多个级的存储器层级,诸如数十至数百千字节(KB)量级的片上SRAM和数十MB量级的动态随机存取存储器(DRAM)。这些存储器有不同的驱动旋钮(actuationknob),其在影响输出准确度的可靠性和影响能量的性能和功率之间进行折衷。本专利技术公开了一种闭环、运行时可配置技术,以优化整个存储器层级的能量,同时保持目标准确度。根据示例性实施例,本专利技术公开了一种优化神经网络加速器(NNAccel)中的操作的方法(以及装置和计算机产品),该神经网络加速器包括作为NNAccel的计算级(computationalstage)的神经网络层的层级和可配置的存储器模块的层级,该存储器模块包括一个或多个片上静态随机存取存储器(SRAM)模块和一个或多个动态随机存取存储器(DRAM)模块,每个存储器模块由可由NNAccel的控制器调节的多个操作参数控制。该方法包括:检测当前正在被NNAccel使用的存储模块的误比特率(biterrorrate);由控制器确定,所检测的误比特率是否足以满足NNAccel的处理的准确度的预定阈值;以及当准确度低于预定阈值时,由控制器动态地改变一个或多个存储器模块的一个或多个操作参数,以移动到更高准确度的状态。根据另一示例性实施例,本文还公开了一种神经网络加速器(NNAccel),包括:作为包括NNAccel的计算级的神经网络层的层级;以及可配置的存储器模块的层级,其中该存储器模块包括一个或多个片上静态随机存取存储器(SRAM)模块和一个或多个动态随机存取存储器(DRAM)模块,每个存储器模块由可由NNAccel的控制器调节的多个操作参数控制。控制器由控制方法来控制NNAccel,该控制方法包括:检测当前正在被NNAccel使用的存储器模块的误比特率;由控制器确定所检测的误比特率是否足以提供NNAccel的处理的准确度的预定阈值;以及当准确度低于预定阈值时,由控制器动态地改变一个或多个存储器模块的一个或多个操作参数,以移动到更高准确度的状态。根据又一示例性实施例,本文还公开了一种控制神经网络加速器(NNAccel)中的操作的方法,该神经网络加速器包括作为NNAccel的计算级的神经网络层的层级和可配置的存储器模块的层级,其中该存储器模块包括一个或多个片上静态随机存取存储器(SRAM)模块和一个或多个动态随机存取存储器(DRAM)模块,每个存储器模块由可由NNAccel的控制器调节的多个操作参数控制。该方法包括:检测反映NNAccel中的处理的质量的参数的当前值;由控制器确定该质量当前是否足以满足预定阈值质量;以及当该质量低于预定阈值时,由控制器动态地改变一个或多个操作参数,以移动到更高质量的状态。附图说明图1示例性地示出了用于解释本专利技术的具有可调参数的DNN;图2示例性地展示了推断准确度的概念;图3示出了本专利技术的示例性实施例;图4展示了静态(离线)状态空间探索和删减(pruning)以达到运行时配置;图5示出了本专利技术的示例性实施例的流程图;图6示出了对本专利技术更一般理解的流程图;图7示出了示例性系统实现;图8示出了根据本专利技术实施例的云计算环境;和图9描绘了根据本专利技术实施例的抽象模型层。具体实施方式为了解释本专利技术的概念,图1示例性地示出了具有存储器模块的层级的DNN加速器系统100,包括一个或多个SRAM(MS)模块106和一个或多个DRAM(MD)模块108,每个模块具有多个可调旋钮(电压、延迟、刷新率等),其可以折衷增加的误比特率以节省能量。加速器控制器110实现交替计算和存储器访问的阶段的过程,该过程分别涉及:对于存储器访问阶段,从远程存储器108引入到本地存储器106的输入数据,以及对于计算阶段,(a)片上计算元件104,诸如乘法累加单元104,以及(b)由DNN层102的权重和偏差定义的模型。在本专利技术中,除了控制存储器访问和计算阶段之外,控制器110还实现迭代反馈环路机制,其中整体输出质量度量,诸如在DNN应用的情况下的推断准确度,被动态地用于调整存储器层级106、108的每个级的操作旋钮。示例性实施例中所示的控制器110可以是微控制器或处理器。更一般地,对于图1所示的示例性实施例,加速器可以具有诸如控制器110的专用存储器控制器,或者在其他配置中,专用于控制路径操作的相关联的中央处理单元(CPU)将控制加速器的操作,包括涉及主计算机中的相关联的CPU的示例性配置,该主计算机除了管理加速器系统100之外还实现其他主计算机功能。在本专利技术的上下文中,术语“可调旋钮”或“操作旋钮”是指调节存储器模块106、108的一个或多个设置的能力,例如可由实现本专利技术的反馈环路的加速器控制器110访问。还要注意,DNN层102可以被实现为“有线”硬件组件,或者可以使用其他机制来实现,诸如例如,现场可编程门阵列(FPGA)。神经网络加速器的极低电压(Very-Low-Voltage,VLV)操作尽管降低存储器模块中的电压V可以导致V2量级的显著能量节省,但是这种降低的电压可以导致在存储器读出和写入操作中引入比特错误(如图2所示的错误灵敏度图200中示例性示出的),以及DNN层102的模型的改变。由于这些比特错误202而导致的模型配置或本文档来自技高网...

【技术保护点】
1.一种优化神经网络加速器(NNAccel)中的操作的方法,所述神经网络加速器包括作为NNAccel的计算级的神经网络层的层级和可配置的存储器模块的层级,所述存储器模块包括一个或多个片上静态随机存取存储器(SRAM)模块和一个或多个动态随机存取存储器(DRAM)模块,每个存储器模块由可由NNAccel的控制器调节的多个操作参数控制,所述方法包括:/n检测当前正在被NNAccel使用的存储器模块的误比特率;/n由所述控制器确定所检测的误比特率是否足以满足NNAccel的处理的准确度的预定阈值;和/n当所述准确度低于所述预定阈值时,由所述控制器动态地改变一个或多个存储器模块的一个或多个操作参数,以移动到更高准确度的状态。/n

【技术特征摘要】
20190425 US 16/394,2721.一种优化神经网络加速器(NNAccel)中的操作的方法,所述神经网络加速器包括作为NNAccel的计算级的神经网络层的层级和可配置的存储器模块的层级,所述存储器模块包括一个或多个片上静态随机存取存储器(SRAM)模块和一个或多个动态随机存取存储器(DRAM)模块,每个存储器模块由可由NNAccel的控制器调节的多个操作参数控制,所述方法包括:
检测当前正在被NNAccel使用的存储器模块的误比特率;
由所述控制器确定所检测的误比特率是否足以满足NNAccel的处理的准确度的预定阈值;和
当所述准确度低于所述预定阈值时,由所述控制器动态地改变一个或多个存储器模块的一个或多个操作参数,以移动到更高准确度的状态。


2.根据权利要求1所述的方法,其中,NNAccel包括人工智能(AI)加速器。


3.根据权利要求1所述的方法,其中,通过对来自所述存储器模块中的纠错码(ECC)单元的错误进行计数来检测误比特率。


4.根据权利要求1所述的方法,其中,误比特率由奇偶校验单元和内建自测试(BIST)单元中的一个来检测。


5.根据权利要求1所述的方法,其中,用于量化NNAccel的处理的准确度的度量包括NNAccel的推断准确度。


6.根据权利要求1所述的方法,还包括:
当确定NNAccel在预定准确度内操作时,由所述控制器进一步确定NNAccel是否在目标能量水平内操作;和
当NNAccel在所述目标能量水平之外操作时,由所述控制器动态地改变一个或多个存储器模块的一个或多个操作参数,以移动到更节能的状态。


7.根据权利要求1所述的方法,还包括:将参数值的组合的删减列表存储在NNAccel的非易失性存储器中,以提供NNAccel的可能的运行时配置的列表,所述列表中的每个配置标识用所述配置可实现的准确度的指示。


8.根据权利要求1所述的方法,其中,至少一个DRAM模块包括片外DRAM模块。


9.根据权利要求1所述的方法,所述方法在网络上的服务器上实现。


10.根据权利要求1所述的方法,所述方法被实现为云服务的一部分。


11.根据权利要求1所述的方法,所述方法在分布式边缘计算场景中实现,所述分布式边缘计算场景涉及物联网(IoT)设备的认知处理。


12.一种神经网络加速器(NNAccel),包括:
神经网络层的层级,其包括NNAccel的计算级;和
可配置的存储器模块的层级,所述存储器模块包括一个或多个片上静态随机存取存储器(SRAM)模块和一个或多个动态随机存取存储器(DRAM)模块,每个存储器模块由可由NNAccel的控制器调节的多个操作参数控制,
其中,所述控制器由控制方法来控制NNAccel,所述控制方法包括:
检测当前正在被NNAccel使用的存储器模块的误比特率;
由所述控制器确定所检测的误比特率是否足以提供NNAccel的处理的准确度的预定阈值;和
当所述准确度低于所述预定阈值时,由所述控制器动态地改变一个...

【专利技术属性】
技术研发人员:A布尤克托苏诺格鲁N钱德拉穆尔锡PJ奈尔KV斯瓦米纳坦
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1