close-icon
Erhalte direkt unseren nächsten MLOps-Artikel
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

MLOps: Der ultimative Guide

Von den Grundlagen bis zur konkreten Umsetzung.

datarevenue-icon
by
DataRevenue
Markus Schmitt

Was bedeutet MLOps?

Für MLOps gibt es ganz unterschiedliche Definitionen: Ist es eine Initiative, eine Plattform oder ein Jobtitel? Viele Auffassungen davon sind entweder sehr vage (z.B.  “Philosophie”) oder viel zu spezifisch (z.B. nur auf ein bestimmtes Toolset bezogen).

Unsere Definition von MLOPs lautet folgendermaßen:

MLOps ist eine Sammlung bewährter Verfahren zur Handhabung von Code, Daten und Modellen für Machine Learning Teams.

Das bedeutet, MLOps hilft deinem Team in diesen Punkten:

  • Code verwalten: MLOps unterstützt gängige Best Practices in der Softwareentwicklung und ermöglicht kontinuierliche Entwicklung und Implementierung deiner Modelle.
  • Best Practice: Setzt neue Ideen schnell in Experimente um und bringe neue Modelle zuverlässig in Produktion - mit Hilfe von klaren Richtlinien und Prozessen.
  • Daten verwalten: Frameworks und Workflows helfen bei der Verarbeitung, Speicherung und Tracking deiner Datensätze - auch über verschiedene Datenversionen hinweg.
  • Effiziente Kollaborationen: Teams können gemeinsam auf Code, Daten, Modelle und Experimente zugreifen. Jedes Teammitglied kann die Ergebnisse der anderen einsehen und darauf aufbauen.
  • Modelle verwalten: MLOps hilft dir dabei, Modelle zu trainieren, Versuchsergebnisse zu tracken und robuste APIs einzusetzen.

MLOps ist ein weites Feld, daher geben wir nun zunächst einen allgemeinen Überblick über Einsatzgebiete und Funktionen. Anschließend gehen wir auf diejenigen Themen ein, die am Anfang besonders wichtig sind, um MLOps richtig einzusetzen.

Die MLOps-Landschaft

Der Einstieg in das Thema sowie die Auswahl der geeignetsten Tools kann zu Beginn schnell überfordern. Um den Start zu erleichtern, haben wir eine Übersicht der nützlichsten Machine Learning Tools inklusive kurzen Erläuterungen erstellt:

Screenshot einer Website, die eine interaktive Tabelle zeigt, mit Tools wie Dask, Modin und Airflow.
Ein Überblick der nützlichsten Machine Learning Tools und Plattformen.

Diese MLOps-Tools decken ganz unterschiedliche Bereiche ab, von der Datenverarbeitung, Visualisierung und Aufgabenautomatisierung bis hin zu Modell Training und Deployment. Wir haben uns hier bewusst auf Open Source-Optionen konzentriert.

Aber lohnt es sich bei der Vielzahl an kommerziellen Plattformen vielleicht doch, auch kostenpflichtige Tools und Plattformen zu nutzen?

MLOps: Selbst entwickeln vs. Kaufen

Zahlreiche kommerzielle Plattformen werben damit, MLOps einfacher zu gestalten. Oft entscheiden sich Teams für diese Variante, weil sie sich nicht zutrauen, eigene Tools zu entwickeln oder Open Source zu verwenden.

Aber proprietäre Tools halten oft nicht das, was sie versprechen. Stattdessen verursachen sie unnötige Kosten und schränken dein Team eher ein, als dass sie von großem Nutzen sind.

Die versprochenen Shortcuts sind oft nicht umsetzbar; und dein Team benötigt am Ende trotzdem noch MLOps-Fachwissen, um diese Plattformen richtig einzusetzen.

Aus diesem Grund sind wir starke Verfechter von Open Source Tools für MLOps. Sie bieten mehr Flexibilität, geringere Kosten, mehr Lernpotenzial und einfacheres Onboarding für jeden der in Zukunft damit arbeiten soll.

Fähigen Entwicklerteams empfehlen wir daher, eine eigene Lösung aus vorhandenen Open Source-Komponenten zu entwickeln.

Aber wie fängt man mit der Entwicklung einer eigenen Lösung überhaupt an, ohne monatelang alle verfügbaren Optionen zu vergleichen? Da es bisher keinen Open Source Blueprint für MLOps gab, haben wir selbst einen erstellt, an dem du dich orientieren kannst.

