AI & Machine Learning Digitalisierung

Machine Learning Projekt Checkliste

Im Folgenden möchte ich die wichtigsten Themen und Aufgaben für ein Machine Learning (kurz: ML) Projekt in einer Checkliste zusammenstellen – und implizit eine Antwort darauf geben, wieso der Aufwand für ML Projekte manchmal (noch) schwieriger zu kalkulieren ist, als bei klassischen Software Projekten.

Das Problem ganzheitlich und im Gesamtkontext erfassen

Eigentlich selbsterklärend, aber first things first – wir führen IT Projekte durch, um ein konkretes Problem zu lösen. Wir müssen dieses Problem ganzheitlich verstehen und uns über die adressierten Ziele bewusst sein. Häufig ist das Problem aus Sicht des Unternehmens durch einen Business Owner skizziert. Wir kennen eventuell gar nicht alle Ziele und auch nicht den gesamten Kontext des Problems.

Deshalb klären wir zu erst den aktuellen Prozess, die derzeitige Lösung bzw. den ggf. manuellen Workaround mit allen involvierten Personen(-gruppen) und beantworten Fragen, wie:

  • Haben andere Teams und Kollegen ähnliche Herausforderungen, d.h. können wir Kooperationen und Synergien schaffen?!
  • Gibt es bereits vergleichbare Lösungen?
  • Welche Erfahrungen und welches KnowHow ist im Unternehmen vorhanden? Wo liegen ggf. größere Herausforderungen?
  • Wie kann die Problemlösung/Zielerreichung gemessen werden?

Die dokumentierten Ergebnisse dieser Fragen, sollten regelmäßig mit dem Projektteam abgestimmt und überprüft werden. Während dieser Abstimmungen wird gleichzeitig die Zielerreichung und der aktuelle Stand der Zielerreichung validiert und bei Bedarf neu ausgerichtet – eventuell haben sich die Unternehmensziele/-prioritäten verschoben und es konnten neue Erkenntnisse generiert werden.

Daten sinnvoll nutzen

Das Beschaffen, Auswählen und Sammeln von Daten war nie einfacher und zugleich nie komplexer als heute! 😉

Ein valides Vorgehen ist: prüfen welche Daten vorhanden sind, welche Daten man noch nutzen kann und wie aufwendig deren Nutzung wäre. Diese Überlegung überführen wir in eine Aufwand/Nutzen Roadmap. Im weiteren Verlauf können wir daraus iterativ Teilprojekte für die Datenbeschaffung und -bereitstellung ableiten.

Frühstmöglich und kontinuierlich sollte an der Automatisierung der Datenbeladung gearbeitet werden – das schafft Ressourcen und Geschwindigkeit im späteren Projektverlauf und der Aufwand ist ein Invest in die weiteren Teilprojekte. Außerdem muss man heute nicht mit lokalen Kopien auf irgendwelchen Notebooks arbeiten. Teams sollten von Anfang an befähigt sein auf einer zentralen Plattform arbeiten zu können! Über zentrale Mechanismen, können Verantwortliche effizienter Datenberechtigungen und -zugriffe verwalten, die Projektarbeit steuern und nicht zuletzt wird Das Legal Team viel beruhigter sein, wenn sensible Daten automatisiert ausgeblendet oder anonymisiert sind.

Data Insights sind Teamarbeit

Die Daten im Kontext einer bestimmten Problemstellung zu verstehen, ist Teamplay. Welche KPIs sind relevant, welche Ausnahmen vom Standardprozess gibt es – möglichst nah am realen Leben! Auch wenn es aufwendig ist:

  • Alle betrachteten Attribute sinnvoll benennen
  • Typen (categorial, int, float, text,…) bestimmen
  • Klären, wie mit fehlenden Werten, Ausreißern und Co. umgegangen wird
  • Korrelationen zwischen den Attributen bestimmen!
  • Arbeitsschritte, Entscheidungsgrundlagen und Entscheidungen dokumentieren!

Pro-Tipp: im Austausch mit dem interdisziplinären Experten Team gerne Block und Bleistift (oder Tablet + Pen) in die Hand nehmen und die Frage beantworten: was ist eigentlich das Problem und wie würden wir es mit gesundem Menschenverstand lösen?!

Data Preparation für die Machine Learning Algorithmen

Bleiben die originalen Daten unangetastet, probiert sich mit einer Kopie direkt entspannter, immer! Für alle Ladestrecken und Transformationen gilt:

  • Alle Ladestrecken und Transformationen werden in entsprechende Funktionen/Code ausgelagert und sind ohne manuelle Eingriffe reproduzierbar
  • Trainings- und Testdaten durchlaufen dieselben Lade- und Transformationsschritte
  • Saubere Data Pipelines sind während der Entwicklung genauso wichtig, wie für den späteren produktiven Betrieb!

Alle Schritte der Data Preparation werden weitestgehend automatisiert. Zur Data Preparation zählt das Data Cleaning, die Feature Auswahl und das Feature Engineering, sowie das Normalisieren und Standardisieren der Features.

Es gibt für jedes Problem das passende Modell

Wie bereite ich nun eine möglichst gute Lösung vor? Wir versuchen in angemessener Zeit möglichst viele verschiedene Modelle zu prüfen – idealerweise indem wir möglichst viel wiederverwenden können (Automatisierung!). Dabei kann es praktikabel sein, möglichst viele unterschiedliche Modelle mit Standardparametern zu berechnen und die Performance (sinnvoll!) zu messen und zu vergleichen.

Optimieren des Machine Learning Modells

Nun wissen wir, wie wir dem Problem begegnen, also können wir unsere Lösung optimieren! Je feiner ein Modell abgestimmt wird, desto mehr Daten möchte man nutzen. Cross Validation bzw. Kreuzvalidierung kommt bei der Optimierung der Hyperparameter zum Einsatz. Zwei Tipps, die sich als nicht ganz unpraktisch erwiesen haben:

  • Modell Prämissen/Konfiguration, zum Beispiel, ob fehlende Werte durch Null oder Mittelwerte ersetzt werden, als Hyperparameter verstehen und die beste Lösung entsprechend validieren
  • mit zunehmender Datenmenge bzw. Durchlaufzeiten – GridSearch, RandomSearch und bei größter Datenmenge Bayes Optimization Approach verwenden.

Im letzten Schritt, wenn man mit seiner Arbeit zufrieden ist, die Performance des Modells bewerten, den Generalization Error schätzen und dann das Modell NICHT weiter tweaken, da man ansonsten schnell zu Overfitting tendiert!

Monitoring und Maintenance von Machine Learning Lösungen

Unsere Lösung geht Live, die Arbeit ist getan – nicht ganz. Daten und Modell sollten permanent getrackt werden. Das bedeutet ein geeignetes Monitoring aufsetzen, die Live-Performance messen, Alerts und Messaging einrichten. So erfahren wir rechtzeitig, ob zum Beispiel ein fehlerhafter Sensor in der Produktionsstraße beliebige Werte sendet und das Modell „stört“ oder ob die Qualität des Modells im Laufe der Zeit langsam abnimmt und wir auf Basis frischer Daten erneut Trainieren müssen.


1 Kommentar Neues Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert