From WikiChip
Difference between revisions of "intel/loihi"
< intel

(die information)
(Undo revision 84436 by 52.52.2.146 (talk) see talk page for reason)
 
(44 intermediate revisions by 7 users not shown)
Line 8: Line 8:
 
|market=Artificial Intelligence
 
|market=Artificial Intelligence
 
|first announced=September 25, 2017
 
|first announced=September 25, 2017
 +
|first launched=January, 2018
 
|process=14 nm
 
|process=14 nm
 +
|transistors=2,070,000,000
 +
|technology=CMOS
 +
|die area=60 mm²
 +
|max cpus=16,384
 +
|v core min=0.50 V
 +
|v core max=1.25 V
 +
|neuron count=131,072
 +
|synapse count=130,000,000
 
}}
 
}}
'''Loihi''' (pronounced ''low-ee-hee'') is a [[neuromorphic chip|neuromorphic]] research test chip designed by [[Intel]] Labs that uses a asynchronous [[spiking neural network]] (SNN) to implement adaptive self-modifying event-driven fine-grained parallel computations used to implement learning and inference with high efficiency. The chip is a 128-neuromorphic cores [[many-core]] IC fabricated on Intel's [[14 nm process]].
+
'''Loihi''' (pronounced ''low-ee-hee'') is a [[neuromorphic chip|neuromorphic]] research test chip designed by [[Intel]] Labs that uses an asynchronous [[spiking neural network]] (SNN) to implement adaptive self-modifying event-driven fine-grained parallel computations used to implement learning and inference with high efficiency. The chip is a 128-neuromorphic cores [[many-core]] IC fabricated on Intel's [[14 nm process]] and features a unique programmable microcode learning engine for on-chip [[spiking neural network|SNN]] training. The chip was formally presented at the 2018 Neuro Inspired Computational Elements (NICE) workshop in Oregon.
  
The chip is named after the Loihi as a play-on-words - [[wikipedia:Lōʻihi Seamount|Loihi]] is an emerging Hawaiian submarine volcano that is set to surface one day.
+
The chip is named after the Loihi volcano as a play-on-words - [[wikipedia:Lōʻihi Seamount|Loihi]] is an emerging Hawaiian submarine volcano that is set to surface one day.
  
 
== Overview ==
 
== Overview ==
Announced in September 2017, Loihi is predominantly a research chip meaning performance characteristics are not guaranteed. Loihi consists of a asynchronous [[spiking neural network]] (SNN) meaning instead of manipulating signals, the chip sends spikes along activate synapses. Connections are asynchronous and highly timed based. Neuromorphic cores containing many neurons are interlinked and receive spikes from elsewhere in the network. When received spikes accumulate for a certain period of time and reach a set threshold, the core will fire off its own spikes to its connected neurons. Preceding spikes reinforce each other and the neuron connections while spikes that follows will inhibit the connection, declining the connectivity until all activities are halted.
+
Announced in September 2017, Loihi is predominantly a research chip meaning performance characteristics are not guaranteed. This is Intel's 5th chip in the neuromorphic category. The first three chips were early internal test chips while the fourth is a [[10 nm]] wafer-level probe study. Loihi consists of an asynchronous [[spiking neural network]] (SNN) meaning instead of manipulating signals, the chip sends spikes along activate synapses. Connections are asynchronous and highly timed based. Neuromorphic cores containing many neurons are interlinked and receive spikes from elsewhere in the network. When received spikes accumulate for a certain period of time and reach a set threshold, the core will fire off its own spikes to its connected neurons. Preceding spikes reinforce each other and the neuron connections while spikes that follow will inhibit the connection, declining the connectivity until all activities are halted.
  
=== architecture ===
+
The chip was initially tested and simulated using FPGAs. Actual silicon implementations arrived in late November.
[[File:intel loihi many-core neural mesh.png|right|200px]]
 