Spar dir die monatelange Recherche- und Entwicklungsphase - die wir selbst hinter uns haben. Innerhalb weniger Stunden kannst du mit einer guten Vorlage dein eigenes Open Source MLOps-Framework aufsetzen.

Eine einsatzbereite Open Source MLOps-Architektur

Ein Diagramm, das drei Säulen (Datentransformation, Modell-Training und -Entwicklung und Modell-Inferenz) mit mehreren Komponenten (Dataflow Management, Feature Store, Feature Server, Inferenz und Modell-Monitoring, Experimentation Hub, Experiment Tracking, Distributed Computing Model Registry) zeigt.
Machine Learning Lösungen müssen Datenflow, Experimente, Features und Model Serving verwalten.

Wenn du die Leistung und Flexibilität einer eigenen Lösung möchtest, aber gleichzeitig nicht auf die Einfachheit und den Komfort einer verwalteten proprietären Lösung verzichten willst, dann wirf einmal einen Blick auf unsere OpenMLOps Architektur. Diese Architektur enthält eine Reihe von Terraform-Skripten, um das gleiche MLOps-Setup auf Kuberneteseinzurichten, das wir selbst intern verwenden. Das Ganze lässt sich in weniger als einem Tag einrichten.

Das sind die Vorteile von OpenMLOps:

  • Kostenlos, flexibel und Open Source: Wir haben OpenMLOps ausschließlich mit Open Source Tools entwickelt. Das bedeutet, dass es sich problemlos anpassen lässt, sobald sich deine Anforderungen ändern: Ersetze dafür einfach einzelne Komponenten durch andere Tools oder deine eigenen Lösungen.
  • Unkomplizierter Start: Viele MLOps-Tools haben recht steile Lernkurven. Unsere Schritt-für-Schritt Anleitungen helfen dir dabei, die Tools kennenzulernen.
  • Skalierbar: Open MLOps läuft auf Kubernetes und lässt sich daher je nach Bedarf skalieren. Bei großen Workloads kannst du problemlos mehr Rechenleistung hinzufügen. Du kannst es aber genauso auf kleineren Clustern laufen lassen.

Open MLOps umfasst folgende Komponenten:

  • JupyterHub, eine geteilte Notebook-Umgebung für die Kollaboration im Team.
  • MLFlow um Experimente und Modelle zu tracken.
  • Prefect um Task-Workflows zu verwalten.
  • Seldon um Modelle in APIs umzuwandeln.

Du kannst diese Komponenten entweder zu deinem vorhandenen Kubernetes-Cluster hinzufügen, oder du erstellst mit unserem Setup-Skript (AWS EKS) einen neuen Cluster. 

MLOps Ressourcen

Wir haben über das Thema MLOps bereits einige Beiträge veröffentlicht. Selbst wenn du mit fertigen Lösungen arbeitest, wirst du einiges an internem Fachwissen zum Thema MLOps benötigen. Um dir den Einstieg zu erleichtern findest du hier eine Reihe nützlicher Ressourcen:

Erste Schritte 

Wenn du dich ganz am Anfang befindest und die Grundlagen zum Thema ML-Ops verstehen möchtest, empfehlen wir diese Artikel: 

Die richtigen Tools für die eigene MLOps Plattform

Sobald du dich dazu entschieden hast, MLOps anzuwenden, benötigst du eine Reihe spezieller Tools und Plattformen. In Anbetracht der Vielzahl von Optionen ist dies vermutlich der schwierigste Teil. Wir haben daher unsere Favoriten miteinander verglichen und die jeweiligen Vor- und Nachteile gegenübergestellt. (Und unsere Favoriten sind alle in OpenMLOps mit dabei).

MLOps einrichten

Sobald du dich für deine Tools entschieden hast, musst du sie einrichten und konfigurieren. Wenn du dich an dem Setup orientieren möchtest, das wir bei Data Revenue selbst verwenden, wirf gerne einen Blick in unsere Schritt für Schritt Anleitungen. Darin erklären wir, wie du JupyterHub, Prefect, Seldon, Dask und MLFlow einfach einrichtest:

Benötigst du Unterstützung?

Wenn du Unterstützung bei deinem MLOps Setup benötigst, melde dich gerne bei uns.

Bekomme immer die neusten Artikel

Trag dich mit deiner E-Mail ein, um du bekommst jede Woche unseren neusten Artikel.

Ich danke Ihnen! Ihre Einreichung ist eingegangen!
Oops! Something went wrong while submitting the form.