Software & systems for the neuromorphic generation of computing. Peter Suma co-ceo peter.suma@appliedbrainresearch.

Size: px
Start display at page:

Download "Software & systems for the neuromorphic generation of computing. Peter Suma co-ceo 1-416-505-8973 peter.suma@appliedbrainresearch."

Transcription

1 Software & systems for the neuromorphic generation of computing. Peter Suma co-ceo

2 15 minutes to explain how well the world s most functional AI runs on Canada s largest supercomputer. Seriously?

3 I am not the lead scientist on it. He is in Montreal today. My lucky day.

4 How to build parallel Neuro-morphic applications with millions of neuron cores? Need a Neuro-morphic App Architecture & Toolchain ABR has the best one.

5 Based on this Dr Chris Eliasmith U. Waterloo Polyani Prize Winner 2015

6 Neuromorphic AI Development Stack & Applications Research Areas ABR REACH : Robotic Reaching and Grasping ABR SPAUN: Semantic & Cognitive Computing ABR Adaptive PD Controller: Drones, processes, Embedded Deep Learning for Vision, ABR Nengo Development Environment ABR Nengo Runtime Environment Spiking Deep Learning Networks Neural Decision Networks Adaptive Neuromorphic Controllers Neuromorphic Control Algorithms Visualization Tools Real time Control Neural Ensembles Reinforcement Learning Debugging Tools Telemetry Tools Partner Chips NEF Neural Engineering Framework, SPA Semantic Pointer Architecture, SPARTA & REACH IBM True North (TBD) NeuroGrid Native Neuromorphic Silicon * Blue boxes represent ABR software FPGA Spinnaker vonneuman Neuromorphic HW NEF SW Neural Backend PC s & GPUs Scinet GPC SOSCIP IBM Blue Gene SOSCIP MPIs

7 It was used to build this: Spaun Can you Build a Brain? source: Calgary Sun, Brain on chip Image sources:

8 Modelling the Brain at Different Levels Social Interactions - Teaching Personal Interactions Learning a long way to go still! Artificial Intelligence Representations and Computed Functions Spikes Trains Neural Connectome Neural Physiology Molecular Quantum Human Brain Project Machine Learning SPAUN

9 Nengo REACH Neuromorphic Fluid Motion Control (8 sec)

10 Nengo App Example: Quadcopter Control (26 sec)

11 Spaun Architecture

12 Spaun Matrices (48 sec)

13 Spaun Ensembles (Ensemble labels off) Sensory Stimuli Working Memory Telemetry Nodes Vision Networks Motor (Writing) Cortex (Info Representations) SPA Semantic Rep & Decision Cortex Basal Ganglia (WTA Decisions) Thalamus (Integration)

14 SOSCIP & ABR Project Computational Goals: Learn optimal structure for network design & compute platform Make Spaun available for research partners on Blue Gene Plan: Port Nengo_MPI core to Blue Gene Study performance change due to: neural network topology neural ensemble complexity compute platform Run benchmarks to study performance Offer platform to researchers for study of brain circuits Future: Super-Spaun includes speech, motor cortex and enhanced working memory

15 Nengo Single Core Nengo MPI MPI Interface

16 Nengo Multi-Processor Implementation import nengo model = nengo.network() with model: A = nengo.ensemble (n_neurons=50, dimensions=1) B = nengo.ensemble (n_neurons=50, dimensions=1) nengo.connection (A, B) import nengo import nengo_mpi model = nengo.network() with model: A = nengo.ensemble (n_neurons=50, dimensions=1) B = nengo.ensemble (n_neurons=50, dimensions=1) nengo.connection (A, B) # assign the ensembles to different processors assignments = {A: 0, B: 1} sim = nengo.simulator (model) sim.run (time_in_seconds=1.0) sim = nengo_mpi.simulator (model, assignments=assignments) sim.run(time_in_seconds=1.0)

17 Benchmarks Run Compare architecture to connectivity to platform performance: 3 different spiking neural networks Random connected network Stream connected network Ensembles connected in a circle Spaun 3 Platforms PC - Quad-Core 3.6GHz Intel i7-4790, 16 GB of RAM (1,2 & 4 processors) Scinet General Purpose Cluster (1,4,16,64,256 & 1024 processors) Scinet 4 rack Blue Gene/Q (1,4,16,64,256 & 1024 processors) Reference implementation of Nengo on PC used as performance metric base line

18 Stream Network Model 200 neurons per ensemble Ensembles connected in circle 1 in & 1 out connection Close to optimal configuration for parallel execution Low ratio of communication vs computation Largest network 4096 ensembles = 819,200 neurons Ensembles evenly distributed across processors Data: actual-compute-time to compute 5 seconds of simulation time Results averaged over 5 separate executions

19 Random Graph Network Study performance as ratio of communication : computation rises 1024 ensembles 2-dimensional ensembles with 100 LIF neurons Variable connection percentage, randomly chosen Connections compute the identity function Largest case 209,715 connections, each relays 2-dimensional value Are more processors always good? More processors increase inter-processor communication Increased likelihood any two ensembles are on different processors If communication is bottleneck adding more processors will decrease performance

20 Spaun Goal: how does structure produce behavior? Software Simulation of 20 Brain areas: 4 million individual neurons 1 eye, 1 arm Reinforcement & procedural learning Inductive reasoning 8 tasks Shows importance of working memory and multiple concurrent learning streams Only very, very, very small fraction of a brain Runs on various platforms SPAUN model is open-source

21 Stream Network Note runtime scale is exponential. Note lower slope and declining run times across increasing platform scale

22 Random Network Note runtime scale is exponential. Note lower slope and declining run times across increasing platform scale

23 Spaun Spaun s dense ensembles + high connectivity need more re-engineering to get maximum gains, re-work for Super-Spaun to better optimize for MPI on BGQ.

24 Results SW Win: PC Stream Network & Random Network Nengo_mpi significantly outperforms reference SW implementation HW Win: On SciNet's General Purpose Cluster reasonable speed-ups when running Spaun HW Win: BGQ General Case BGQ excels when Comms : Compute ratio is highest, beats GPC (See GPC-Random vs BGQ- Random case) BGQ Spaun: high comms + mid-compute with spread ensembles, bit less optimal than hoped Small speedup (but larger capacity, easier to use large numbers of nodes) Slow-downs caused by large numbers of ensembles which must be simulated on same node (An aspect of Spaun we are actively working to address) Largest Spaun models supported on BGQ Conclusion: BGQ has greater potential, will enable larger models to run, Super-Spaun will need BGQ More optimization time on code will make BGQ Spaun outperform GPC

25 Thank-you! OCE Ron Van Hoist, Lemmy Freilich & Tom Corr made the project happen! IBM: Chris Loken, BGQ platform leader, main contact Project setup Hosted Eric for 3 day visit in Toronto for hands-on help Daniel Gruner and Scott Northrup at SciNet main support contacts Helped with a number of problems Gave Eric a lot of time when he visited the SciNet offices Barbara Collignon IBM contact person at SciNet Knowledge of the platform was invaluable! Scinet Team All really helpful and amazingly knowledgable! ABR: Eric Crawford, ABR contract researcher, lead scientist / developer Dr. Chris Eliasmith, ABR Supervisor Contracts By Stephen Timms, IBM & Peter Suma, ABR Many other OCE staff and IBM staff were also involved

26 SOSCIP + OCE + ABR Partnership ABR highly recommends the program! Concern Platform learn time too high Funding support not adequate IP Concerns Platform availability Reality Assistance was beyond expectation, learn time was not large for scientists Funding was conservative but sufficient IBM & SOSCIP were flexible and no concerns in the end Platform time was more than enough to complete work, more than we needed We believe it would be ideal for machine learning + simulation Look forward to Super-Spaun program with SOSCIP in future

27 Team ABR 6 leading PhD neuroscientists + 1 tech entrepreneur Centre for Theoretical Neuroscience at the University of Waterloo Creators of; Nengo Neuromorphic AI Software Conceptual reasoning architecture (SPA) Largest functional brain simulation (SPAUN) Adaptive robotic control framework (REACH) Bios at

28 .end. Software & systems for the neuromorphic generation of computing.

29 Applications Research: ABR Neuromorphic Picking System for the 2017 Amazon Picking Challenge

30 Long Term Vision: ABR Spaun & Reach Robotic Control System Product Concept