Architectures that incorporate Computing-in-Memory (CiM) using emerging non-volatile memory (NVM) devices have become strong contenders for deep neural network (DNN) acceleration due to their impressive energy efficiency. Yet, a significant challenge arises when using these emerging devices: they can show substantial variations during the weight-mapping process. This can severely impact DNN accuracy if not mitigated. A widely accepted remedy for imperfect weight mapping is the iterative write-verify approach, which involves verifying conductance values and adjusting devices if needed. In all existing publications, this procedure is applied to every individual device, resulting in a significant programming time overhead. In our research, we illustrate that only a small fraction of weights need this write-verify treatment for the corresponding devices and the DNN accuracy can be preserved, yielding a notable programming acceleration. Building on this, we introduce USWIM, a novel method based on the second derivative. It leverages a single iteration of forward and backpropagation to pinpoint the weights demanding write-verify. Through extensive tests on diverse DNN designs and datasets, USWIM manifests up to a 10x programming acceleration against the traditional exhaustive write-verify method, all while maintaining a similar accuracy level. Furthermore, compared to our earlier SWIM technique, USWIM excels, showing a 7x speedup when dealing with devices exhibiting non-uniform variations.
翻译:采用新兴非易失性存储器(NVM)器件的存内计算(CiM)架构因其卓越的能效已成为深度神经网络(DNN)加速的有力竞争者。然而,使用这些新兴器件时会出现一个重大挑战:在权重映射过程中可能表现出显著变异。若不加缓解,这将对DNN精度造成严重影响。针对不完美权重映射,一个广泛接受的补救方案是迭代写入验证方法——通过验证电导值并按需调整器件。现有文献中,该过程应用于每个独立器件,导致显著编程时间开销。我们的研究表明,仅需对少数权重对应的器件进行写入验证处理,即可保持DNN精度,从而显著加速编程过程。基于此,我们提出基于二阶导数的创新方法USWIM,该方法通过单次前向传播和反向传播迭代即可精准定位需要写入验证的权重。经过对不同DNN架构与数据集的广泛测试,USWIM相较于传统穷举写入验证方法实现了高达10倍的编程加速,同时保持同等精度水平。此外,相比我们之前提出的SWIM技术,USWIM在处理呈现非均匀变异的器件时展现出卓越性能,实现了7倍的加速提升。