Core Concepts
SpikeExplorer is a flexible and modular Python tool that automates the multi-objective optimization of Spiking Neural Network (SNN) accelerators targeting FPGA implementations, enabling the exploration of optimal network architectures, neuron models, and training parameters to meet desired constraints on accuracy, power, latency, and area.
Abstract
SpikeExplorer is a hardware-oriented Design Space Exploration (DSE) framework for automating the configuration and optimization of Spiking Neural Network (SNN) accelerators targeting FPGA implementations. The tool supports multi-objective optimization, allowing users to explore trade-offs between accuracy, power consumption, latency, and area utilization.
The key highlights and insights are:
SpikeExplorer provides a modular and flexible architecture that supports a range of neuron models, including Integrate-and-Fire (IF), Leaky Integrate-and-Fire (LIF), and synaptic models, with the ability to customize the neuron characteristics.
The DSE engine at the core of SpikeExplorer employs Bayesian optimization to efficiently explore the design space, which includes network architecture, neuron models, and training parameters. This enables rapid convergence towards optimal configurations.
The tool provides comprehensive performance estimation for the explored SNN architectures, including accuracy, power consumption, latency, and area utilization, to guide the optimization process.
Experimental results on three benchmark datasets (MNIST, Spiking Heidelberg Digits, and DVS128) demonstrate SpikeExplorer's ability to identify optimal SNN configurations that balance the trade-offs between the target metrics. For the MNIST dataset, SpikeExplorer reached 95.8% accuracy with a power consumption of 180mW/image and a latency of 0.12ms/image.
A hardware synthesis of the optimized MNIST architecture using the Spiker+ framework shows that SpikeExplorer can effectively enhance the design of FPGA accelerators for SNNs, outperforming state-of-the-art designs in terms of power, latency, and energy efficiency while maintaining high accuracy.
Overall, SpikeExplorer simplifies the complex task of configuring and optimizing SNN accelerators for FPGA, enabling designers to rapidly explore the design space and identify the most suitable trade-offs for their target applications.
Stats
The power consumption of the optimized MNIST architecture is 180mW/image.
The latency of the optimized MNIST architecture is 0.12ms/image.
Quotes
"SpikeExplorer demonstrates its capability to enhance the design of FPGA accelerators for SNNs, simplifying the selection of the optimal architecture and effectively tailoring it to the desired application."