© Ket4up/Shutterstock.com, © S&S Media/Bianca Röder
CI/CD und Operations für Machine Learning

MLOps: You rock it, you roll it!


Data Science, Machine Learning (ML) und Artificial Intelligence haben in den letzten Jahren einen wahren Hype ausgelöst und viel Aufmerksamkeit in der Industrie bekommen. Man versucht mit Machine-Learning-Methoden entweder die Produktivität der Nutzer oder die Interaktivität der Applikation zu steigern. Zahlreiche Data-Science-Teams verbringen ihre Zeit damit, Machine Learning Models zu trainieren. Allerdings beobachten wir zwei Arten von Problemen, die in der Praxis entstehen.

Entweder schafft es die Mehrheit der ML Models nicht, in ein Softwareprodukt eingebunden zu werden, oder das Model Deployment nimmt zu viel Zeit in Anspruch. Wir haben eine Reihe von Gründen identifiziert, die diese Problematik erklären:

  1. ML Model Deployment ist ein komplexer Prozess. Generell handelt es sich um das Management der drei Pipelines Data Engineering, Model Engineering und Software Engineering [1].

  2. Es gibt keine standardisierten Prozesse, um ein ML Model in die Produktionsumgebung zu bringen. Machine Learning Model Operation Management (MLOps) ist immer noch in der Anfangsphase [2].

  3. Den richtigen Infrastrukturstack zu definieren, um Machine Learning Deployments zu automatisieren, erfordert momentan einen Trial-and-Error-Prozess. Darüber hinaus sind viele Tools und Systeme für Machine Learning Serving in einer aktiven Entwicklungsphase [3].

In diesem Artikel erklären wir, wie Continuous Delivery für Machine Learning Models funktioniert. Vor allem aber, wie man Data Engineering, Model Engineering und Software Engineering Pipelines in einer CI/CD Pipeline unterbringt. Darüber hinaus möchten wir zeigen, wie man den manuellen Prozess des Deployments von ML Models mit DevOps-Praktiken automatisiert.

MLOps-Lebenszyklus

Grundsätzlich erfolgt die Implementierung von Machine Learning in Softwaresystemen in drei Phasen (Abb. 1).

kammer_visengeriyeva_mlops_1.tif_fmt1.jpgAbb. 1: Ein Überblick über die drei Hauptphasen der ML-Implementierung in Softwareprojekten [1]

Design (Problemdefinition): Selbst die beste ML-Lösung wird scheitern, wenn sie nicht der Lösung von Benutzungs- oder Businessproblemen dient. Daher versuchen wir in dieser ersten Phase herauszufinden, wer die User unserer Software sind. Welche Probleme haben sie? Welche von diesen Problemen sind am besten mit ML lösbar? Und vor allem, können wir eine nichtdeterministische Lösung durch ML hinnehmen? Nehmen wir als Beispiel eine Software zur Abrechnung von beruflichen Reisekosten. Diese Software könnte einige Metadatenfelder, beispielsweise die Kategorie eines ...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang