1. What is the proposed method for generating compact functional test sets for SNN hardware accelerators?
The proposed method for generating compact functional test sets for SNN hardware accelerators involves using available samples from the training and testing sets as functional tests. A fault-agnostic metric is used to assess the fault detection capability of each sample based on how close the sample is to being misclassified. The underlying hypothesis is that such corner samples lying close to the classification hyper-boundary will be classified differently if a fault occurs, thus producing a distinguishing output compared to the nominal fault-free case. Based on this metric, test samples are cumulatively added according to their ranking, and it is demonstrated that compact functional test sets with the size of a few tens of tests can achieve 100% fault coverage of critical faults. A good percentage of benign faults can also be detected, which is beneficial since they are considered as reliability hazards. The proposed method can be used for fast post-manufacturing testing and can also be stored on-chip for periodical online testing in idle times. The method is demonstrated for SNNs at behavioral-level and on actual neuromorphic hardware.
read more
2. AI hardware accelerators testing methods?
AI hardware accelerators testing methods include DfT methods, test generation algorithms, symptom detectors, Selective Triple Modular Redundancy (TMR), algorithmic-based error detection, on-line test methods, behavioral-level fault modeling, fault injection experiments, weight bounding, neuron saturation faults, BIST technique, inherent fault resilience, fault-tolerance schemes, and functional test generation. These methods aim to detect faults, ensure fault tolerance, and improve the reliability of AI hardware accelerators. They are discussed in various research papers, such as [2], [17], [18], [19], [20], [11], [21], [22], [23], [24], [25], [13], [26], [27], [28], [29], [30], [31], [32], [33], [34], [16], [35], [36], [37], [38]. These methods are crucial for developing robust and reliable AI hardware accelerators for applications like SNNs.
read more
3. How do SNNs differ from traditional ANNs?
SNNs differ from traditional ANNs in the way information flows. In SNNs, information flows as spike trains propagating across network layers asynchronously, resembling the biological brain operation. Unlike ANNs, SNNs use the Integrate & Fire (I&F) neuron model, which integrates spikes from incoming synapses and fires a spike when the membrane potential exceeds a threshold. SNNs can also have refractory periods and leakage behavior. The synapse operation in SNNs is similar to biological synapses, where a synapse receives spikes and stimulates the membrane potential of post-synaptic neurons. SNNs are believed to offer faster inference and lower energy consumption compared to ANNs, but training them can be complex. The input type also differs, with SNNs processing continuous-time event flow instead of sequence of static frames.
read more
4. What is the proposed algorithm for SNNs functional test generation?
The proposed algorithm for SNNs functional test generation selects tests from the set of available samples in the training and testing sets. It ranks the input samples based on their scores, which are calculated using the firing rate as the classification criterion. The algorithm generates a test set of size T by considering the top T higher-score samples. It evaluates the cumulative fault coverage by sequentially adding the next top-ranked samples and dropping detected faults from the fault list. The algorithm stops adding samples when the fault coverage saturates. The size of the test set needed to reach 100% fault coverage for critical faults is in the order of a few tens of samples. The total number of inferences for test generation and fault coverage evaluation dominates the test generation time. The indicator function and fault coverage indicator are used to measure the detection of faults and the percentage of faults detected by a particular test, respectively. The global fault coverage of a test set is defined as the percentage of faults detected by all tests in the set.
read more