The chip itself implements of a fully asynchronous [[many-core]] [[mesh topology|mesh]] of 128 neuromorphic cores. The network supports a wide variety of [[artificial neural network]] such as [[recurrent neural network|RNNs]], [[sparse neural network|SNN]], sparse, hierarchical, and various other topologies where each neuron in the chip is capable of communicating with 1000s of other neurons.
 
  
There are 128 neuromorphic cores, each containing a "learning engine" that can be programmed to adopt to the network parameters during operation such as the spike timings and their impact. This makes the chip more flexible as it allows various paradigms such as supervisor/non-supervisor and reinforcing/reconfigurablity without requiring any particular approach. The choice for higher flexibility is intentional in order to defer various architectural decisions that could be detrimental to research.
+
Loihi is fabricated on Intel's [[14 nm process]] and has a total of 130,000 artificial neurons and 130 million synapses. In addition to the 128 neuromorphic cores, there are 3 managing {{intel|Lakemont|l=arch|Lakemont cores}}.
  
:[[File:loihi spikes.gif|400px]]
+
== Architecture ==
 +
[[File:loihi mesh chips.png|right|300px]]
 +
The chip consists of a [[many-core]] mesh of 128 neuromorphic cores, three {{intel|Lakemont|l=arch|Lakemont}} [[x86]] [[physical cores|cores]] ({{intel|Quark}}), and an off-chip communication interface that allows the chip to scale out to many other chips in the four planar directions (as shown on the right). The implemented mesh protocol supports up to 4,096 on-chip cores and up to 16,384 chips.
  
The chip was initially tested and simulated using FPGAs. Actual silicon implementations arrived in late November. Loihi is fabricated on Intel's [[14 nm process]] and has a total of 130,000 artificial neurons and 130 million synapses. In addition to the 128 neuromorphic cores, there are 3 managing {{intel|Lakemont|l=arch|Lakemont cores}}.
+
The chip itself implements a fully asynchronous [[many-core]] [[mesh topology|mesh]] of 128 neuromorphic cores. It implements a [[spiking neural network]] (SNN) whereby at any given time one or more of the implemented neurons may send out an impulse (i.e., spike) to its neighbors through the directed links (synapses). All neurons have a local state with their own set of rules that affects their evolution and the timing of spike generation. Interaction is entirely asynchronous, sporadic, and independent of any other neuron on the network. A unique feature of Loihi's neuromorphic cores is their integrated learning engine which enables full on-chip learning via programmable microcode learning rules.
 +
 
 +
Core-to-core communication is done in using packetized messages with write, read request, and read response messages for core management and [[x86]]-to-x86 messaging, spike messages, and barrier messages (for synchronization).
 +
=== Neuromorphic Core ===
 +
Loihi implements 128 neuromorphic cores, each containing 1,024 primitive spiking neural units grouped into tree-like structures in order to simplify the implementation. Each of those groups shares the same [[fan-in]] and [[fan-out]] connections, configuration, and state variables in ten architectural memories.
 +
 
 +
 
 +
:[[File:loihi core block diagram.svg|900px]]
 +
 
 +
 
 +
Above is the block diagram of the major memory blocks where the various connectivities, configurations, and dynamic states of all the neurons that are mapped to the neuromorphic core. Each core incorporates a total of 2 Mib (including ECC). Spikes are received on the input side, handled internally (synaptic/group update), and a spike is optionally generated in the output if the various conditions are met. For the most part, those blocks operate independently with little control synchronization. Intel has [[parallelized]] the hardware where a single large event can be handled more efficiently as a few smaller events. This is shown as a dotted line. One example Intel provided is extracting synapses from the memory and to the dendrite accumulator through the modification and even the learning engine is with up to four-way parallelism. In addition to the normal flow, there's the configurable learning engine shown under the major blocks (described below).
 +
 
 +
Loihi implements a variant of the [[current-based synapse]] (CUBA) [[leaky integrate-and-fire neuron]] model with two internal state variables:
 +
 
 +
* Synaptic response current <math>u_i(t)</math> - the weighted sum of the input spikes and a constant bias
 +
* Membrane potential <math>v_t(t)</math> - a leaky (i.e. weakens over time) spike potential function that sends out a spike when the potential passes the firing threshold
 +
 
 +
It's worth noting that since Loihi is a digital architecture, the above continuous functions are approximated using a discrete timestep whereby all neurons maintain a timestamp synchronized throughout the entire chip. This is needed in order to enable well-defined behaviors.
 +
 
 +
==== Operation and Communication ====
 +
[[File:loihi spikes.gif|right|300px]]
 +
