20.12.2022 | Data Science & Big Data

MLOps Teil 1: Deployment Gaps vermeiden – wie Machine Learning auch wirklich zum Einsatz kommt

Machine Learning-Modelle zählen zu den wichtigsten Treibern für zukünftigen Unternehmenserfolg. Die Anwendungsmöglichkeiten sind scheinbar grenzenlos, die Effekte faszinierend und Projekte zur Nutzung verschiedener Modelle sprießen geradezu aus dem Boden. Die Bilanz der tatsächlichen Generierung von Mehrwerten, also der Operationalisierung von Algorithmen, ist jedoch verhältnismäßig schlecht. Warum ist dem so? Und wie gelingt es Ihnen, sogenannte Deployment Gaps zu vermeiden zugunsten erfolgreicher Machine Learning-Projekte?
Florian Erhardt

Der Schlüssel zur Generierung von Mehrwert liegt im Machine Learning Model Operationalization Management, auch MLOps genannt.  In diesem zweiteiligen Blogbeitrag beschäftigen wir uns mit dem Thema MLOps, schauen uns an, was das eigentlich ist, wozu es gebraucht wird und wie es implementiert werden kann. Dabei wird sich der erste Teil allgemein mit Definition und Nutzen beschäftigen und der zweite Teil konkret auf die einzelnen Schritte eines MLOps-Prozesses eingehen, in welchem wir uns auch das CRISP-ML(Q)-Vorgehen anschauen.

Bevor wir uns der Definition von MLOps widmen, gehen wir aber noch kurz darauf ein, was genau die „Deployment Gap“ im Bereich Machine Learning ist und wieso diese vorkommt.

 

Deployment Gap – der lange Weg zu erfolgreichen Machine Learning-Projekten

Für den hohen Anteil an Projekten, die es niemals in Produktion schaffen, ist die „Deployment Gap“ verantwortlich. Sie stellt die Differenz dar zwischen allen Projekten, die ein Proof of Concept (POC) bestanden haben und denen, die tatsächlich im operativen Geschäft eines Unternehmens erfolgreich umgesetzt wurden. Mehrere Gründe sind dafür verantwortlich. Der Hauptgrund ist aber die Komplexität von Machine Learning-Projekten. Der unternehmerische Erfolg hängt einerseits von erfahrenen Data Scientisten ab, die nur schwer auf dem Arbeitsmarkt zu findenden sind. Aber auch die Datengrundlage, die richtigen messbaren Zielen und die Interaktion von Fachbereich, Data Engineers, Data Scientisten und IT-Spezialisten spielen eine Rolle. Da die Kombination dieser Faktoren nicht immer gegeben ist und Machine Learning-Projekte oftmals eher als Experiment angesehen werden, entsteht die „Deployment Gap“.

Natürlich ist das kein ganz neues Problem, auch klassische IT-Projekte müssen sich mit ähnlichen Komplexitäten auseinandersetzen. Das hat bereits über die Jahre zur immer feineren und professionelleren Ausbildung von DevOps geführt. Als Wortkombination aus „Development“ und „Operations“ beschreiben diese technische Methoden zur Zusammenarbeit zwischen Softwareentwicklung und IT-Betrieb. Machine Learning-Projekte haben jedoch einige Eigenheiten, welche in klassischen DevOps-Verfahren nicht berücksichtigt werden. Beispielsweise arbeiten Algorithmen immer mit Wahrscheinlichkeiten und sind nicht deterministisch. Diese Unterschiede adressiert MLOps mit dem Ziel erfolgreiche Machine Learning-Projekte umzusetzen und Deployment Gaps zu vermeiden.

 

Was ist MLOps

MLOps ist also die Adaption von DevOps-Prozessen auf die Eigenheiten bezüglich der Erstellung und Operationalisierung von Machine Learning-Modellen.

MLOps liegt die Annahme zugrunde, dass die Trennung des Prozesses der Erstellung der Algorithmen/Modelle und der Bereitstellung dieser im operativen Geschäft, die Qualität und die Transparenz mindert und damit das Risiko des Scheiterns des Projektes erhöht. Um die Chancen auf erfolgreiche Machine Learning-Projekte zu erhöhen, wird schon bei der Initialisierung der Projekte der komplette Prozess auf unternehmerischen Mehrwert analysiert und alle grundlegenden Schritte werden von Anfang an mitgedacht. Unterschieden wird in die Phasen „Designen“, „Modellieren“ und „Operationalisieren“.

Phasen von Anfang an mitdenken bedeutet dabei nicht, dass alle beim Start des Projektes starr definiert sein müssen. Iterative Nachjustierungen einzelner Phasen im Verlauf von Projekten sind möglich und auch notwendig.

Designphase:

In der Designphase werden die Anforderungen an das Projekt definiert. Dabei müssen klare Ziele für erfolgreiche Machine Learning-Projekte in verschiedenen Dimensionen messbar gemacht werden. Dazu zählen monetärer Erfolg bei Einführung des Algorithmus (Skalierungsmöglichkeiten, Einsparpotenzial etc.) und Metriken, wann der Algorithmus gut genug ist. Hierdurch wird überprüft, ob der Aufwand für einen Use Case gerechtfertigt ist, hinsichtlich des potenziellen Erfolgs.

