# MLOps

MLOps oder ML Ops ist ein Paradigma, das darauf abzielt, Modelle des maschinellen Lernens zuverlässig und effizient in der Produktion einzusetzen und zu warten. Der Begriff setzt sich zusammen aus „maschinellem Lernen“ und der kontinuierlichen Bereitstellungspraxis (CI/CD) von DevOps im Softwarebereich. Modelle für maschinelles Lernen werden in isolierten experimentellen Systemen getestet und entwickelt. Wenn ein Algorithmus einsatzbereit ist, wird MLOps zwischen Data Scientists, DevOps und Machine Learning-Ingenieuren praktiziert, um den Algorithmus in Produktionssysteme zu überführen. Ähnlich wie DevOps oder DataOps Ansätze zielt MLOps darauf ab, die Automatisierung zu erhöhen und die Qualität von Produktionsmodellen zu verbessern, während gleichzeitig geschäftliche und gesetzliche Anforderungen berücksichtigt werden. Während MLOps als eine Reihe von Best Practices begann, entwickelt es sich langsam zu einem unabhängigen Ansatz für das ML-Lebenszyklusmanagement. MLOps gilt für den gesamten Lebenszyklus – von der Integration in die Modellerstellung (Softwareentwicklungslebenszyklus, kontinuierliche Integration/kontinuierliche Bereitstellung) über die Orchestrierung und Bereitstellung bis hin zu Zustand, Diagnose, Governance und Geschäftsmetriken.

## Definition

MLOps ist ein Paradigma, das Aspekte wie Best Practices, Konzepte und eine Entwicklungskultur für die durchgängige Konzeption, Implementierung, Überwachung, Bereitstellung und Skalierbarkeit von maschinellen Lernprodukten umfasst. Vor allem handelt es sich um eine technische Praxis, die drei Disziplinen miteinander verbindet: maschinelles Lernen, Software-Engineering (insbesondere DevOps) und Data Engineering. MLOps zielt darauf ab, maschinelle Lernsysteme in die Produktion zu überführen, indem die Lücke zwischen Entwicklung (Dev) und Betrieb (Ops) überbrückt wird. Im Wesentlichen zielt MLOps darauf ab, die Erstellung von Produkten für maschinelles Lernen zu erleichtern, indem diese Prinzipien genutzt werden: CI/CD-Automatisierung, Workflow-Orchestrierung, Reproduzierbarkeit, Versionierung von Daten, Modellen und Code, Zusammenarbeit, kontinuierliches ML-Training und -Evaluierung, Nachverfolgung und Protokollierung von ML-Metadaten, kontinuierliche Überwachung und Feedbackschleifen.

## Historie

Die Herausforderungen des laufenden Einsatzes von maschinellem Lernen in Anwendungen wurden in einem Paper aus dem Jahr 2015 hervorgehoben. Das prognostizierte Wachstum im Bereich des maschinellen Lernens beinhaltete eine geschätzte Verdopplung der ML Anwendungen von 2017 bis 2018 und erneut von 2018 bis 2020. MLOps gewann schnell an Zugkraft unter KI/ML-Experten, Unternehmen und Technologiejournalisten als eine Lösung, die die Komplexität und das Wachstum des maschinellen Lernens in Unternehmen bewältigen kann.
Aus Berichten geht hervor, dass die Mehrheit (bis zu 88 %) der Initiativen für maschinelles Lernen in Unternehmen nur schwer über das Teststadium hinauskommt. Diejenigen Unternehmen, die maschinelles Lernen tatsächlich in die Produktion einführen, konnten jedoch eine Steigerung der Gewinnspanne von 3 bis 15 % verzeichnen. Der Markt für maschinelles Lernen wurde 2019 auf 23,2 Milliarden US-Dollar geschätzt und wird aufgrund der raschen Akzeptanz bis 2025 voraussichtlich 126 Milliarden US-Dollar erreichen.

## Architektur

Systeme für maschinelles Lernen lassen sich in acht verschiedene Kategorien einteilen: Datenerfassung, Datenverarbeitung, Feature-Engineering, Datenkennzeichnung, Modellentwurf, Modelltraining und -optimierung, Endpunktbereitstellung und Endpunktüberwachung. Jeder Schritt im Lebenszyklus des maschinellen Lernens besteht aus einem eigenen System, das jedoch miteinander verbunden werden muss. Dies sind die Mindestsysteme, die Unternehmen benötigen, um maschinelles Lernen in ihrem Unternehmen zu skalieren.

## Ziele

Es gibt eine Reihe von Zielen, die Unternehmen mit Hilfe von MLOps-Systemen erreichen wollen, die ML erfolgreich im gesamten Unternehmen implementieren, darunter:
* Bereitstellung und Automatisierung
* Reproduzierbarkeit von Modellen und Vorhersagen
* Diagnostik
* Governance und Einhaltung von Vorschriften
* Skalierbarkeit
* Kollaboration
* Geschäftliche Anwendungen
* Monitoring and Management
Ein Standardverfahren wie MLOps berücksichtigt jeden der oben genannten Bereiche, was Unternehmen helfen kann, Arbeitsabläufe zu optimieren und Probleme bei der Implementierung zu vermeiden.
Eine übliche Architektur eines MLOps-Systems würde Data-Science-Plattformen umfassen, auf denen Modelle erstellt werden, und die analytischen Engines, auf denen Berechnungen durchgeführt werden, wobei das MLOps-Tool die Bewegung von Modellen des maschinellen Lernens, Daten und Ergebnissen zwischen den Systemen orchestriert.