The operation itself is fairly straightforward, once enough spikes accumulate and exceed the predefined threshold level, a spike message is created and sent out to various other groups in various destination cores. Loihi is actually the first neuromorphic chip to feature a fully integrated [[SNN]] meaning it can support unicast, multicast, broadcast, sparse network, variable synaptic formats (any weight precision 1-9 bits, +/-, etc..), and population-based hierarchical connectivity.
 +
 
 +
Communication is done by each of the cores independently iterating over each of their neuron groups and for every group that enters a firing state, the core generates a spike message that is distributed to all the other cores on the mesh that contain their synaptic fanouts. The iterations of all the groups by all the cores must be done within the same discrete timestamp. To ensure that all the spikes have made it to their destinations before the operation is repeated, Loihi sends out a synchronization message whereby any spikes in-flight are flushed in the first phase and in the second phase a timestep-advance notification is sent to all the cores to advance their timestamp to <math>t+1</math>, enabling them to proceed to update their internal groups.
 +
 
 +
It should be noted that Loihi supports a hierarchical network model which means it can exploit the localized sub-networks in the mesh in order to substantially reduce the chip-wide connectivity and synaptic resources required to map the networks.
 +
 
 +
==== Self-learning ====
 +
Each core contains a "learning engine" (marked in the block diagram above as 'learning') that can be programmed to adapt to the network parameters during operation such as the spike timings and their impact. It does this by updating the synaptic weights using the 4-bit microcode-programmed learning rules that are specifically associated with that synapse. Updates (or 'learning') is done at each learning epoch, a period of time that is globally preconfigured per core. This makes the chip more flexible as it allows various paradigms such as supervisor/non-supervisor and reinforcing/reconfigurability without requiring any particular approach. The choice for higher flexibility is intentional in order to defer various architectural decisions that could be detrimental to research.
 +
 
 +
===== Programming =====
 +
Intel has developed a complete toolchain for working with Loihi including a Loihi Python API, a compiler, and a set of runtime libraries for building and executing SNNs on Loihi. For the most part, the API is similar to existing frameworks such as PyNN. The Loihi API provides a way of creating a graph of neurons and synapses with custom configurations such as decay time, synaptic weight, and spiking thresholds. The graphs can then be stimulated by injecting external spikes and learn through custom learning rules.
  
 
== Die ==
 
== Die ==
Line 34: Line 74:
 
* 60 mm² die size
 
* 60 mm² die size
  
: [[File:intel loihi die shot.png|650px]]
+
* Density
 +
** 2,184 neurons per mm²
 +
** 2.1 million unique synaptic variables per mm²
 +
 
 +
 
 +
: [[File:intel loihi die shot.png|class=wikichip_ogimage|650px]]
 +
 
 +
== Test board ==
 +
Although Intel didn't specify, the test board appears to feature four Loihi chips meaning the board has 512 neuromorphic cores and 524,288 neurons, all are fully integrated over the mesh.
 +
 
 +
:[[File:loihi neuromorphic-test-board.png|900px]]
  
 
== References ==
 
== References ==
 +
* ''Some information was obtained directly from Intel''
 
* Jim Held, Intel Fellow & Director Emerging Technologies Research, Intel Labs, HPC Developer Conference 2017 ("Leading The Evolution of Compute: Neuromorphic and Quantum Computing").
 
* Jim Held, Intel Fellow & Director Emerging Technologies Research, Intel Labs, HPC Developer Conference 2017 ("Leading The Evolution of Compute: Neuromorphic and Quantum Computing").
 +
* Davies, Mike, et al. "Loihi: A Neuromorphic Manycore Processor with On-Chip Learning." IEEE Micro (2018).
  
 
== See also ==
 
== See also ==
 
* {{ibm|TrueNorth}}
 
* {{ibm|TrueNorth}}

Latest revision as of 16:06, 26 November 2018

Edit Values
Loihi
General Info
DesignerIntel
ManufacturerIntel
MarketArtificial Intelligence
IntroductionSeptember 25, 2017 (announced)
January, 2018 (launched)
Neuromorphic Specs
Neurons131,072
Synapses130,000,000
Microarchitecture
Process14 nm
Transistors2,070,000,000
TechnologyCMOS
Die60 mm²
Max CPUs16,384 (Multiprocessor)
Vcore0.50 V-1.25 V

