3 Punkte von GN⁺ 2024-01-17 | 1 Kommentare | Auf WhatsApp teilen

Was ist TinyML?

  • TinyML bezeichnet den Einsatz von Machine Learning auf Mikrocontrollern.
  • Im Gegensatz zu Systemen, die in traditionellem ML verwendet werden, kommt es auf Systemen mit sehr wenig CPU und RAM zum Einsatz, deren Stromverbrauch im Milli- oder Mikrowatt-Bereich liegt.
  • Dabei werden große Modelle verkleinert, damit sie auf Geräten mit sehr knappen Ressourcen und auf Mikrocontrollern eingesetzt werden können.
  • Die offizielle Website der TinyML Foundation ist https://www.tinyml.org/
  • Es gibt eine Reihe von drei kostenlosen Kursen der Harvard University:
    1. Grundlagen von TinyML (was man baut, warum man es baut und welche Probleme es gibt)
    2. Anwendungen von TinyML (datengetrieben, Bias usw.)
    3. Bereitstellung von TinyML (wo ein Modell bereitgestellt wird, Sicherheit und Datenschutz)

Grundprinzipien von TinyML

  • Eingebettete Systeme mit Mikrocontrollern verfügen über höchstens 256 kB Speicher und können daher keine großen Modelle ausführen.
  • Einige Beispiele für Betriebssysteme, die mit Mikrocontrollern verwendet werden können:
    • FreeRTOS
    • Mbed OS
  • Machine Learning besteht aus Algorithmen, die Muster in Daten finden.
  • Bei TinyML werden diese Algorithmen komprimiert, damit sie Muster in Daten effizient erkennen können.
  • Im IoT werden pro Tag 5 Quintillionen Byte an Daten erzeugt, von denen weniger als 1 % analysiert werden.

Verfahren zur Algorithmuskomprimierung

  • Pruning

    • Synapsen-Pruning: Entfernt Netzwerkverbindungen aus dem Modell. Manchmal kann die Genauigkeit dadurch sinken.
    • Neuronen-Pruning: Entfernt ganze Neuronen aus dem Modell und reduziert so den Rechenaufwand des Netzwerks.
  • Quantisierung

    • Werte werden innerhalb eines kleineren Bereichs diskretisiert. Wenn man beispielsweise Gleitkommazahlen in den Bereich von -128 bis 127 diskretisiert, müssen nur 256 Werte betrachtet werden.
    • Wenn ein Gleitkommawert, der in 4 Byte gespeichert wird, in einen Integerwert umgewandelt wird, der in 1 Byte gespeichert wird, verringert sich die Größe um das Vierfache.
    • Aufgrund der begrenzten Ressourcen ist Quantisierung in TinyML besonders wichtig.
  • Knowledge Distillation

    • Durch Wissen und Know-how wird das Modell verkleinert.

Werkzeuge

  • Verwendung von TensorFlow Lite.
  • TensorFlow richtet sich an ML-Forschende, während TensorFlow Lite für Anwendungsentwickler gedacht ist.

Einsatz von TinyML

  • Anwendungsfälle von TinyML speziell für die DIY-, Maker- und Hacker-Welt finden sich auf dieser Website.

Einsatz von TinyML in der Industrie

  • In der Industrie wird TinyML in der Wartung eingesetzt, um Effizienz zu steigern und Kosten zu senken, indem bei auftretenden Vibrationen vor möglichen Ausfällen gewarnt wird.
  • Aufgrund von Genauigkeitsproblemen kann es zu Fehlalarmen kommen, und die Verantwortung für diese Fehlalarme liegt beim Betreiber oder beim System.

TinyML in der Umwelt

  • Statt Daten erst zu sammeln und danach zu verarbeiten, kann TinyML Echtzeitreaktionen auf Umweltveränderungen liefern. So lassen sich zum Beispiel Veränderungen im Leben von Wildtieren in Echtzeit erkennen.

TinyML für Menschen

  • Hilft Menschen mit Behinderungen, mehr Aufgaben zu erledigen, ohne ihre Hände zu benutzen.
  • Verbessert UI und UX von Anwendungen und macht sie dadurch einfacher nutzbar.
  • Technologie wird geschaffen, um die menschliche Erfahrung zu verbessern. Sie sollte Menschen helfen.

Risiken und Nachteile

  • Funktioniert es für alle Bevölkerungsgruppen gut?
  • Ist der Datenschutz der Daten gewährleistet?
  • Können diese Daten geschützt werden?
  • Technologie sollte auf menschenzentrierter KI basieren. Das muss in Design, Entwicklung und Bereitstellung berücksichtigt werden.

