close-icon
Erhalte immer unsere aktuellsten MLOps Updates
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Open MLOps: Open Source Machine Learning in Produktion

Wir releasen die Beta-Version von Open MLOps: eine Open Source Plattform, um Machine Learning Lösungen zu entwickeln.

datarevenue-icon
by
DataRevenue
Markus Schmitt

Jedes Machine Learning Team kennt die gleichen Aufgaben: Datenaufbereitungs-Pipelines verwalten, Modelle trainieren & testen und Modelle als APIs bereitstellen. 

Fast jedes Team arbeitet dabei mit seinem eigenen Mix an Tools und Skripten. Dabei stehen Teams oft vor der Wahl, entweder mit kostenpflichtigen Plattformen zu arbeiten, oder sich mühsam in Open Source Optionen einzuarbeiten. Manch kostenpflichtige PLatform kann relativ schnell und einfach eingesetzt werden, schränkt jedoch stark ein - die zweite Option ist eher komplex einzurichten, bietet dafür aber mehr Flexibilität.

Open MLOps - Flexibel und einfach

Open MLOps ist eine Sammlung von Terraform-Skripten und -Anleitungen, mit denen du eine vollständige MLOps-Plattform in einem Kubernetes-Cluster einrichten kannst. Dabei handelt es sich ausschließlich um Open Source Lösungen.

Ein Diagramm, das auf der x-Achse die Flexibilität und auf der y-Achse die sofortige Einsatzfähigkeit zeigt. Open MLOps ist oben rechts, kostenpflichtige Tools oben links und Open Source Tools unten rechts.
Open MLOps ist sofort einsatzbereit und kann problemlos an deine Bedürfnisse angepasst werden.

Für wen eignet sich Open MLOps?

Open MLOps eignet sich für jedes Entwicklerteam. Wir haben es so gestaltet, dass es sich leicht einrichten lässt und für nahezu jeden Machine Learning Einsatzbereich geeignet ist. MLOps eignet sich auch für dich, wenn du dich in einem dieser Punkte wiederfindest:

  • Machine Learning Forschungsteams: Ihr möchtet Best Practices von MLOps nutzen, wisst jedoch nicht genau, wie ihr anfangen sollt. Für ein eigenes Framework fehlen technische Kapazitäten.
  • Machine Learning Startups: Euer PoC soll schnell veröffentlicht werden, gleichzeitig aber auch skalierbar sein. Ihr wisst, dass Kubernetes eine Lösung wäre, euch fehlt jedoch die nötige Expertise.
  • Individuelle Machine Learning Anwender: Bei deinen eigenen Projekten hast du Mühe damit, deine Experimente zu tracken, und verschwendest viel Zeit und Aufwand mit repetitiven Aufgaben. Du benötigst einen leichteren und schnelleren Weg, um deine Modelle in APIs zu verwandeln, Experimente zu tracken und Datenpipelines zu verwalten.
  • Machine Learning Teams in größeren Unternehmen: Vorgefertigte Lösungen sind deinem Team nicht flexibel genug. Ihr müsstet eure eigene Lösung entwickeln, möchtet aber nicht ganz bei Null anfangen.
  • Machine Learning Studenten: Wenn du den Sprung von der Wissenschaft in die Industrie wagen willst, helfen dir Open MLOps die heute wichtigsten Tools kennenzulernen.

Mit Open MLOps kannst du ein konfigurierbares ML-Toolset in einem Kubernetes-Cluster deployen. Wenn du deine eigene Authentifizierung benötigst oder Dienste auf eine spezielle Art konfigurieren möchtest, kannst du einfach das Repository forken und auf den vorhandenen Terraform-Skripten aufbauen.

Was ist Open MLOps?

 Netzwerkdiagramm der aufgesetzten Tools: Notebooks (JupyterHub), Workflow und Dataflow (Prefect), Experiment Tracking (MLFlow), Distributed Computing (Dask) und Model Serving (Seldon).
Open MLOps richtet mehrere Open Source Machine Learning Tools ein und vernetzt sie untereinander.

