KI in der Edge des IoT

KI in der Edge des IoT

Künstliche Intelligenz (KI) wird erfolgreich zur Erkennung von Gesichtern oder Verkehrszeichen, zur Diagnose von Krankheiten und Entwicklung von Therapien, Vorhersage von Wetterentwicklung und Konsumentenwünschen und vielem anderen mehr eingesetzt. Alles das erfordert leistungsfähige, energiehungrige Prozessoren. Sie residieren in der Cloud und bedingen die Übertragung der Sensordaten vom Ort ihrer Entstehung dorthin. Oft ist das unmöglich. Was ist die Lösung? Die Verlagerung der KI an die Edge des IoT, also in die Nähe der Sensoren. Um das zu schaffen, arbeiten Forscher einer Reihe innovativer Hardwarelösungen. Statt Hunderte von Watt verbrauchen sie nur wenig mehr als ein Watt oder sogar nur einige Milliwatt an Leistung.

 (Bild: IMEC vzw)

(Bild: IMEC vzw)

Künstliche Intelligenz (KI) ist ein Begriff, der seit sechs Jahrzehnten die Imagination der Computerwissenschaftler befeuert. Es ist ihre ironische Umschreibung für den Wunschtraum, Applikationen zu schaffen, die mit der menschlichen Intelligenz vergleichbar oder ihr sogar überlegen sind. Das Fachgebiet entstand in den späten 1950er Jahren und ist seitdem durch mehrere Zyklen von Optimismus und Verdammung gegangen. Jedes Mal, wenn der Ehrgeiz und die Begeisterung auf gewaltige Höhen stiegen, scheiterten sie irgendwann an der Komplexität des Vorhabens und der verfügbaren Computerkapazität. In den letzten Jahren hat sich ein neuer Aufschwung angebahnt. Wir sehen, wie Computer bekannte Meister im Schach und sogar beim Go schlagen, dem komplexesten Spiel, das es gibt. Wir sehen Computer, die gebildet diskutieren und Auto fahren können. Also scheint KI dieses Mal ein Erfolg zu werden. Der Grund? Die verfügbare Rechenleistung ist exponentiell auf den heutigen Stand gewachsen. Und die Ambitionen zum durchgängigen Einsatz von KI wurden so weit herabgeschraubt, dass sie dem Stand der Technik entsprechen: Computer lassen sich nun trainieren, dass sie Ordnungsmuster in großen scheinbar zufällig gestreuten Datenmengen erkennen. Dies wird als maschinelles Lernen oder Machine Learning (ML) bezeichnet, und es ist anspruchsvoll genug.

Überwachtes oder unüberwachtes Machine Learning

Supervised (überwachtes, betreutes) Machine Learning ist die Technik, die bislang die größten Erfolge verzeichnet. Das geht nach folgendem Schema: Ein ML-System wird mit einem großen Datensatz und einer Aufgabe konfrontiert, etwa mit einem Pixelmuster, einer Wetterkarte oder einer Krankengeschichte mit körperlichen Messdaten, und es soll darin ein menschliches Gesicht, eine Sturmentwicklung oder ein Krankheitsbild erkennen. In der Lernphase wird das System mit Eingangsdaten beaufschlagt, und macht daraus eine vorläufige Prädiktion – korrekt oder inkorrekt. Anschließend erhält es ein Feedback in Gestalt von Labels oder Attributen, die den Eingangsdaten vorher zugeordnet wurden. Wenn die erstellte Prädiktion falsch ist, gleicht das ML-System seine Parameter (auch Gewichtungen genannt) neu ab und macht eine neue Vorhersage. Dies geschieht wiederholt und so lange, bis die Parameter so fein abgeglichen sind, dass sie in den meisten Fällen zu korrekten Vorhersagen führen. Im Anschluss an diese Lern- oder Trainingsphase ist das System bereit zum Data Mining, also der Durchsuchung von riesigen Datenströmen, um darin bedeutungstragende Muster zu erkennen. Diesen Prozess nennen wir Inferenz. Was diese ML-Systeme so erfolgreich macht, ist, dass sie relativ wenig an menschlichem Eingriff und Vorverarbeitung des Inputs zu ihrer operativen Feinabstimmung benötigen. Mit dem Feedback aus den zuvor mit Labels versehenen Eingabedaten können sie die benötigten Parameter erlernen, etwa zur Erkennung von Gesichtern. Sie erstellen dazu ein Filter, das früher in mühsamer menschlicher Arbeit kodiert werden musste. Allerdings sind die ML-Systeme in ihrer heutigen Implementierung sehr leistungshungrig, besonders in der Lern- oder Trainingsphase, in der sie immer wieder durch dieselben Datensets gehen müssen. Doch auch in der Inferenzphase, in der die Daten nur einmal durch das System gehen, müssen potentiell Millionen von Gewichtungen berücksichtigt und Milliarden von Berechnungen ausgeführt werden. Das macht auch die Ausführung der Inferenz unerreichbar, wo sie am nützlichsten wäre: an den ‚Fingern und Zehen‘ des IoT-Systems, also dort, wo die Daten abgefühlt und erfasst werden. Um trotzdem die Inferenz an der Edge zu ermöglichen, arbeiten die Imec-Forscher an Hardwarelösungen, die den Energiebedarf für die Inferenz drastisch herabsetzen, auf einen Pegel, der zu autonomen drahtlosen Sensoren passt. Unüberwachtes maschinelles Lernen erfordert im Gegensatz dazu keine menschliche Intervention und Training. Unsupervised ML ist daher so etwas wie der Heilige Gral des Machine Learning. Denn es verspricht Applikationen, die sich auf spezifísche Aufgaben und individuelle Nutzer zuschneiden lassen. Und zwar an Ort und Stelle, ohne zuvor trainierte Parameter. Diese Techniken und Algorithmen sind in gewisser Weise davon inspiriert, wie das menschliche Gehirn arbeitet und lernt. Doch auch hier, sogar noch schwerwiegender als beim überwachten maschinellen Lernen, ist der große Energiebedarf ein Problem. Nicht so sehr in der Cloud, aber auf jeden Fall dort, wo der individuelle Zuschnitt am nützlichsten ist: an der Edge, also in den Sensoren. Eine zusätzliche Herausforderung besteht darin, dass Lernen und Inferenz nicht separiert werden können. Individueller Zuschnitt bedeutet Lernen, und dies muss in den Sensoren stattfinden. Deshalb verlangt dieses Verfahren, sogar mehr noch als Supervised ML, eine spezialisierte Hardware. Auch dieses Thema ist auf der Agenda von Imec. Eine interessanter denkbarer Einsatzfall, an dem die Imec-Forscher derzeit mit Erfolg versprechenden Resultaten arbeiten, sind Wearables für Healthcare-Anwendungen. Dabei sollten sich die Sensoren idealerweise selbst auf die jeweiligen Träger abstimmen können.