Loihi (pronounced low-ee-hee) is a neuromorphic research test chip designed by Intel Labs that uses an asynchronous spiking neural network (SNN) to implement adaptive self-modifying event-driven fine-grained parallel computations used to implement learning and inference with high efficiency. The chip is a 128-neuromorphic cores many-core IC fabricated on Intel's 14 nm process and features a unique programmable microcode learning engine for on-chip SNN training. The chip was formally presented at the 2018 Neuro Inspired Computational Elements (NICE) workshop in Oregon.

The chip is named after the Loihi volcano as a play-on-words - Loihi is an emerging Hawaiian submarine volcano that is set to surface one day.

Overview[edit]

Announced in September 2017, Loihi is predominantly a research chip meaning performance characteristics are not guaranteed. This is Intel's 5th chip in the neuromorphic category. The first three chips were early internal test chips while the fourth is a 10 nm wafer-level probe study. Loihi consists of an asynchronous spiking neural network (SNN) meaning instead of manipulating signals, the chip sends spikes along activate synapses. Connections are asynchronous and highly timed based. Neuromorphic cores containing many neurons are interlinked and receive spikes from elsewhere in the network. When received spikes accumulate for a certain period of time and reach a set threshold, the core will fire off its own spikes to its connected neurons. Preceding spikes reinforce each other and the neuron connections while spikes that follow will inhibit the connection, declining the connectivity until all activities are halted.

The chip was initially tested and simulated using FPGAs. Actual silicon implementations arrived in late November.

Loihi is fabricated on Intel's 14 nm process and has a total of 130,000 artificial neurons and 130 million synapses. In addition to the 128 neuromorphic cores, there are 3 managing Lakemont cores.

Architecture[edit]

loihi mesh chips.png

The chip consists of a many-core mesh of 128 neuromorphic cores, three Lakemont x86 cores (Quark), and an off-chip communication interface that allows the chip to scale out to many other chips in the four planar directions (as shown on the right). The implemented mesh protocol supports up to 4,096 on-chip cores and up to 16,384 chips.

The chip itself implements a fully asynchronous many-core mesh of 128 neuromorphic cores. It implements a spiking neural network (SNN) whereby at any given time one or more of the implemented neurons may send out an impulse (i.e., spike) to its neighbors through the directed links (synapses). All neurons have a local state with their own set of rules that affects their evolution and the timing of spike generation. Interaction is entirely asynchronous, sporadic, and independent of any other neuron on the network. A unique feature of Loihi's neuromorphic cores is their integrated learning engine which enables full on-chip learning via programmable microcode learning rules.

Core-to-core communication is done in using packetized messages with write, read request, and read response messages for core management and x86-to-x86 messaging, spike messages, and barrier messages (for synchronization).

Neuromorphic Core[edit]

Loihi implements 128 neuromorphic cores, each containing 1,024 primitive spiking neural units grouped into tree-like structures in order to simplify the implementation. Each of those groups shares the same fan-in and fan-out connections, configuration, and state variables in ten architectural memories.


loihi core block diagram.svg


Above is the block diagram of the major memory blocks where the various connectivities, configurations, and dynamic states of all the neurons that are mapped to the neuromorphic core. Each core incorporates a total of 2 Mib (including ECC). Spikes are received on the input side, handled internally (synaptic/group update), and a spike is optionally generated in the output if the various conditions are met. For the most part, those blocks operate independently with little control synchronization. Intel has parallelized the hardware where a single large event can be handled more efficiently as a few smaller events. This is shown as a dotted line. One example Intel provided is extracting synapses from the memory and to the dendrite accumulator through the modification and even the learning engine is with up to four-way parallelism. In addition to the normal flow, there's the configurable learning engine shown under the major blocks (described below).

Loihi implements a variant of the current-based synapse (CUBA) leaky integrate-and-fire neuron model with two internal state variables:

  • Synaptic response current Equation u Subscript i Baseline left-parenthesis t right-parenthesis - the weighted sum of the input spikes and a constant bias
  • Membrane potential Equation v Subscript t Baseline left-parenthesis t right-parenthesis - a leaky (i.e. weakens over time) spike potential function that sends out a spike when the potential passes the firing threshold