Open MLOps ist ein Open Source Repository mit Terraform-Skripten und detaillierten Anleitungen, um verschiedene Machine Learning Tools in einem Kubernetes-Cluster zu verwenden.

Standardmäßig sieht das Setup folgendermaßen aus:

  • Prefect: Um Aufgaben zu planen und DAGs (Directed acyclical data graphs) zu erstellen. Wird eingesetzt, um Daten zu bereinigen, Modelle zu trainieren oder jegliche Tasks, die automatisiert werden sollen, zu organisieren. Tasks werden in Python definiert und lassen sich dann problemlos in vorhandene Pipelines integrieren.
  • JupyterHub: Eine geteilte Jupyter Notebook Umgebung, mit dem Teams gemeinsam Experimente durchführen, Code austauschen und Daten bearbeiten können.
  • MLFlow: Zum Tracken von Experimenten und Modellen, um zu verfolgen, welche Experimente zu welchen Ergebnissen geführt haben.
  • Dask: Zur einfachen Parallelisierung komplexer Berechnungen auf mehreren Prozessoren oder Rechnern.
  • Seldon: Um Modelle in REST-APIs umzuwandeln und sie in Produktion zu bringen.

Was brauche ich, um MLOps einzusetzen?

Der einfachste Weg, um mit MLOps zu beginnen, ist mit AWS. Hierzu benötigst du lediglich Zugriff auf ein AWS-Konto und die Berechtigung, neue Dienste hinzuzufügen. 

Außerdem benötigst du etwas Erfahrung im Umgang mit Befehlszeilen-Tools. Während des Setups wirst du vor allem mit Kubectl und Terraform arbeiten, unsere Anleitungen erklären aber alles Schritt für Schritt.

Mit unserem Set Up Guide kannst du innerhalb von ein paar Stunden alles Wichtige konfigurieren. Investierst du noch eine Stunde mehr, trainierst du schon bald dein erstes Modell.

Warum sollte ich mit Open MLOps arbeiten?

MLOps ist ein neuer - aber rasant an Bedeutung gewinnender - Ansatz, der Machine Learning Teams dabei hilft, zuverlässige Ergebnisse zu liefern und effizient zusammenzuarbeiten. Dein Team profitiert in mehrfacher Hinsicht:

  • Entwickler können einfacher eingestellt werden. Entwickler interessieren sich nicht für Jobs, die auf firmeneigener Software basieren. Die stellen nämlich oft eine Sackgasse dar und bieten wenig Wissen das sich auf andere Jobs übertragen lässt.
  • Du musst das Rad nicht neu erfinden. Am Anfang ist die Versuchung groß, eine eigene Plattform zu entwickeln, die alles kann, was man braucht. Meistens ist das jedoch um einiges komplizierter als erwartet (lies dazu auch gerne unseren Artikel darüber, warum Machine Learning Engineering komplizierter als Software-Entwicklung ist). Selbst bei sehr spezifischen Anforderungen kannst du mit Open MLOps als Basis beginnen und deine individuelle Lösung darauf aufbauen.
  • Reproduzierbare Modelle entwickeln. Ein Hauptproblem vieler Machine Learning Teams besteht darin, vergangene Arbeitsschritte zu reproduzieren - sowohl im Laufe der Zeit, als auch über verschiedene Systeme hinweg. Indem du die richtigen Tools und MLOps-Praktiken verwendest, kannst du sicherstellen, dass alle Arbeitsschritte später einfach nachvollzogen werden können.
  • Effizient zusammenarbeiten. Wenn jeder im Team das gleiche System verwendet, ist es viel einfacher effizient zusammenzuarbeiten, Modelle auszutauschen und Aufgaben zu teilen.

Feedback, Probleme oder Verbesserungsvorschläge?

Wenn du Open MLOps getestet hast und Unterstützung brauchst, oder deine Erfahrungen teilen möchtest, melde dich gerne bei uns. Alternativ kannst du auch ein Issue oder Pull Request direkt im Open MLOps Repository erstellen.

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.