Auf dem Weg zur künstlichen Intelligenz

Neuromorphe Hardware

Was ist neuromorphe Hardware?

Symbolbild - Neuromorphe Hardware
© zapp2photo - stock.adobe.com

Wenn klassische Computer mit einer Von-Neumann-Architektur tiefe neuronale Netze (DNN, Deep Neural Networks) rechnen, wird der Von-Neumann-Flaschenhals zum Problem. Die Rechenleistung der Computersysteme wird durch die Datentransferrate zwischen Prozessor und Speicher begrenzt.

Neuromorphe Hardware bezeichnet Computer oder Komponenten, die aus hochgradig vernetzten parallelen synthetischen Neuronen und Synapsen dem Gehirn nachempfundene neurologische oder künstliche neuronale Netze nachbilden. Bisherige neuronale Netzwerkarchitekturen wie Deep Neural Networks erfordern komplexe Rechenleistungen und verzeichnen einen hohen Energieverbrauch. Effiziente Architekturen für neuromorphe Hardware sind daher mit Hinblick auf Rechenleistung, Energieverbrauch und Chipfläche ein entscheidender Faktor für einen breiten Einsatz neuronaler Netze in Embedded-Produkten.

Leistungsfähige neuromorphe Hardware-Architekturen für die Berechnung neuronaler Netze setzen auf massive Parallelverarbeitung und verteilte gekoppelte Speicherung und Verarbeitung. Mit diesen Konzepten können die für komplexe neuronale Netze notwendigen Berechnungen schneller und energiesparender durchgeführt werden als mit Von-Neumann-Architekturen. Da neuronale Netze sehr regelmäßige Strukturen aufweisen, ist eine massive Parallelverarbeitung möglich, indem die gleiche Art von Recheneinheiten/Zellen parallel verwendet wird. Daher eignen sich Architekturkonzepte, wie sie aus Architekturen mit parallelen Rechnern bekannt sind:

  • Single Instruction Multiple Data (SIMD): Mehrere parallele Prozessoren (z. B. MAC-Einheiten) führen eine bestimmte Rechenoperation für verschiedene Elemente eines verteilten Datensatzes gleichzeitig durch (Parallelisierung auf Datenebene).
  • Very Long Instruction Word (VLIW): Mehrere nicht notwendigerweise gleiche Befehle werden parallel abgearbeitet (Parallelisierung auf Befehlsebene).
  • Systolische Arrays: Datenflussarchitekturen, die auf einem Netzwerk eng gekoppelter, gleichartiger Verarbeitungselemente basieren. Berechnungen erfolgen pipelineartig, indem die Daten durch den systolischen Array geleitet werden.

Überblick über neuromorphe Hardware

Die folgende Tabelle stellt eine Taxonomie neuromorpher Hardware-Plattformen dar mit den jeweiligen Vor- und Nachteilen in Bezug auf die neuromorphe Datenverarbeitung.

PLATTFORM VORTEILE NACHTEILE
Mehrzweck-
prozessor

(GP CPU)
  • Hochgradig programmierbar
  • Geringe Energieeffizienz
  • Geringer Datendurchsatz verglichen mit anderen Architekturen
GP CPU mit
Beschleunigern
  • Beschleuniger können auf bestimmte Aufgaben zugeschnitten werden
  • Datendurchsatz hängt von der Anzahl eingebauter Beschleuniger ab
Grafikprozessor
(GP GPU)
  • Gut zum Training großer Datenmengen mit serverbasiertem Deep Learning (DL)
  • Hochparallele Rechnerressourcen
  • Mangelnde Effizienz für Inferenz
  • Energieverbrauch
Spezielle Hardware
(Anwendungs-
spezifische Chips, ASICs)
  • Energiesparend
  • Höchste Leistung für spezifische Anwendungen / NN-Architekturen / Frameworks
  • Möglicherweise zu unflexible Chip-Architektur, um sich an schnell wandelnde Deep-Learning-Topologien/-Frameworks anzupassen
  • Meistens ausschließlich auf Inferenz beschränkt

Bezüglich der ASIC-Hersteller:

  • Hohe Kosten für ASIC-Entwicklung und -Produktion
  • Großes Marktvolumen zur Rechtfertigung der Entwicklungskosten erforderlich
  • Lange Markteinführungszeiten
FPGA
  • Neukonfigurierbarkeit ermöglicht Anpassung an sich entwickelnde NN-Architekturen/-Frameworks
  • Maßgeschneiderte NN-Architekturen sind implementierbar
  • HW-Beschleunigung für spezifische On-Chip-Operationen (MAC) und On-Chip-Speicher (SRAM) verfügbar
  • Weniger restriktive Markteinführungszeit als für ASICs, da Firmware veränderbar ist
  • Für Low-Power-Anwendungen ungeeignet
  • Geringer On-FPGA-Speicher (SRAM)
  • Geringe Speichertransferrate (DDR)
DSPs
  • Beschleunigung der wichtigsten Rechenoperationen (MAC)
  • Ähnlicher Speicher-Flaschenhals wie bei CPUs wegen von-Neumann-Architektur
  • Typischerweise höhere Leistung als CPU, aber geringer als GPU

GP CPU: General Purpose Central Processing Unit; GP-GPU: General Purpose Graphics Processing Unit; ASIC: Application Specific Integrated Circuit; FPGA: Field-Programmable Gate Array; DSP: Digital Signal Processor

Überblick über Deep-Learning-Inference-Beschleuniger und deren Einsatz in Embedded-Geräten

 

Fachartikel
Elektronenhirn 4.0

Quelle: Elektronik, 9/2019

Spiking Neural Networks

Spiking Neural Networks (SNN) sind eine dem Gehirn nachempfundene Art neuronaler Netze, in denen die Informationen zwischen den Neuronen, ähnlich wie im menschlichen Gehirn, in Form von Pulsen weitergeleitet werden. Die Verarbeitung in einem Neuron hängt nicht nur von der Amplitude der Pulse ab, sondern auch von der Ankunftszeit und der Form des Pulses. Ein einfaches gepulstes neuronales Netzmodell, das diese Eigenschaften aufweist, ist das (Leaky) Integrate-and-Fire-Neuronenmodell. Aufgrund der gehirnähnlichen Funktionsweise können SNNs extrem energieeffizient sein. Dennoch bleiben noch einige offene Fragen und praktische Anwendungen von SNNs zu erforschen (z. B. optimale Netz- und Neuronenmodelle, Trainingsmethoden, Inputverarbeitung).

SNN-Chips sind bislang noch nicht käuflich erwerbbar. Forschungs- und Test-Chips wurden jedoch bereits von verschiedenen Unternehmen und in öffentlichen Forschungsprojekten implementiert.

Beratung, Design und Implementierung

Das Fraunhofer-Institut für Integrierte Schaltungen IIS hat langjährige Erfahrungen mit maschinellem Lernen in verschiedenen Anwendungsgebieten. Unsere Experten verwenden neuromorphe Hardware, um die Rechenvorgänge in Embedded-Produkten zu beschleunigen.

Wir beraten Sie gerne zum Thema maschinelles Lernen und geeignete neuromorphe Hardware speziell in Ihrem Anwendungsfall, aber auch zum Design und der Implementierung von Modulen für Ihre Geräte, die neuromorphe Hardware nutzen.

Weitere Informationen

 

Embedded Machine Learning

Implementierung und Integration von Machine Learning auf Embedded-Geräten

 

Machine Learning am Fraunhofer IIS

Übersicht zum Thema Maschinelles Lernen am Fraunhofer IIS