Was ist Tiny Machine Learning (tinyML, TML)?
INHALT
Was ist Tiny Machine Learning (tinyML)?
Von GPT-3 und Turing-NLG zu Tiny Machine Learning
Energie-Effizienz
Datenschutz
Speicherung
Latenzzeit
Anwendungen für tinyML
Keyword-Spotting
Visuelle Wake Words
Die Vorteile
Autor

Technischer Redakteur
Alles zu tinyML
TinyML zwischen Machine Learning und Embedded System
(Leonardo Cavagnis; https://leonardocavagnis.medium.com/tinyml-machine-learning-for-embedded-system-part-i-92a34529e899)
Jüngste Fortschritte beim Maschinellen Lernen (ML) haben Modelle hervorgebracht, die ein bis wenige Kilobyte (KB) groß sind und direkt auf kleinen, eingeschränkten IoT-Geräten ausgeführt werden können. Dieser Tiny Machine Learning (TML, auch tinyML) genannte Ansatz umgeht die teure Kommunikation zwischen IoT-Geräten und der Cloud und ermöglicht so energieeffiziente Echtzeit-Analysen. TinyML ist ein neuer Forschungsbereich, der die Konzeptionierung und Entwicklung von Techniken des maschinellen Lernens (ML) zum Inhalt hat, die auf eingebetteten Systemen und Internet-of-Things (IoT)-Einheiten ausgeführt werden können.
Die Verfahren und Methoden, die die für unterschiedliche Hardware-Plattformen charakteristischen Einschränkungen bei Rechenleistung, Speicher und Energie berücksichtigen, nutzen Annäherungs- und Reduzierungsmechanismen, um die Rechenlast und den Speicherbedarf von Algorithmen für Maschinelles Lernen (ML) und Deep Learning (DL) zu verringern.
Was ist TML? (Harvard CS249R: Intro to TinyML; https://www.youtube.com/watch?v=AWxJY_hS_Ac; 22.11.2021)
In den letzten zehn Jahren ist die Größe von Algorithmen für maschinelles Lernen aufgrund von Verbesserungen der Prozessorgeschwindigkeiten und dem Aufkommen großer Datenmengen exponentiell gestiegen. Ursprünglich waren die Modelle klein genug, um mit einem oder mehreren CPU-Kernen auf lokalen Rechnern ausgeführt zu werden, doch wurden schnell Berechnungen mit Grafikprozessoren (GPUs) notwendig, um größere Datensätze zu verarbeiten. Diese wiederum wurden durch die Einführung von Cloud-basierten Diensten wie Software-as-a-Service-Plattformen (SaaS, z. B. Google Colaboratory) und Infrastructure-as-a-Service (IaaS, z. B. Amazon EC2 Instances) leichter verfügbar. Zu dieser Zeit konnten Algorithmen noch auf einzelnen Maschinen ausgeführt werden. Inzwischen wurden spezialisierte anwendungsspezifische integrierte Schaltungen (ASICs) und Tensor Processing Units (TPUs) entwickelt, die die Leistung von ca. acht GPUs erreichen können. Und diese Systeme bieten die Erweiterung, das Lernen auf mehrere Systeme zu verteilen, um so immer größere Modelle zu erstellen.
TML wird in der IT Community zunehmend beliebter
(tinyML Talks local Webcast, recorded February 23, 2021 "Making ML work in the real world" Dr. Dominic Binks - Audio Analytic; https://www.youtube.com/watch?v=22n4jNMjg-c)
Von GPT-3 und Turing-NLG zu Tiny Machine Learning
Dies erreichte einen neuen Höhepunkt mit der Veröffentlichung des GPT-3-Algorithmus im Mai 2020. Es handelt sich dabei um den größten Natural Language Processing (NLP) Transformer für authentische Sprachproduktion, die von menschlich erzeugter Sprache kaum bis nicht mehr unterscheidbar ist. Der Algorithmus nutzt eine Netzwerkarchitektur mit unglaublichen 175 Milliarden Neuronen – mehr als doppelt so viele wie im menschlichen Gehirn (ca. 85 Milliarden). Dies ist mehr als das Zehnfache der Anzahl der Neuronen des nächstgrößeren neuronalen Netzes, das jemals geschaffen wurde: Turing Natural Language Generation (T-NLG, veröffentlicht im Februar 2020, mit etwa 17,5 Milliarden Parametern). Schätzungen zufolge kostete das Training des Modells rund 10 Millionen Dollar und verbrauchte etwa 3 GWh Strom (etwa die Leistung von drei Kernkraftwerken für eine Stunde). Die Leistungen von GPT-3 und Turing-NLG sind zwar anerkennenswert, doch haben diese gigantischen und energiehungrigen Modelle auch mit dazu geführt, dass die Kritik am immer größeren CO2-Fußabdruck der KI-Branche steigt. Gleichzeitig trug dies zu neuen Ansätzen bei, Künstliche Intelligenz (KI) energieeffizienter zu gestalten. Ideen, wie effizientere Algorithmen, Datendarstellungen und Berechnungen, stehen seit einigen Jahren im Mittelpunkt eines bisher kaum bekannten Bereichs: Tiny Machine Learning.
Tiny Machine Learning (tinyML) ist die Schnittstelle zwischen Maschinellem Lernen und eingebetteten Internet-of-Things-Geräten (IoT). Diese aufstrebende technische Disziplin hat das Potenzial, viele Branchen zu revolutionieren. Für die Bereiche Edge Computing und energieeffiziente Datenverarbeitung ist TML besonders interessant.
Die traditionelle Idee des IoT war, dass Daten von einem lokalen Gerät zur Verarbeitung in die Cloud gesendet werden. Es gab jedoch von Anfang an Bedenken hinsichtlich Datenschutz, Latenzzeit, Speicherung und Energieeffizienz, um nur einige zu nennen.
Anwendungen: tinyML mit Umweltsensoren für verschiedene Zwecke (Harvard CS249R: Intro to TinyML; https://www.youtube.com/watch?v=AWxJY_hS_Ac)
Energie-Effizienz
Die Übertragung von Daten (mit/ohne Kabel) ist sehr energieintensiv, etwa um eine Größenordnung energieintensiver als integrierte Berechnungen (insbesondere Multiplikations- und Akkumulationseinheiten). Daher wäre die Entwicklung von IoT-Systemen, die ihre eigene Datenverarbeitung durchführen können, die energieeffizienteste Methode. KI-Vorreiter haben diese Idee der „datenzentrierten“ Datenverarbeitung im Gegensatz zur „rechenzentrierten“ Datenverarbeitung beim Cloud-Modell schon seit einiger Zeit diskutiert.
Datenschutz
Die Übertragung von Daten birgt die Gefahr von Datenschutzverletzungen. Daten könnten abgefangen werden und sind von Natur aus weniger sicher, wenn sie an einem einzigen Ort (z. B. in der Cloud) gespeichert werden. Wenn die Daten hauptsächlich auf dem Gerät verbleiben und die Kommunikation auf ein Minimum reduziert wird, ist die Sicherheit und der Datenschutz von Anfang an besser.
Speicherung
Viele IoT-Geräte sammeln wertlose Daten, da die Geräte die Daten größtenteils nicht benötigen. Stellen Sie sich eine Sicherheitskamera vor, die den Eingang eines Gebäudes 24 Stunden am Tag überwacht, d. h. 24 Stunden lang Bilddaten speichert. Während eines großen Teils des Tages sind die Kamerabilder nutzlos, weil nichts passiert. Durch ein intelligenteres System, das nur bei Bedarf aktiviert wird, ist weniger Speicherkapazität erforderlich, und die Datenmenge, die in die Cloud übertragen werden muss, wird erheblich reduziert.
Latenzzeit
Bei standardmäßigen IoT-Geräten wie Google Assistant werden Daten zur Verarbeitung an die Cloud übertragen und die Geräte geben dann eine Antwort auf der Grundlage der Algorithmusausgabe zurück. In diesem Sinne ist das Gerät nur ein Gateway zu einem Cloud-Modell, wie eine Brieftaube zwischen Ihnen und den Servern von Google. Das Gerät selbst ist ziemlich dumm und völlig abhängig von der Geschwindigkeit des Internets, um ein Ergebnis zu liefern. Wenn Sie langsames Internet haben, wird auch Ihr Google Assistant langsam. Bei einem intelligenten IoT-Gerät mit integrierter automatischer Spracherkennung hingegen ist die Latenzzeit geringer, da es weniger (bzw. im Idealfall überhaupt nicht) von externer Kommunikation abhängig ist.
Das Gehirn als Vorbild für Künstliche Neuronale Netze (Artificial Neural Networks, ANN) bei ML und tinyML
(Leonardo Cavagnis; https://leonardocavagnis.medium.com/tinyml-machine-learning-for-embedded-system-part-i-92a34529e899)
Dies führte zur Entwicklung des Edge Computing, d. h. der Idee, Verarbeitungstätigkeiten direkt an Bord von Edge-Geräten (Geräte am „Edge“, also am „Rand“ der Cloud) durchzuführen. Diese Geräte sind in Bezug auf Speicher, Rechenleistung und Stromverbrauch sehr genügsam, was zur Entwicklung effizienterer Algorithmen, Datenstrukturen und Berechnungsmethoden führt. Solche Verbesserungen sind auch auf größere Modelle anwendbar, was bei Modellen des maschinellen Lernens zu erheblichen Effizienzsteigerungen führen kann, ohne die Modellgenauigkeit zu beeinträchtigen. Der von Microsoft entwickelte Bonsai-Algorithmus kann beispielsweise nur 2 KB groß sein, aber dennoch eine bessere Leistung aufweisen als ein typischer k-Nearest-Neighbor-Algorithmus (KNN) mit 40 MB oder ein neuronales Netz mit 4 MB. Dies mag unbedeutend klingen, aber die gleiche Genauigkeit bei einem tausend Mal kleinerem Modell ist wegweisend. Ein so kleines Modell kann auf einem Arduino Uno (Microcontroller einer einfachen offenen Hard- und Softwarespezifikationen-Plattform) ausgeführt werden, der 2 KB RAM zur Verfügung hat – Sie können also ein solches maschinelles Lernmodell auf einem 5-Dollar-Mikrocontroller aufbauen. Das Modell selbst wird mit Software erstellt, zum Beispiel die häufig bei TML eingesetzte TensorFlow Lite-Modellierungssoftware.
Wir befinden uns an einem interessanten Scheideweg, an dem sich das Maschinelle Lernen zwischen zwei Computerparadigmen aufspaltet: rechenzentriertes Computing und datenzentriertes Computing. Im rechenzentrierten Paradigma werden die Daten von Instanzen in Rechenzentren gehortet und analysiert, während im datenzentrierten Paradigma die Verarbeitung lokal am Ursprung der Daten, meist am Edge, erfolgt. Beim rechenzentrierten Ansatz scheint sich schnell eine Obergrenze abzuzeichnen, während die Arbeit in der datenzentrierten Welt gerade erst begonnen hat.
IoT-Geräte und eingebettete Modelle für maschinelles Lernen werden in der modernen Welt immer allgegenwärtiger. Prognosen von Juniper Research zufolge wird es bis 2022 mehr als 50 Milliarden aktive IoT-Geräte geben. Viele davon haben Sie vielleicht noch gar nicht bemerkt. Intelligente Türklingeln, intelligente Thermostate, ein Smartphone, das „aufwacht“, wenn Sie ein paar Worte sagen oder auch nur den Hörer abnehmen.
Für tinyML-Einsteiger: Das Tiny Machine Learning Kit (Arduino)
Anwendungen für tinyML
Einsatzmöglichkeiten für TML bieten sich viele. In der Landwirtschaft können Pflanzenwachstum und Ernteertrag gesteigert werden, indem tinyML-Geräte zum Einsatz kommen, die Nutzpflanzen überwachen und eine „Hilfsnachricht“ senden können, wenn sie Parameteränderungen wie Bodenfeuchtigkeit, bestimmte Gase (z. B. das Fruchtreifegas Ethan) oder bevorstehende Wetterwechsel erkennen (z. B. aufgrund von Windgeschwindigkeits-, Temperatur- und/oder Luftfeuchtigkeitsänderungen).
Für Gewerbe und Privathaushalte kann eine intelligente Türklingel mit einer Kamera kombiniert werden, die mittels Gesichtserkennung feststellen kann, wer anwesend ist. Dies ist einerseits für Sicherheitsbereiche mit Zugangsbeschränkungen interessant, andererseits kann es auch rein informativen Zwecken gelten, zum, Beispiel, indem die Aufnahme der Türklingelkamera an die Endgeräte im Haus (Bildschirme, Smartphones) weitergeleitet wird, um zu sehen, wer vor der Tür steht.
Zwei der Hauptschwerpunkte von tinyML sind derzeit:
Keyword-Spotting
Dies ist relativ bekannt und verbreitet: „Hey Siri“ und „OK Google“ sind Beispiele für Schlüsselwörter (bzw. Hotwords oder Wake Words). Diese Assistenzgeräte „warten“ kontinuierlich auf Audioeingaben von einem Mikrofon und sind darauf trainiert, nur auf bestimmte Tonfolgen zu reagieren, die die gelernten Schlüsselwörtern darstellen. Diese Geräte sind einfacher als automatische Spracherkennungsanwendungen (Automatic Speech Recognition, ASR) und verbrauchen dementsprechend weniger Ressourcen.
Visuelle Wake Words
Neben rein akustischen „Weckwörtern“ gibt es auch die so genannten visuellen Wake Words. Dies ist eine Art binäre Bewertung bzw. Einstufung eines Bildes, um festzustellen, ob etwas vorhanden oder nicht vorhanden ist. Ein denkbares Szenarium wäre ein Beleuchtungssystem, das sich aktiviert, wenn es die Anwesenheit einer Person erkennt, und sich ausschaltet, wenn diese das Haus verlässt. Es könnte auch in der Wildtierbeobachtung verwendet werden, um automatisiert nur dann Bildaufnahmen zu machen, wenn ein bestimmtes Tier anwesend ist etc. Dies ist analog auch übertragbar auf Sicherheitskameras, die sich nur dann aktivieren, wenn sie die Anwesenheit einer Person erkennen.
Die Vorteile
TinyML ist internetunabhängig, da die Verarbeitung in den kleinen Geräten erfolgt und nicht an eine Cloud, und deren Ergebnisse wieder an das Gerät zurückgesendet werden müssen. Die wesentlich geringeren Kosten für Hardware erleichtern den Einstieg, und Anwender sparen Entwicklungskosten, da die kleinen Geräte einen stark reduzierten Hardwareumfang haben, sodass sich nicht nur Unternehmen die Investition in Primärhardware leisten können. Bereits weniger als 50 Euro genügen für die bei Spracherkennungsmodellen verwendete Grundhardware. Dies wird zusätzlich befördert durch den kleinen Formfaktor. Da die kleinen Boards, zum Beispiel von Arduino, aufgrund ihrer Einfachheit kaum Energie benötigen, kann eine Knopfzellenbatterie mehrere Jahre genügend Energie für Spracherkennungsmodelle bereitstellen – es wird nur dann minimal Strom benötigt, wenn ein Wake Word das tinyML-Gerät aktiviert, das dann wiederum nur ein Signal an die nächsthöhere Recheninstanz (z. B. CPU) gibt, wo die energieintensiven Verarbeitungen angestoßen werden.
Ein wesentlicher Faktor ist Sicherheit. Monitoring-Prozesse, zum Beispiel für Kleinkinder in Privathaushalten (Babyphone) oder für Betreuungs- und Pflegebedürftige in Einrichtungen, können wesentlich individueller, einfacher und effizienter sein – und mit besserem Schutz der persönlichen Patientendaten! Ein tinyML-Gerät verarbeitet die erfassten Daten integriert, also im Gerät selbst statt diese sensiblen Daten in eine Cloud zu übertragen und somit datensammelnden Anbietern wie Google oder Amazon etc. zu überlassen. Ob das persönliche Fitness-Niveau per Smartwatch, der Insulinwert eines Diabetespatienten oder das schlafende Baby im Nebenzimmer überwacht wird, ist dabei unerheblich. Wichtig ist, dass die Daten vor Ort im Gerät verarbeitet werden. Diese Reduzierung und Vereinfachung bietet neue Optionen, die die Einschränkungen des oft langsamen Übertragens von Daten in der Cloud mit den bekannten Latenzproblemen aufheben, sodass Entwickler und Ingenieure besseren Zugang zu Tools und Erkenntnissen haben. Die Nutzung von tinyML in Verbindung mit der Cloud kann durch Komprimierung dazu führen, dass Modelle für Maschinelles Lernen sogar auf den Iot-Geräten selbst laufen können, wie zum Beispiel auf Sensoren. Forschung und Medizin können die Entwicklung von Medikamenten erheblich verkürzen und tiergerechter gestalten, indem mit Hardware und tinyML optimierte Testverfahren statt Tierversuche eingesetzt werden.
Tiny Machine Learning bietet als noch relativ neuer Bereich eine spannende Zukunft mit viel Entwicklungspotenzial für Mustererkennung in großen Informationsmengen und für genauere prädikative Analysen, aber auch zum Beispiel bei der Lösung von Netzwerkbandbreitenproblemen – und steht ganz im Trend von CO2-Reduzierung und emissionsneutraler IT.
INHALT
Was ist Tiny Machine Learning (tinyML)?
Von GPT-3 und Turing-NLG zu Tiny Machine Learning
Energie-Effizienz
Datenschutz
Speicherung
Latenzzeit
Anwendungen für tinyML
Keyword-Spotting
Visuelle Wake Words
Die Vorteile
Autor

Technischer Redakteur
Nutzen Sie bei weiteren Fragen auch gerne unsere kostenlose Beratung
Sales Kontakt
Mark Dorn