Elektroniknet Logo

Energieeffizientes KI-System

AI goes Ultra-Low-Power – Teil 1

Im 1. Teil wird das Gesamtkonzept eines Ultra-Low-Power-Beschleunigers für die EKG- oder eine allgemeine Zeitreihen-Analyse vorgestellt
© PopTika | Shutterstock

Einer der Sieger im Wettbewerb um die Entwicklung eines energieeffizienten KI-Systems für die EKG-Analyse konnte die mittlere Leistung auf lediglich 1 µW senken. Im 1. Teil wird das Gesamtkonzept eines Ultra-Low-Power-Beschleunigers für die EKG- oder eine allgemeine Zeitreihen-Analyse vorgestellt.

»Kann Deutschland noch Sprunginnovationen?« – diese Frage stellte sich die Bundesregierung und schob gleich hinterher: »Und wie können wir diese fördern?« Von diesen Überlegungen ausgehend entwickelte das Bundesministerium für Bildung und Forschung (BMBF) das Konzept der neuen Bundesagentur für Sprunginnovationen (SPRIN-D) und – um Erfahrungen dafür zu sammeln – dreier Pilot-Innovationswettbewerbe. Einer davon stellte den Teilnehmern die Aufgabe, ein möglichst »energieeffizientes KI-System« als Hardware auf einem ASIC bzw. FPGA zu entwickeln.

Mit diesem sollte mit minimaler Energie ein Stapel von Hunderten jeweils zwei Minuten langen EKG-Signalen durch einen Machine-Learning- (ML) Algorithmus analysiert werden: Ist der Patient gesund oder zeigt die Aufnahme Vorhofflimmern? Es ist nämlich bekannt, dass Vorhofflimmern eine häufige Ursache von Schlaganfällen ist – eine energieeffiziente und kostengünstige Analyse könnte daher vielfach Schlaganfälle verhindern.

Relevante Anbieter

Der Siegerpokal für das Team Lo3-ML (Low-Power-Low-Memory Low-Cost EGG Signal Analysis using Machine Lerning Algorithmus) im Pilot-Innovationswettbewerb der Bundesagentur für Sprunginnovatinen (SPRIN-D)
Bild 1. Der Siegerpokal für das Team Lo3-ML (Low-Power-Low-Memory Low-Cost EGG Signal Analysis using Machine Lerning Algorithmus) im Pilot-Innovationswettbewerb der Bundesagentur für Sprunginnovationen (SPRIN-D).
© Fraunhofer IIS

27 Teams bewarben sich um eine Teilnahme am Wettbewerb, elf Teams wurden dafür ausgewählt, vier Teams erreichten einen 1. Platz. Das Team Lo3-ML (Low-Power Low-Memory Low-Cost ECG Signal Analysis using Machine Learning Algorithms) des Fraunhofer-Instituts für Integrierte Schaltungen IIS und der Friedrich-Alexander-Universität Erlangen ist einer der Sieger des Pilot-Innovationswettbewerbs »Energieeffizientes KI-System« (Bild 1). Ihm gelang es, die für die EKG-Analyse benötigte durchschnittliche Leistungsaufnahme auf lediglich 1 µW senken – das ist so wenig Leistung, wie eine 4 cm × 4 cm große Solarzelle bei Mondschein liefert.

Erste Überlegungen

Generell kann eine hohe Energieeffizienz durch eine starke Spezialisierung auf eine einzige Anwendung erreicht werden – hier die EKG-Analyse. Dies geht allerdings generell zulasten der Flexibilität, um das System auch für andere ML-Anwendungen einsetzen zu können oder zumindest Änderungen wie ein Update der Parameter zu ermöglichen. Neben der geringeren Energieeffizienz ist eine programmierbare, universelle Schaltung in der Regel auch weniger leistungsfähig. Aus diesem Grund wurde im Lo3-ML-Projekt eine Schaltung für das größere Anwendungsfeld »Zeitreihensignale« erstellt, die einen Kompromiss zwischen beiden Randfällen darstellt.

Neben der EKG-Analyse erlaubt der umgesetzte Ansatz die Analyse weiterer Zeitreihensignale, z.B. aus den Bereichen Predictive Maintenance, Audio/Hörgeräte usw., für die Neuronale Netze (NN) ähnliche Strukturen haben – mehrere 1D-Convolutional Layer gefolgt von Fully Connected (FC) Layern für die finale Klassifikation. Damit darüber hinaus weitere Anwendungen vom entwickelten Chip profitieren können, hat das Team in diesem Wettbewerb großes Gewicht auf einen möglichst effizienten und teilautomatisierten Entwurfsablauf gelegt. Dieser wird es für zukünftige Anwendungen ermöglichen, mit relativ geringen Fixkosten (Non-recurring Engineering Costs) höchst energieeffiziente, anwendungsspezifische Hardwarebeschleuniger zu entwickeln.