Was muss smarte Inferenz können?

Die beim überwachten maschinellen Lernen derzeit dominanten Rechnerplattformen sind GPUs der Spitzenklasse. Sie verbrauchen bis zu 200W. Einige Systeme verwenden auch FPGAs, die meist etwas effizienter im Leistungsverbrauch sind, dafür aber auch eine geringere Performance bieten. Das beste Verhältnis von Performance und Energieverbrauch realisieren einige Asics, mit Prozessoren, die speziell für Deep Learning entwickelt wurden. Doch auch diese verbrauchen immer noch zwischen 50 und 100W. Kein Wunder also, wenn Machine Learning und Inference heute zentralisiert geschehen – in der Cloud. Es ist einfach nicht möglich, einen Chip mit 100W Verlustleistung in einem Handy zu betreiben, und schon gar nicht in IoT-Sensoren, die über viel längere Betriebszeiten mit sehr viel kleineren Energie-Budgets auskommen müssen. Doch gerade die Sensoren sind es, die in Zukunft die meisten Daten erheben werden: in Gestalt von tragbaren Healthcare-Monitoren, in Radarsystemen auf Fahrzeugen und in Spannungssensoren, die in Bauwerke integriert sind. In den meisten Fällen verhindern technische oder energetische Grenzwerte, alle diese Datenströme in die Cloud zu übertragen, wo die KI residiert. Außerdem gibt es Anwendungsfälle, in denen relevante Ereignisse und Entwicklungen sofort erkannt werden müssen. Das gilt für Verkehrsradarsysteme, die Fußgänger oder andere Verkehrsteilnehmer im Fahrweg selbstfahrender Fahrzeuge detektieren müssen. In derartigen Fällen ist die Verzögerung durch eine Übertragung in die Cloud und zurück einfach zu lang. Somit besteht großer Bedarf, das maschinelle Lernen lokal, an der Edge des IoT zu platzieren. Für das Supervised Learning muss dies nicht unbedingt auch die Lernphase einschließen; denn die dabei benötigten Parameter lassen sich genauso gut in der Cloud trainieren. Auf jeden Fall aber gilt dies für die Inferenz, also die smarte Mustererkennung. Sie sollte in der Nähe der Sensoren stattfinden. Die Frage ist, welche Energie-Budgets an den IoT-Knoten verfügbar sind. Applikationen in Fahrzeugen etwa können Chips verwenden, die maximal 10 bis 30W verbrauchen. Im Mobilfunkbereich darf man für die Inferenz maximal 1W ansetzen. Und in IoT-Anwendungen, also für Sensoren am oder im menschlichen Körper liegt die verfügbare Leistung möglicherweise unterhalb von 10mW, oder sogar im Bereich 1mW.

Inferenz-Hardware mit minimalem Energiebedarf