It's worth noting that since Loihi is a digital architecture, the above continuous functions are approximated using a discrete timestep whereby all neurons maintain a timestamp synchronized throughout the entire chip. This is needed in order to enable well-defined behaviors.

Operation and Communication[edit]

loihi spikes.gif

The operation itself is fairly straightforward, once enough spikes accumulate and exceed the predefined threshold level, a spike message is created and sent out to various other groups in various destination cores. Loihi is actually the first neuromorphic chip to feature a fully integrated SNN meaning it can support unicast, multicast, broadcast, sparse network, variable synaptic formats (any weight precision 1-9 bits, +/-, etc..), and population-based hierarchical connectivity.

Communication is done by each of the cores independently iterating over each of their neuron groups and for every group that enters a firing state, the core generates a spike message that is distributed to all the other cores on the mesh that contain their synaptic fanouts. The iterations of all the groups by all the cores must be done within the same discrete timestamp. To ensure that all the spikes have made it to their destinations before the operation is repeated, Loihi sends out a synchronization message whereby any spikes in-flight are flushed in the first phase and in the second phase a timestep-advance notification is sent to all the cores to advance their timestamp to Equation t plus 1 , enabling them to proceed to update their internal groups.

It should be noted that Loihi supports a hierarchical network model which means it can exploit the localized sub-networks in the mesh in order to substantially reduce the chip-wide connectivity and synaptic resources required to map the networks.

Self-learning[edit]

Each core contains a "learning engine" (marked in the block diagram above as 'learning') that can be programmed to adapt to the network parameters during operation such as the spike timings and their impact. It does this by updating the synaptic weights using the 4-bit microcode-programmed learning rules that are specifically associated with that synapse. Updates (or 'learning') is done at each learning epoch, a period of time that is globally preconfigured per core. This makes the chip more flexible as it allows various paradigms such as supervisor/non-supervisor and reinforcing/reconfigurability without requiring any particular approach. The choice for higher flexibility is intentional in order to defer various architectural decisions that could be detrimental to research.

Programming[edit]

Intel has developed a complete toolchain for working with Loihi including a Loihi Python API, a compiler, and a set of runtime libraries for building and executing SNNs on Loihi. For the most part, the API is similar to existing frameworks such as PyNN. The Loihi API provides a way of creating a graph of neurons and synapses with custom configurations such as decay time, synaptic weight, and spiking thresholds. The graphs can then be stimulated by injecting external spikes and learn through custom learning rules.

Die[edit]

Floorplan
  • 14 nm process
  • 2,070,000,000 transistors
    • 128 neuromorphic cores + 3 x86 cores
  • 60 mm² die size
  • Density
    • 2,184 neurons per mm²
    • 2.1 million unique synaptic variables per mm²


intel loihi die shot.png

Test board[edit]

Although Intel didn't specify, the test board appears to feature four Loihi chips meaning the board has 512 neuromorphic cores and 524,288 neurons, all are fully integrated over the mesh.

loihi neuromorphic-test-board.png

References[edit]

  • Some information was obtained directly from Intel
  • Jim Held, Intel Fellow & Director Emerging Technologies Research, Intel Labs, HPC Developer Conference 2017 ("Leading The Evolution of Compute: Neuromorphic and Quantum Computing").
  • Davies, Mike, et al. "Loihi: A Neuromorphic Manycore Processor with On-Chip Learning." IEEE Micro (2018).

See also[edit]

Facts about "Loihi - Intel"
core voltage (max)1.25 V (12.5 dV, 125 cV, 1,250 mV) +
core voltage (min)0.5 V (5 dV, 50 cV, 500 mV) +
designerIntel +
die area60 mm² (0.093 in², 0.6 cm², 60,000,000 µm²) +
first announcedSeptember 25, 2017 +
first launchedJanuary 2018 +
full page nameintel/loihi +
instance ofneuromorphic chip +
ldateJanuary 2018 +
manufacturerIntel +
market segmentArtificial Intelligence +
max cpu count16,384 +
nameLoihi +
neuron count131,072 +
process14 nm (0.014 μm, 1.4e-5 mm) +
synapse count130,000,000 +
technologyCMOS +
transistor count2,070,000,000 +