Meinung von GN⁺

  • TinyML ist eine innovative Technologie, die Machine Learning auch in ressourcenbeschränkten Umgebungen ermöglicht und die Effizienz sowie Intelligenz von IoT-Geräten deutlich verbessern kann.
  • Verfahren zur Algorithmuskomprimierung wie Pruning, Quantisierung und Knowledge Distillation sind Schlüsselelemente, um Machine-Learning-Modelle so zu verkleinern, dass sie auch auf stromsparenden Geräten lauffähig sind.
  • Der Einsatz von TinyML kann in vielen Bereichen wie industrieller Wartung, Umweltmonitoring und Unterstützung von Menschen mit Behinderungen zur Verbesserung des menschlichen Lebens beitragen und ist ein gutes Beispiel für den positiven gesellschaftlichen Einfluss von Technologie.

1 Kommentare

 
GN⁺ 2024-01-17
Hacker-News-Kommentare
  • Entwicklung eines Rust-TinyML-Compilers

    • Im Rahmen eines Masterarbeitsprojekts wurde ein TinyML-Compiler auf Rust-Basis entwickelt.
    • Mithilfe von Rust-Prozedurmakros wird das Modell zur Compile-Zeit ausgewertet und eine predict()-Funktion erzeugt, die Inferenz für das gegebene Modell ausführt.
    • Es wurde eine deutlich kleinere Binärgröße als mit TensorFlow Lite for Microcontrollers und anderen Engines erreicht.
    • Auf einem 8-Bit-ATmega328 (Arduino Uno) konnte erfolgreich ein Sprachbefehl-Erkenner (TinyConv) ausgeführt werden.
  • Die Attraktivität des TinyML-Bereichs

    • TinyML ist ein spannendes Feld, in dem sich selbst mit sehr kleiner Hardware viel erreichen lässt.
    • So kann man beispielsweise mit einem esp32-s3 ein Echtzeit-Computer-Vision-System bauen (zum Preis von etwa 2 Dollar).
    • Durch Lösungen wie AutoML ist der Einstieg in TinyML leicht möglich.
    • Hardware-Unternehmen beginnen, MCUs mit NPU anzubieten, um den Stromverbrauch zu minimieren.
    • TinyML dürfte in Zukunft noch deutlich mehr Aufmerksamkeit bekommen.
  • Mit LLMs gezielte Viren für Infrastruktur

    • Es wird sich ein Virus vorgestellt, der mithilfe von LLMs (Large Language Models) auf Infrastruktur abzielt.
    • Kleine Geräte könnten im Stromnetz versteckt werden, Netzwerkverkehr sammeln und versuchen, Systeme zu zerstören.
    • Solche Geräte könnten in Netzwerkausrüstung verborgen sein und wären schwer zu erkennen, da sie keinen externen Traffic benötigen.
  • Erklärung von TinyML / Edge ML bei Edge Impulse

    • Edge Impulse hat eine Plattform aufgebaut, mit der sich ML-Modelle erstellen und auf Edge-Geräten ausrollen lassen.
    • Nutzer können ein Konto anlegen, ein Keyword-Spotting-Modell bauen und es direkt in WASM ausführen.
    • Das Aufkommen eingebetteter Beschleuniger-ASICs/NPUs treibt die Verbreitung von Edge ML voran.
  • Beispiel für den Einsatz von ESP32, TensorFlow Lite und Edge Impulse bei Hacker Box

    • Hacker Box hat kürzlich ein ausführliches Beispiel mit ESP32, TensorFlow Lite und Edge Impulse bereitgestellt.
  • Gegenwart und Zukunft von TinyML

    • TinyML bedeutet, Machine Learning auf stromsparenden eingebetteten Geräten auszuführen.
    • Jedes Smartphone enthält einen stromsparenden DSP-Chip, der Keywords wie "Hey Google" oder "Hey Siri" erkennt.
    • TinyML ist eine Teilmenge von Edge AI und umfasst alle Arten von Geräten am Rand des Netzwerks.
    • Das Feld ist sehr spannend, löst vielfältige Probleme und ist eine Technik, die sich auf nahezu jeden Bereich anwenden lässt.
  • Verschiedene Meinungen zu TinyML

    • Es gibt die Ansicht, dass im TinyML-Bereich das Entwickeln eingeschränkter Lösungen große Wirkung entfalten kann.
    • TinyML gilt ähnlich wie IoT als wichtige Zukunftstechnologie, entwickelt sich in der Praxis jedoch nur langsam.
    • Für alle, die zusätzliche Inhalte zu TinyML suchen, werden Videos der Asia-2023-Konferenz empfohlen.