中文 英语

内存内计算加速器的上端网络设计权衡

随着更多的数据需要更快地处理,计算范式发生了变化。

受欢迎程度

数据量的爆炸式增长,再加上移动数据对性能和功耗的负面影响,重新激起了人们对内存中处理的兴趣,将其作为在内存和处理器之间来回移动数据的替代方案。

Compute-in-memory(CIM)阵列基于传统的存储器元素,如DRAM和NAND闪存,以及新兴的非易失性存储器,如ReRAM而且相变存储器,都是正在考虑作为神经网络计算的加速器。

虽然多年来对此进行了大量讨论,但实现在很大程度上仅限于面向设备的研究项目,这些项目通常使用小型的概念验证网络。设计人员刚刚开始将CIM加速器概念整合到针对复杂问题设计的商业规模网络中。这些更大的网络突出了传统CMOS加速器和内存计算方法之间的差异,并显示了能量消耗、速度和精度之间的权衡可能会发生变化。

大型和小型神经网络都基于相同的原理基本概念.要分析的数据被分解成元素,这些元素可以分布在一个节点数组中——图像识别任务的像素,或者预测问题的参数。网络由两层或多层节点组成,这些节点可以以各种不同的方式相互连接。

在全连接层中,层a中的每个节点都连接到层b中的每个节点卷积的层,定义一个“过滤器”,将a层的一小部分分配给b层的每个节点。在任何一种情况下,a层的每个节点将其数据元素乘以预先确定的权重。然后,层B中的每个节点接收所有连接到它的A层节点的这些乘积的和。(例如,节点B1=一个1+一个2+…n)。反过来,B层中的节点将这些值乘以它们分配的权重,并将结果传递给C层中的相应节点,以此类推,网络中有多少层就有多少层。

最终结果可能会将输入数据分配到几个类别之一,或者描述系统如何响应给定的一组输入参数。在监督学习中,“正确的”最终结果是已知的,误差被用来“反向传播”调整到各个权重。在推理任务中,权重不变。网络只是报告一个结果。

大型网络可能有五层或更多层,每层可能有数百或数千个节点。因此,虽然单个的乘法-累积(MAC)步骤——“将A层中的节点乘以数据,求和,并发送到B层”——非常简单,但它们被重复了大量次。在传统架构中,每个MAC步骤都包括将相关数据和权重从内存读取到处理器,执行计算,并将结果写回内存。这种“冯·诺伊曼瓶颈占据了神经网络任务的整体性能和能量消耗。

CIM加速器寻求解决这一瓶颈。具体细节因加速器设计而异,但基本思想是整个层的权重存储在内存数组中。数据向量同时应用于所有节点,结果从数组的输出行中读取。许多MAC步骤同时发生。无论是在传统的dram中还是在非易失性存储器元件中,权重都是半永久存储的。基于忆阻器的阵列的支持者经常引用它们的能力来实现非常高的元素密度,通过“交叉条”方法,将忆阻器元素放置在字线和位线网格的交叉点。

CIM加速器能扩展吗?
这种方法在概念上很容易理解。忆阻元件将模拟权重存储为电阻。数据采用电压激活输入线路的形式,并且基尔霍夫电流定律以电流形式给出结果。然而,将这种方法扩展到具有商业价值的网络则更为复杂。密歇根大学(University of Michigan)的王启文(Qiwen Wang)及其同事指出,在实践中,由于需要处理相对较大的电流,阵列的尺寸可能受到限制。在12月的IEEE电子设备会议上,他们提出了一项解决方案使用平铺的ReRAM数组来累积所需的节点总数。单个磁片的大小取决于器件特性和设计可以容纳的输出电流的大小。系统将每个瓷砖的部分产品相加以产生最终结果。

另一方面,Imec的研究人员提出了一种基于改进DRAM单元的阵列,其中两个IGZO(铟镓氧化锌)晶体管作为电流源来表示权重。由输入数据定义的一系列脉冲激活电流源,为与每个节点相关的电容器充电。结果,电流x时间=电荷,可以被一个标准的模数转换器捕获。明尼苏达大学(University of Minnesota)的第三个小组认为,3D NAND闪存设备的工艺成熟度使其成为领先的候选产品。他们提供了他们所谓的第一次展示基于标准逻辑过程的嵌入式NAND闪存神经形态芯片。

无论采用哪种方法,使用CIM加速器的设计将与传统CMOS设计不同地平衡能源消耗、临界面积和性能。虽然MAC步骤在传统架构中主导了总体性能,但它们在CIM设计中非常高效和快速。相反,激活输入行和收集结果是限制步骤。大部分计算工作落在外围模拟/数字和数字/模拟转换器上,它们比存储阵列更少的面积和节能。

CIM架构中MAC步骤的相对效率也会影响网络设计的其他方面。例如,数字网络通常会尽量减少每个网络层的节点数量,以减少MAC步骤的数量。然后他们使用多层来达到可接受的精度。相反,在CIM加速器中,相反的方法似乎能得到更好的结果。更大的层允许更多并行操作,并针对ReRAM等设备的非理想行为构建更多冗余。层数更少的浅层网络似乎累积的错误更少,从而给出更可靠的结果。类似地,在CIM体系结构中增加阵列利用率可以减少激活步骤的数量并促进数据重用。

结论
尽管大小网络,无论是数字网络还是模拟网络,都依赖于相同的基本算法,但很明显,性能、延迟和能源消耗都取决于底层硬件。与使用CIM加速器作为常规方法的临时替代品不同,设计人员需要通过他们试图解决的具体问题来评估这两种方法的优缺点。本文的第二部分将根据ReRAM设备的局限性来研究精度和噪声容限。

相关的
扩展内存计算加速器
新的研究指出了后冯·诺伊曼时代的进步和问题。
内存计算知识中心
头条新闻,特别报道,视频和更多关于内存计算
内存计算
为什么这种方法在今天如此有趣,以及它真正需要什么。
内存处理工作吗?
绕过冯·诺依曼架构的改变可能是低功耗ML硬件的关键。
提高内存
是否可以关闭处理器/内存瓶颈,或者是否需要重新架构应用程序以避免它?



留下回复


(注:此名称将公开显示)

Baidu