Viele KI-Inferenz-Systeme rufen ständig, in aufeinander folgenden Layern, Daten und Gewichtungen aus dem Speicher ab. Auf jeder dieser sukzessiven Ebenen führen sie Multiplikationen und Additionen aus – so genannte Faltungen oder Konvolutionen – und speichern deren Ergebnisse. Die höchste Priorität beim Design eines KI-Chips mit niedrigem Energie-Budget hat deshalb die Minimierung der Daten, die hin und her bewegt, und der Distanz, über die sie transportiert werden müssen. Standardmäßig arbeiten KI-Systeme heute mit 32Bit-Gleitpunkt-Arithmetik. Die Minimierung der Datenmenge ließe sich dabei durch Absenken der Präzision bewerkstelligen, etwa mit einer 8Bit-Arithmetik. Es lässt sich zeigen, dass damit die Inferenz ohne große Verluste an Genauigkeit machbar ist. Deshalb gibt es viele 8Bit-Implementierungen. Doch auch sie bringen den Energiebedarf der Inferenz noch nicht in den für das Edge-Computing tragbaren Bereich. Eine Maßnahme besteht darin, die Präzision auf 1Bit herabzusetzen. Das resultiert in so genannten binären CNNs (Convolutional Neural Network). Wenig überraschend bedeutet dies einen weiteren Verlust an Genauigkeit im Vergleich zu 8Bit-Implementierungen. Doch in der Praxis reicht es in vielen Anwendungsfällen aus. Eine zweite Abhilfemaßnahme besteht in der Schaffung einer Architektur mit geringerem Energiebedarf für das wiederholte Aufrufen und Speichern von Millionen von Gewichtungen und Eingabewerten. Eine der besten Lösungen in dieser Hinsicht ist es, die trainierten Gewichtungen im Speicher abzulegen und sie dort zu halten, die Inferenz also in Gestalt des analogen In-Memory Computing auszuführen. Zentrale Einheiten eines solchen KI-Prozessors sind somit Speicher-Arrays, die die Werte der trainierten Gewichtungen mithilfe von analogen nicht-flüchtigen Bausteinen speichern, etwa in Resistive-RAMs. Jedes dieser Arrays repräsentiert also einen Layer des neuronalen Netzwerks, und im Array werden die erlernten Gewichtungen als Ohm’sche Leitwerte oder Konduktanzen der individuellen RAM-Bausteine kodiert. Wie lassen sich dann diese Gewichtungen mit dem Eingabewert multiplizieren und addieren? Indem man die Eingangswerte als Word-Line Spannungen der ReRAM-Arrays realisiert. Der Strom durch jede Zelle stellt dann aufgrund des Ohm’schen Gesetzes die Multiplikation der Gewichtung mit dem Eingangswert dar. Und der Strom in der Word Line entspricht im Sinne des Kirchhoff’schen Gesetzes der Summe der Zellenströme auf dieser Leitung. Auf diese Weise lassen sich die Faltungen effektiv implementieren, ohne die Gewichtungen immer wieder aufzurufen und sie hin und her zu bewegen. Natürlich gibt es bei dieser Vorgehensweise eine Reihe von Herausforderungen. So begrenzen die Varianzen der Speicherchips die Präzision, mit der die Gewichtungen kodiert werden können. Das wird insbesondere bei 8Bit Präzision zu einem Problem, jedoch nicht so sehr bei binären Lösungen, für die STT-MRAM sehr gut geeignet ist. Auch spielt die zusätzliche Komplexität bei der Integration von analogen Speichern in einem digitalen System eine Rolle. Denn dies erfordert Digital-Analog-Wandler (und umgekehrt). Doch der Gewinn an Bandbreite durch die Vermeidung der Datenverschiebung überwiegt bei Weitem den Nachteil der größeren Komplexität.

KI-Lösungen für smartere Sensoren

Das Design innovativer Hardware ist Imecs Daseinszweck. Und innovative Hardware ist notwendig, um IoT-Systeme smarter und individueller zu machen. In diesem Sinne arbeiten unsere Forscher an einer Pipeline, die entsprechende Lösungen verspricht. Sie sollen in den kommenden Monaten und Jahre vorgestellt werden. Hardware mit nichtflüchtigen analogen Speichern erlaubt die Implementierung der Faltungen in neuronalen Netzwerken mit minimalem Energieverbrauch – in der Größenordnung einiger Milliwatt. Das verlagert die Inferenz zur Edge des IoT, sei es mit binärer oder später auch mit höherer Präzision. Und ermöglicht damit die lokale Ausführung der smarten Mustererkennung, also die Aufdeckung von Wissensinhalten in großen Mengen von erfassten Daten. Das IoT wird damit erheblich smarter. Die nächste Zielvorgabe ist eine Hardware für Unsupervised ML, also eine Hardware, die den Einsatz von Sensoren ohne trainierte Parameter ermöglicht – Sensoren, die sich individuell und detailliert an ihre Träger und deren momentane Situation anpassen. Das gilt für tragbare Gesundheitssensoren mit detaillierter Kenntnis ihrer Träger. Sie machen das IoT smarter und ermöglichen zugleich eine gesteigerte individuelle Erfahrung.

Ausgabe:
IMEC vzw
www.imec-int.com

Das könnte Sie auch Interessieren