To maximize the performance and energy efficiency of Spiking Neural Network (SNN) processing on resource-constrained embedded systems, specialized hardware accelerators/chips are employed. However, these SNN chips may suffer from permanent faults which can affect the functionality of weight memory and neuron behavior, thereby causing potentially significant accuracy degradation and system malfunctioning. Such permanent faults may come from manufacturing defects during the fabrication process, and/or from device/transistor damages (e.g., due to wear out) during the run-time operation. However, the impact of permanent faults in SNN chips and the respective mitigation techniques have not been thoroughly investigated yet. Toward this, we propose RescueSNN, a novel methodology to mitigate permanent faults in the compute engine of SNN chips without requiring additional retraining, thereby significantly cutting down the design time and retraining costs, while maintaining the throughput and quality. The key ideas of our RescueSNN methodology are (1) analyzing the characteristics of SNN under permanent faults; (2) leveraging this analysis to improve the SNN fault-tolerance through effective fault-aware mapping (FAM); and (3) devising lightweight hardware enhancements to support FAM. Our FAM technique leverages the fault map of SNN compute engine for (i) minimizing weight corruption when mapping weight bits on the faulty memory cells, and (ii) selectively employing faulty neurons that do not cause significant accuracy degradation to maintain accuracy and throughput, while considering the SNN operations and processing dataflow. The experimental results show that our RescueSNN improves accuracy by up to 80% while maintaining the throughput reduction below 25% in high fault rate (e.g., 0.5 of the potential fault locations), as compared to running SNNs on the faulty chip without mitigation.
翻译:为了在资源受限的嵌入式系统上最大化脉冲神经网络(SNN)处理的性能和能源效率,使用了专用的硬件加速器/芯片。然而,这些SNN芯片可能会遭受永久性故障,这可能会影响权重存储器和神经元行为的功能,从而导致可能显着的准确度降低和系统故障。这些永久性故障可能来自制造过程中的制造缺陷和/或运行时操作中的设备/晶体管损坏(例如由于磨损而引起)。然而,尚未彻底研究SNN芯片中永久性故障的影响和相应的缓解技术。因此,我们提出了RescueSNN,这是一种新颖的方法,可以在不需要额外的重新训练的情况下缓解SNN芯片计算引擎中的永久性故障,从而显著降低设计时间和重新训练成本,同时保持吞吐量和质量。 RescueSNN方法的关键思想是(1)分析永久性故障下的SNN特性;(2)利用这种分析提高SNN容错性能够有效地故障感知映射(FAM);和(3)设计轻量级硬件增强支持FAM。我们的FAM技术利用SNN计算引擎的故障图,以(i)在映射权重位于故障存储单元上时最小化权重破坏,以及(ii)有选择地使用不会导致显着准确度下降的有故障神经元来维护精度和吞吐量,同时考虑SNN操作和处理数据流。实验结果表明,与未缓解的有故障芯片上运行SNN相比,我们的RescueSNN在高故障率(例如潜在故障位置的0.5)下可将准确度提高高达80%,同时将吞吐量降低低于25%。