Neural networks (NNs) are capable of learning complex patterns and relationships in data to make predictions with high accuracy, making them useful for various tasks. However, NNs are both computation-intensive and memory-intensive methods, making them challenging for edge applications. To accelerate the most common operations (matrix-vector multiplication) in NNs, hardware accelerator architectures such as computation-in-memory (CiM) with non-volatile memristive crossbars are utilized. Although they offer benefits such as power efficiency, parallelism, and nonvolatility, they suffer from various faults and variations, both during manufacturing and lifetime operations. This can lead to faulty computations and, in turn, degradation of post-mapping inference accuracy, which is unacceptable for many applications, including safety-critical applications. Therefore, proper testing of NN hardware accelerators is required. In this paper, we propose a \emph{one-shot} testing approach that can test NNs accelerated on memristive crossbars with only one test vector, making it very suitable for online testing applications. Our approach can consistently achieve $100\%$ fault coverage across several large topologies with up to $201$ layers and challenging tasks like semantic segmentation. Nevertheless, compared to existing methods, the fault coverage is improved by up to $24\%$, the memory overhead is only $0.0123$ MB, a reduction of up to $19980\times$ and the number of test vectors is reduced by $10000\times$.
翻译:神经网络(NNs)能够学习数据中的复杂模式与关系并实现高精度预测,因而被广泛应用于各类任务。然而,神经网络具有高计算强度与高内存需求的特点,使其在边缘应用中面临挑战。为加速神经网络中最常见的运算(矩阵-向量乘法),业界采用了计算存储融合架构(CiM)结合非易失性忆阻交叉开关阵列等硬件加速器方案。尽管此类方案在能效、并行性与非易失性方面具有优势,但在制造及生命周期运行中易受多种故障与变异影响,导致计算错误,进而降低映射后推理精度——这对包括安全关键性应用在内的许多场景是不可接受的。因此,对神经网络硬件加速器进行有效测试至关重要。本文提出一种基于单次测试向量的测试方法,仅需一个测试向量即可检测忆阻交叉开关阵列加速的神经网络,特别适用于在线测试场景。该方法在包含多达201层的大型拓扑结构及语义分割等挑战性任务中,始终能实现100%的故障覆盖率。与现有方法相比,该方法将故障覆盖率提升最高达24%,内存开销仅0.0123 MB(缩减最高达19980倍),且测试向量数量减少10000倍。