Machine-Learning-Modelle zur Verwaltung und Skalierung von IoT-Daten

Die Analysten von IDC haben in einer Umfrage 2019 festgestellt, dass immer mehr deutsche Unternehmen IoT-Projekte umsetzen oder umsetzen wollen. Treiber dieser Entwicklung ist vor allem die Industrial IoT. Von den befragten 258 Unternehmen hatten 42 Prozent IoT-Projekte bereits umgesetzt bzw. befanden sich in der konkreten Pilotierung, weitere 47 Prozent planten und evaluierten solche Projekte.

In der Folge dieser Projekte entstehen enorme Datenmengen, die verwaltet, in Data-Lakes gesammelt und danach ausgewertet werden müssen. Ohne künstliche Intelligenz und die richtige IoT-Datenstrategie ist diese Analyse jedoch zum Scheitern verurteilt und aus dem See wird alsbald ein Sumpf.

Machine-Learning- (ML-)Modelle spielen hierbei eine wichtige Rolle. Es reicht jedoch nicht aus, ein einziges ML-Modell für alle Datenquellen und Geräte einzusetzen. Nicht wenige Anwendungsfälle erfordern, dass jedes angeschlossene Gerät ein eigenes individuelles ML-Modell bekommt. Beispiele für solche Anwendungsfälle sind die Optimierung einer (Sensoren an Schiffscontainern zur genauen Lokalisierung der Ware), die vorausschauende Wartung von Maschinen, das Laden von Elektrofahrzeugen oder das Smart-Home-Management. Dabei treten aus technologischer Sicht ein paar Hindernisse auf:

  • Die Menge aller erhobenen IoT-Daten ist zu groß für eine Maschine und muss in der Cloud verwaltet werden.
  • Die pro Gerät erfassten Daten passen wiederum auf eine Maschine.
  • Für jedes Gerät ist ein eigenes ML-Modell erforderlich.
  • Das Data-Science-Team führt die Implementierung von Single Node-Bibliotheken wie Sklearn und Pandas durch, so dass sie eine niedrige Friktion bei der Verteilung eines Proof-of-Concepts für nur eine Maschine benötigen.

 

Model-Training und Model-Scoring

Um diese Probleme zu lösen, bieten sich zwei Lösungswege an: Model-Training und Model-Scoring. IoT-Geräte wie Sensoren von Fahrzeugen zur Messung der Witterungsbedingungen produzieren eine beeindruckende Datenmenge. ML-Modelle mit nur einer Maschine sind für ein Problem dieser Komplexität nicht skalierbar und lassen sich oft nicht gut in Produktionsumgebungen integrieren. Data Science-Teams wollen sich auf der anderen Seite keine Gedanken darüber machen, ob der von ihnen verwendete Dataframe eine einzige Maschine mit Pandas-Objekt oder über Apache-Spark betrieben wird. Die Modelle und ihre Performance müssen für die Reproduzierbarkeit, die Überwachung und den Einsatz protokolliert werden.

  • Model-Training: Bei diesem Ansatz wird eine Funktion erstellt, die die Daten für ein einzelnes Gerät als Eingabe übernimmt. Dann wird es trainiert. Das daraus resultierende Modell und alle Bewertungsmetriken sollten protokolliert werden.
  • Model-Scoring: Hier wird eine zweite Funktion erstellt, die das trainierte Modell auf das IoT anwendet und Prognosen ableitet.

Beide Funktionen müssen dann in Pandas UDFs umgewandelt werden, um sie mit Apache-Spark zu verarbeiten. Pandas-UDF ermöglicht die effiziente Verteilung von beliebigem Python-Code innerhalb eines Spark-Auftrags, wodurch die Verteilung von ansonsten seriellen Operationen ermöglicht wird. Diese individualisierten Modelle, werden mit den IoT-Daten fortwährend trainiert, um bessere und belastbare Ergebnisse zu erzielen.

Fazit

Mit der Anzahl der im Model-Training verfügbaren Datensätze und der Bewertungsmetrik können die Modelle, die gut abschneiden, von den Modellen, die schlecht abschneiden, herausgefiltert werden. Data-Scientists können diese Informationen verwenden, um zwischen einem Modell pro IoT und einem Modell, dass auf alle IoT trainiert ist, hin- und her zu schalten. Letztlich ist die Analyse der IoT-Daten für den Geschäftserfolg jedes Datengetriebenen Unternehmens von zentraler Bedeutung. Die Analyse wiederum steht und fällt jedoch mit dem richtigen ML-Modell und dem ihm zugrunde liegenden Ansatz.

Von Roman Pritzkow, RVP DACH bei Databricks