Neuromorphic Intermediate Representation: A Unified Instruction Set for Interoperable Brain-Inspired Computing (2311.14641v2)
Abstract: Spiking neural networks and neuromorphic hardware platforms that simulate neuronal dynamics are getting wide attention and are being applied to many relevant problems using Machine Learning. Despite a well-established mathematical foundation for neural dynamics, there exists numerous software and hardware solutions and stacks whose variability makes it difficult to reproduce findings. Here, we establish a common reference frame for computations in digital neuromorphic systems, titled Neuromorphic Intermediate Representation (NIR). NIR defines a set of computational and composable model primitives as hybrid systems combining continuous-time dynamics and discrete events. By abstracting away assumptions around discretization and hardware constraints, NIR faithfully captures the computational model, while bridging differences between the evaluated implementation and the underlying mathematical formalism. NIR supports an unprecedented number of neuromorphic systems, which we demonstrate by reproducing three spiking neural network models of different complexity across 7 neuromorphic simulators and 4 digital hardware platforms. NIR decouples the development of neuromorphic hardware and software, enabling interoperability between platforms and improving accessibility to multiple neuromorphic technologies. We believe that NIR is a key next step in brain-inspired hardware-software co-evolution, enabling research towards the implementation of energy efficient computational principles of nervous systems. NIR is available at neuroir.org
- C. Mead. Neuromorphic electronic systems. Proceedings of the IEEE, 78(10):1629–1636, Oct 1990.
- Carver Mead. Neuromorphic engineering: In memory of misha mahowald. Neural Computation, 35(3):343–383, Feb 2023.
- Neuromorphic silicon neuron circuits. Frontiers in neuroscience, 5:9202, 2011.
- Opportunities for neuromorphic computing algorithms and applications. Nature Computational Science, 2(1):10–19, jan 2022.
- Bottom-up and top-down approaches for the design of neuromorphic processing systems: Tradeoffs and synergies between natural and artificial intelligence. Proceedings of the IEEE, 111(6):623–652, 2023.
- ONNX. Open neural network exchange, Aug 2023.
- Mlir: A compiler infrastructure for the end of moore’s law. ArXiv, abs/2002.11054, 2020.
- Google Developers Blog.
- Tvm: An automated end-to-end optimizing compiler for deep learning. In USENIX Symposium on Operating Systems Design and Implementation, 2018.
- Lava - a software framework for neuromorphic computing, October 2023.
- Nengo: a python tool for building large-scale functional brain models. Frontiers in Neuroinformatics, 7, 2014.
- Norse - A deep learning library for spiking neural networks, January 2021. Documentation: https://norse.ai/docs/.
- Rockpool documentaton, September 2019. https://rockpool.ai.
- SINABS: A simple Pytorch based SNN library specialised for Speck, 2023. https://github.com/synsense/sinabs.
- Training spiking neural networks using lessons from deep learning. Proceedings of the IEEE, 111(9):1016–1054, 2023.
- Kade Heckel. kmheckel/spyx: v0.1.0-beta, August 2023. https://doi.org/10.5281/zenodo.8241588.
- Efficient neuromorphic signal processing with loihi 2. In 2021 IEEE Workshop on Signal Processing Systems (SiPS), page 254–259, October 2021.
- Spinnaker 2: A 10 million core processor system for brain simulation and machine learning. ArXiv, November 2019.
- Sub-mw neuromorphic snn audio processing applications with rockpool and xylo. ArXiv, abs/2208.12991, 2022.
- The brain’s unique take on algorithms. Nature Communications, 14(11):4910, Aug 2023.
- Toward a formal theory for computing machines made out of whatever physics offers. Nature Communications, 14(11):4911, Aug 2023.
- Pycarl: A pynn interface for hardware-software co-simulation of spiking neural network. arXiv preprint arXiv:2003.09696, 2020.
- Interfacing neuromorphic hardware with machine learning frameworks - a review. In Proceedings of the 2023 International Conference on Neuromorphic Systems, ICONS ’23, New York, NY, USA, 2023. Association for Computing Machinery.
- Pynn: a common interface for neuronal network simulators. Frontiers in neuroinformatics, 2, 2009.
- LEMS: a language for expressing complex biological models in concise and hierarchical form and its use in underpinning NeuroML 2. Frontiers in Neuroinformatics, 8, 2014.
- Composing neural algorithms with fugu. In Proceedings of the International Conference on Neuromorphic Systems, ICONS ’19, page 1–8, New York, NY, USA, Jul 2019. Association for Computing Machinery.
- Charles Antony Richard Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–677, 1978.
- Efficient video and audio processing with loihi 2. arXiv preprint arXiv:2310.03251, 2023.
- Conversion of continuous-valued deep networks to efficient event-driven networks for image classification. Frontiers in neuroscience, 11:682, 2017.
- Nxtf: An api and compiler for deep spiking neural networks on intel loihi. ACM Journal on Emerging Technologies in Computing Systems (JETC), 18(3):1–22, 2022.
- A system hierarchy for brain-inspired computing. Nature, 586(7829):378–384, 2020.
- Compiling spiking neural networks to neuromorphic hardware. In The 21st ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems, LCTES ’20, page 38–50, New York, NY, USA, Jun 2020. Association for Computing Machinery.
- Using the ibm analog in-memory hardware acceleration kit for neural network training and inference. arXiv preprint arXiv:2307.09357, 2023.
- Bridge the gap between neural networks and neuromorphic hardware with a neural network compiler. In Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’18, page 448–460, New York, NY, USA, Mar 2018. Association for Computing Machinery.
- Braille letter reading: A benchmark for spatio-temporal pattern recognition on neuromorphic hardware. Frontiers in Neuroscience, 16, 2022.
- Claude E. Shannon. Mathematical theory of the differential analyzer. Journal of Mathematics and Physics, 20(1–4):337–354, 1941.
- George H. Mealy. A method for synthesizing sequential circuits. The Bell System Technical Journal, 34(5):1045–1079, Sep 1955.
- Geometric numerical integration. Oberwolfach Reports, 3(1):805–882, 2006.
- Accuracy and efficiency in fixed-point neural ode solvers. Neural Computation, 27:2148–2182, 2015.
- The spinnaker 2 processing element architecture for hybrid digital neuromorphic computing. arXiv preprint arXiv:2103.08392, 2021.
- py-spinnaker2, November 2023. https://doi.org/10.5281/zenodo.10202110.
- Pytorch: An imperative style, high-performance deep learning library. arXiv:1912.01703 [cs, stat], Dec 2019. arXiv: 1912.01703.
- JAX: composable transformations of Python+NumPy programs, 2018. http://github.com/google/jax.
- Exodus: Stable and efficient training of spiking neural networks. Frontiers in Neuroscience, 17:1110444, 2023.
- Haiku: Sonnet for JAX, 2020. http://github.com/deepmind/dm-haiku.
- Neuronal Dynamics: From Single Neurons to Networks and Models of Cognition. Cambridge University Press, Cambridge, 2014.
- Converting static image datasets to spiking neuromorphic datasets using saccades. Frontiers in Neuroscience, 9, 2015.
- Fast-classifying, high-accuracy spiking deep networks through weight and threshold balancing. In 2015 International joint conference on neural networks (IJCNN), pages 1–8. ieee, 2015.
- Human activity recognition: suitability of a neuromorphic approach for on-edge aiot applications. Neuromorphic Computing and Engineering, 2(1):014006, 2022.
- The remarkable robustness of surrogate gradient learning for instilling complex function in spiking neural networks. Neural computation, 33(4):899–925, 2021.