Auch eine grobe Zielarchitektur und Operationalisierungsstrategie müssen im Design berücksichtigt werden. Dabei ist zu klären, ob das Modell laufend Prognosen liefern wird (Streaming), ob es nach Bedarf abgerufen wird (API) oder ob es in regelmäßigen Abständen in einer Datenpipeline eingesetzt werden soll (Batchprozesse). Die Ausgestaltung der Operationalisierung kann sehr unterschiedlich ausfallen.

Ein letzter wichtiger Schritt ist der Datencheck. Sind die richtigen Daten in ausreichender Form aktuell verfügbar und sauber genug, dass ein Projektstart sinnvoll ist? Können eventuell Daten hinzugezogen oder eingekauft werden, die das Projekt unterstützen? Sind für das Projekt relevante Datenquellen im Unternehmen bereits alle erschlossen?

Mit Beendigung dieser Phase liegt ein grober Plan vor, wie das Projekt anzugehen ist, wo Risiken liegen und in welchem Zeithorizont das Projekt umgesetzt werden kann.

Modellieren:

In der Phase des Modellierens werden die vorher definierten Datenquellen für das Projekt erschlossen und zusammengeführt. Darauf aufbauend werden passende Modelle für das jeweilige Problem trainiert und validiert. Diese Phase unterscheidet sich am stärksten zu der in klassischen IT-Projekten. Machine Learning-Modelle werden in der Regel nicht nur einmal trainiert und sind dann fertig. Sich ständig aktualisierende Daten verändern die Güte des Modells.

Denken Sie an Modelle, welche einen volatilen Markt vorhersagen sollen, wie Häuserpreise oder Preise von Gebrauchtwagenfahrzeugen. Diese müssen immer mit aktuellen Daten gefüttert werden, um gute Ergebnisse zu erzielen. Gute MLOps-Architekturen versionieren dabei alle wichtigen Parameter für jedes neue Trainieren von Modellen (Daten, genutzte Modelle, die Parameter der Modelle und fertig trainierte Modelle). Damit wird die Vergleichbarkeit zwischen Modellen hergestellt und die Performance der Modelle über die Zeit hinweg sichtbar gemacht.

Im zweiten Teil der Blogpost-Reihe werden wir noch genauer darauf eingehen. Ist ein Modell, gegeben den Kriterien die in der Designphase festgelegt wurden, gut genug, wird die nächste Phase des Projektes angegangen.

Operationalisieren:

In dieser Phase werden die Modelle in den operativen Prozess überführt. Die Ausgestaltung ist von Projekt zu Projekt unterschiedlich und wird in der Designphase definiert. Es gibt aber einige Best Practices, die bei allen Zielarchitekturen gleich sind.

Deployments sollten so wenig manuell wie möglich sein. Hierzu werden CI/CD-Pipelines definiert, welche die nötigen Schritte automatisiert ausführen. Continuous Integration (CI) und Continuos Deployment (CD) sind Teilbereiche von DevOps, welche die Erstellung von Software vereinfachen und das Deployment so automatisiert und fehlerfrei wie möglich gestalten wollen. CI/CD-Pipelines können auf Plattformen wie GitHub, GitLab, Bitbucket etc. definiert und ausgeführt werden. Fertig trainierte Modelle werden in einer Modelregistry gespeichert, welche in jedem guten MLOps Tool integriert ist, und können von dort geladen werden.

Modelle können mit der Zeit an Aktualität verlieren. Daher ist es essentiell, nach dem ersten Deployment die Güte der Prognosen weiterhin zu beobachten. Fällt die Güte mit der Zeit ab, muss der Algorithmus neu trainiert werden.

Damit kommen wir in die iterative Phase, welche laufend Design (Verbesserungen im Setup), Training (ständiges Anpassen des Algorithmus an neue Gegebenheiten) und Deployment (Automatisiertes Produktivsetzen neuer Modelle) wiederholt.

Ausblick auf Teil zwei: Erfolgreiche Machine Learning-Projekte durch CRISP-ML(Q)-Prozesse

Dauerhaft erfolgreiche Machine Learning-Projekte muss alle Phasen abdecken und ständig verbessern. Glücklicherweise ist in letzter Zeit ein ganzer Strauß guter MLOps Tools auf den Markt gekommen, welche das Leben eines Data Scientisten vereinfachen. Auch sind bisherige Prozesse im Bereich DevOps und Data Analytics adaptiert worden auf die spezifischen Anforderungen aus dem Bereich Machine Learning. Im zweiten Teil schauen wir uns daher den CRISP-ML(Q)-Prozess an, welcher alle drei Phasen von MLOps berücksichtigt.

Sie möchten mehr erfahren?
In "MLOps Teil 2 erfahren Sie, wie Sie Prinzipien nach MLOps einhalten mithilfe des CRISP-ML(Q)-Prozesses
Zum Blogpost