Sieben Learnings aus dem produktiven Einsatz von Machine Learning

In der strategischen Planung von großen Unternehmen spielen Machine-Learning-Projekte eine immer wichtigere Rolle. Mittlerweile zeichnet sich ein klares Bild von den Herausforderungen ab, die den Erfolg am stärksten beeinflussen. Eine reine Machine Learning-Logik lässt sich zwar oft sehr schnell und kostengünstig entwickeln. Doch die Integration in bereits bestehende Geschäftsprozesse und die allgemeine Software-Bereitstellung und -Wartung ist eine aufwändige und oft teure Angelegenheit. Drei Faktoren sind für die erfolgreiche Umsetzung maßgeblich: Erstens können traditionelle Softwareentwicklungsparadigmen den Projekterfolg nicht mehr garantieren, sobald große Datenmengen ins Spiel kommen. Zweitens ist ein hohes Maß an Koordination und Kooperation vonnöten, da häufig viele Teams in die Projekte eingebunden sind. Neben Data-Science- und Data-Engineering-Teams sind auch Infrastruktur- und Applikationsentwicklungs-Teams involviert. Drittens bauen ML-Entwicklungsprojekte zu Beginn oft nicht direkt auf den Daten auf – sondern auf einmaligen Daten-Exporten. Dies führt dazu, dass die Projektteams weder nicht-funktionale noch Skalierungsanforderungen einbeziehen können. Beispiele hierfür sind unterschiedliche Datenformate, aber auch die Größe von Datenmengen oder die Geschwindigkeit, mit der Daten bereitgestellt werden, sowie erwartete Antwortzeiten.

Sieben Learnings für die erfolgreiche Umsetzung von Machine-Learning-Projekten

Die folgenden Erkenntnisse zeigen, wie typische Fallstricke mit dem richtigen Mindset und den richtigen Tools vermieden werden können. Wichtig ist, zu Projektbeginn das richtige Setup für eine hohe Entwicklungsgeschwindigkeit zu wählen. Darüber hinaus soll das schlussendliche Ziel – das produktive Deployment – so unkompliziert wie möglich erreicht werden. Die folgenden Erkenntnisse sollen einen Beitrag leisten, um ML-Projekte erfolgreicher zu gestalten sowie schneller und kostengünstiger echten Business Value zu erzeugen.

Lokale Datenexporte und unstrukturierten Code vermeiden

Es ist üblich, lokal gespeicherte Beispieldaten, lokale Skripts und unstrukturierte Entwicklungsumgebungen für die Arbeit mit Daten und die Ergebnisanalyse zu nutzen. Dies sorgt anfangs für einen Zuwachs an Geschwindigkeit, weil die Daten vorhanden und beherrschbar sind. Sobald die Ressourcenanforderungen steigen, stößt dies jedoch schnell an Grenzen. Vor allem der Anspruch, die Entwicklungen universal nutzen zu können, leidet darunter: Der stark lokal getriebene Entwicklungsansatz macht es schwer, reproduzierbare Ergebnisse zu liefern, kollaborativ zu arbeiten und Aufgaben wie Parsen, Prozessierung, Training oder Inferenz unabhängig voneinander zu bearbeiten. Das ist fatal, sobald es um das Deployment in Produktivumgebungen geht, in denen sich Datenschemata, Speicher- und Prozessierungstechnologien sowie weitere Faktoren ständig ändern. Kurz gesagt: je früher an das produktive Deployment gedacht wird, desto besser.

Bei der initialen Auswahl der ML-Algorithmen an die späteren Skalierbarkeits-Anforderungen denken

Das Training von ML-Modellen kann sehr lange dauern. In Verbindung mit großen Datenmengen ist dies bei vielen Projekten eine erhebliche technische Herausforderung. Solche Erwägungen sollten bereits in der Experimentierphase einfließen. So lassen sich Skalierbarkeitsprobleme und ein hierdurch verursachter Neuentwicklungsaufwand in späteren Projektphasen verhindern. Eine von vornherein effiziente Trainings-Pipeline liefert zudem einen Produktivitätszuwachs für das Entwicklungsteam und reduziert die Kosten für das Training der Modelle.

Schreibe einen Kommentar

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