论文标题
游泳:选择性写入计算中的计算神经加速器
SWIM: Selective Write-Verify for Computing-in-Memory Neural Accelerators
论文作者
论文摘要
基于非易失性新兴记忆的内存计算体系结构,由于其高能量效率,具有深度神经网络(DNN)加速的巨大潜力。但是,这些新兴设备在映射过程中可能会遇到重大差异,即对设备的编程权重),如果与设备进行编程权重),可能会导致明显的准确性降解。通过写入验证方案,即在必要时阅读电导和重写,可以通过迭代编程来补偿重量映射的非理想性。在所有现有的作品中,这种做法都适用于DNN的每个重量,这需要大量的编程时间。在这项工作中,我们表明,只需要选择一小部分的写入验证以维持DNN精度,从而实现明显的加速。我们进一步引入了基于第二个导数的技术游泳,该技术仅需要一个前进和反向传播,以有效地选择需要写入的权重。不同数据集的各种DNN体系结构的实验结果表明,与传统的全面写入验证相比,游泳可以达到10倍编程的速度,同时达到可比的精度。
Computing-in-Memory architectures based on non-volatile emerging memories have demonstrated great potential for deep neural network (DNN) acceleration thanks to their high energy efficiency. However, these emerging devices can suffer from significant variations during the mapping process i.e., programming weights to the devices), and if left undealt with, can cause significant accuracy degradation. The non-ideality of weight mapping can be compensated by iterative programming with a write-verify scheme, i.e., reading the conductance and rewriting if necessary. In all existing works, such a practice is applied to every single weight of a DNN as it is being mapped, which requires extensive programming time. In this work, we show that it is only necessary to select a small portion of the weights for write-verify to maintain the DNN accuracy, thus achieving significant speedup. We further introduce a second derivative based technique SWIM, which only requires a single pass of forward and backpropagation, to efficiently select the weights that need write-verify. Experimental results on various DNN architectures for different datasets show that SWIM can achieve up to 10x programming speedup compared with conventional full-blown write-verify while attaining a comparable accuracy.