Keine energiehungrige Steuerlogik

Der entwickelte Deep-Learning-Beschleuniger basiert auf einer digitalen Schaltung. Hier tragen vor allem drei Aspekte erheblich zum Energiebedarf bei: Die für den Datenpfad benötigte Steuerlogik, der Zugriff auf externe Speicher – z.B. Flash und DRAM – und die Berechnungen. Daher setzt die Optimierung genau an diesen Punkten an.

In frei programmierbaren Prozessoren braucht die Steuerlogik – Instruktionsdecoder, Sprungvorhersage etc. – erheblich Energie. Gleiches gilt für die verwendeten festen Wortbreiten, z.B. 8 bit oder 32 bit. Beides ist bei anwendungsspezifischen HW-Beschleunigern unnötig. Auch bei stark programmierbaren Arrays von einfachen Processing Elements wie der Eyeriss-V2-Architektur [1] beansprucht die Steuerlogik einen Großteil der insgesamt benötigten Energie. Aus diesem Grund entschied sich das Lo3-ML-Team für einen datenflussorientierten Ansatz, bei dem die Steuerlogik implizit durch die Struktur der Rechenschaltung gegeben ist.

Wenn ein Schaltungsteil nicht benötigt wird: Abschalten

In aktuellen Beschleunigerschaltungen werden meist flüchtige Speicher eingesetzt. Dadurch kann der Chip nicht »stromlos« geschaltet werden – um Energie zu sparen, wenn er nicht benötigt wird. In der Initialisierungsphase und bei jedem Wiedereinschalten wird viel Energie benötigt, um viele Daten – insbesondere die Gewichte des NNs – wieder aus dem externen Speicher zu laden. Deswegen setzte das Lo3-ML-Team nichtvolatile Speicher, konkret resistive RAMs (RRAMs), zur Speicherung dieser Daten ein. Solche Speicherelemente behalten ihren Inhalt auch nach Abschaltung der Energieversorgung [2]. Das bedeutet, dass der Beschleuniger »schlafen gelegt« werden kann, wenn nicht genügend Arbeitslast anfällt, ohne beim »Aufwecken« die energieintensive Initialphase erneut durchlaufen zu müssen.

Dieser Vorteil ist besonders groß, wenn Sensordaten nur relativ langsam in den Beschleuniger fließen – was bei EKG-Signalen im praktischen Einsatz am Patienten und allgemein bei fast allen Zeitreihensignalen gegeben ist: Ist der Beschleuniger z.B. in ein Wearable integriert, um den Patienten laufend zu überwachen, so ist es sinnvoll, das mit niedriger Frequenz abgetastete EKG-Signal über mehrere Sekunden zu sammeln, während der Beschleuniger schläft, danach den Beschleuniger kurz zu aktivieren und die neuen Daten schnell abzuarbeiten, um anschließend den Beschleuniger wieder abzuschalten.

Aller guten Dinge sind drei

Der dritte und letzte Optimierungsansatz ist die Energieeinsparung bei der Berechnung selbst: Die Grundidee ist hierbei die Einsparung von Energie durch eine bewusste Verringerung der Rechengenauigkeit. Anders als allgemeine Prozessoren, die mit einer festen Wortbreite – z. B. 32 bit Fließkomma – arbeiten, können in einer anwendungs-spezifischen Schaltung Wortbreiten an den Algorithmus angepasst werden. Das Lo3-ML-Team entschied sich aus zwei Gründen, ternäre Gewichte zu verwenden, d.h. sie auf die drei Werte (–1, 0, +1) zu beschränken [3].

Erster Grund: Man kann damit innerhalb einer Schicht des NNs Differenzen, Summen und Negationen beliebiger Eingangsaktivierungen berechnen. Über mehrere Filter und Schichten hinweg kann somit auch eine Gewichtung mit anderen Faktoren realisiert werden, womit das NN Aktivierungen betonen und andere dämpfen kann. Mit binären Gewichten wäre das dagegen so nicht möglich und quaternäre Gewichte sind dafür nicht unbedingt nötig. Zudem sind Multiplikationen mit –1 und +1 faktisch Additionen und somit sehr energieeffizient realisierbar.

Zweiter Grund: RRAMs sind in der Lage, mehr als zwei Zustände zu speichern, sodass jedes ternäre Gewicht komplett in einer RRAM-Zelle abgelegt werden kann.


  1. AI goes Ultra-Low-Power – Teil 1
  2. Zweiteilung spart Energie

Verwandte Artikel

Fraunhofer IIS Inst. f. Integrierte Schaltungen