Überblick
Machine Learning Operations (MLOps) ist eine Reihe von Workflow-Praktiken mit dem Ziel, Bereitstellung und Management von Machine Learning-Modellen (ML) zu optimieren.
Mit MLOps soll die Integration von ML-Modellen in die Softwareentwicklung kontinuierlich weiterentwickelt werden. Dazu orientiert sich MLOps an den Grundsätzen von DevOps und GitOps. Wenn Data Scientists, Engineers und IT-Teams MLOps einführen, können sie mit der Optimierung der iterativen Trainingsschleife synchron sicherstellen, dass die Modelle für maschinelles Lernen genau und auf dem neuesten Stand bleiben. Dadurch werden kontinuierliches Monitoring, Retraining und Deployment möglich, sodass sich die Modelle an sich ändernde Daten anpassen und ihre maximale Performance über einen längeren Zeitraum beibehalten können.
Welche Vorteile bietet Ihnen die Einführung von MLOps?
ML-Modelle erstellen mithilfe der Mustererkennung in Daten eine Vorhersage. Wird das Modell im Rahmen seiner Weiterentwicklung mit neueren Daten konfrontiert, für die es nicht trainiert wurde, tritt ein als „Datendrift“ bezeichnetes Problem auf. Zu Datendrift kommt es im Laufe der Zeit, wenn die statistischen Eigenschaften, die zum Trainieren des ML-Modells verwendet werden, veralten. Wird dies nicht berücksichtigt und korrigiert, kann sich das negativ auf ein Unternehmen auswirken.
Zur Vermeidung von Datendrift müssen Unternehmen ihre Modelle überwachen und ein hohes Maß an Vorhersagegenauigkeit wahren. Durch Anwendung der MLOps-Verfahren kann ein Team die Qualität und Genauigkeit eines prädiktiven Modells verbessern. Gleichzeitig wird das Management vereinfacht, Datendrift vermieden und die Effizienz von Data Scientists optimiert.
Nachfolgend finden Sie mehrere Beispiele dafür, wie MLOps einem Unternehmen nutzen können:
Reproduzierbarkeit: Das MLOps-Framework hilft, Änderungen an Code, Daten und Konfigurationsdateien unterschiedlicher Modelle zu verfolgen und zu managen. Dadurch können sich Unternehmen auf konsistente Reproduzierbarkeit von ML-Experimenten verlassen.
Continuous Integration und Continuous Deployment (CI/CD): MLOps-Frameworks lassen sich in CI/CD-Pipelines integrieren und ermöglichen die Automatisierung von Tests, Validierung und Deployment. Dies wiederum beschleunigt Entwicklungs- und Lieferzyklen und fördert eine Kultur der kontinuierlichen Verbesserung.
Verbesserte Zusammenarbeit und straffere Zeitpläne: MLOps ermöglicht es Teammitgliedern, effektiv zusammenzuarbeiten und so Engpässe zu beseitigen und die Produktivität zu steigern. Durch Automatisierung manueller Aufgaben können Unternehmen außerdem mehr Modelle schneller bereitstellen und sie für die bestmögliche Genauigkeit häufiger wiederholen.
Kosteneinsparungen: Die laufenden Anpassungen und Verbesserungen, die für die Aufrechterhaltung eines präzisen ML-Modells erforderlich sind, sind mühsam, insbesondere wenn sie manuell vorgenommen werden. Durch die Automatisierung mit MLOps können Unternehmen Ressourcen einsparen, die sonst für die Finanzierung zeitaufwendiger manueller Arbeiten aufgewendet werden müssten. Außerdem können Sie mit MLOps das Risiko manueller Fehler minimieren und durch den optimierten Bereitstellungsprozess die Wertschöpfung erhöhen.
Verbesserte Governance und Compliance: MLOps-Verfahren ermöglichen Unternehmen das Umsetzen von Sicherheitsmaßnahmen und das Einhalten von Datenschutzbestimmungen. Die Überwachung der Performance und Genauigkeit stellt außerdem sicher, dass Model Drift bei der Integration neuer Daten verfolgt und proaktive Maßnahmen ergriffen werden können, um langfristig ein hohes Maß an Genauigkeit zu gewährleisten.
Automatisierung und Zeitersparnis mit MLOps
MLOps-Praktiken beseitigen mühsame manuelle Tätigkeiten, die mit der Pflege eines maschinellen Lernmodells verbunden sind, und gewährleisten gleichzeitig dessen kontinuierliche Performance und Zuverlässigkeit. Durch eine optimierte Zusammenarbeit zwischen verschiedenen Teams fördern MLOps eine agile Entwicklung und eine datengesteuerte Entscheidungsfindung in Unternehmen.
Mit MLOps können Unternehmen der unterschiedlichsten Branchen den ML-Entwicklungsprozess automatisieren und vereinfachen. Use Cases für MLOps:
Prädiktive Wartung: Prognose von Geräteausfällen und proaktive Wartungsplanung.
Betrugserkennung: Entwicklung und Einsatz von Modellen, die Transaktionen kontinuierlich auf verdächtige Aktivitäten überwachen.
Verarbeitung natürlicher Sprache (Natural language processing, NLP): Sicherstellen, dass Anwendungen wie Chatbots, Übersetzungsprogramme und andere große Sprachmodelle (Large Language Model, LLM) effektiv und zuverlässig funktionieren.
Maschinelles Sehen: zur Unterstützung von Aufgaben wie medizinische Bildanalyse, Objekterkennung und autonomes Fahren.
Erkennung von Anomalien: Erkennung von Abweichungen von der Norm in verschiedenen Kontexten wie Netzwerksicherheit, industrielle Prozesse und IoT-Geräte.
Gesundheitswesen: Einsatz von Modellen für die Diagnose von Krankheiten, die Vorhersage von Patientenergebnissen und die Analyse medizinischer Aufnahmen.
Einzelhandel: Bestandsverwaltung, Nachfragevorhersage, Preisoptimierung und Verbesserung des Einkaufserlebnisses für den Kunden.
MLOps im Vergleich zu DevOps
MLOps kann als Weiterentwicklung von DevOps betrachtet werden. Es basiert auf denselben Basiskonzepten der Zusammenarbeit, Automatisierung und kontinuierlichen Verbesserung, die auch bei der Entwicklung von ML-Modellen Anwendung finden. MLOps und DevOps verfolgen das gemeinsame Ziel, die Zusammenarbeit mit dem IT-Operations-Team zu verbessern, mit dem sie eng zusammenarbeiten müssen, um ein Software- oder ML-Modell während seines gesamten Lifecycles zu verwalten und zu pflegen.
Während sich DevOps auf das Automatisieren operativer Routineaufgaben und das Standardisieren von Entwicklungs- und Bereitstellungsumgebungen konzentriert, ist MLOps eher experimenteller Natur und konzentriert sich auf das Erforschen von Möglichkeiten zum Verwalten und Warten von Daten-Pipelines. Da sich die in ML-Modellen verwendeten Daten ständig weiterentwickeln, muss sich auch das Modell selbst weiterentwickeln. Dies erfordert eine ständige Anpassung und Feinabstimmung.
Test, Deployment und Produktion gestalten sich für MLOps anders als für DevOps. Daher gehören zu einem ML-Projekt oft auch Data Scientists, die nicht auf Software-Engineering spezialisiert sind, sondern sich auf die explorative Datenanalyse, Modellentwicklung und Experimente konzentrieren. Zu den mit MLOps verbundenen Aufgaben, die bei DevOps normalerweise nicht berücksichtigt werden, gehören:
- Tests zur Datenvalidierung, Qualitätsbewertung des trainierten Modells und Modellvalidierung
- Entwicklung einer mehrstufigen Pipeline, um ein ML-Modell automatisch neu zu trainieren und bereitzustellen, wenn neue Daten eingehen
- Verfolgung der zusammenfassenden Statistiken Ihrer Daten, und Monitoring der Online Performance des Modells, um beim Abweichen der Werte von den Erwartungen zu informieren
Bei Continuous Integration und Continuous Deployment (CI/CD) in MLOps geht es nicht mehr nur um das Testen und Validieren von Code und Komponenten (wie bei DevOps), sondern auch um das Testen und Validieren von Daten, Datenschemata und Modellen. Bei CD geht es nicht mehr um ein einzelnes Softwarepaket oder einen Service, sondern um ein System (eine ML-Trainings-Pipeline), das automatisch einen anderen Service (Modell-Prädiktions-Services) bereitstellen sollte.
Was Red Hat über die Phasen von MLOps denkt
Es gibt keine einheitliche Methode, um ML-Modelle zu erstellen und zu operationalisieren. Dennoch müssen Daten erfasst und vorbereitet, Modelle entwickelt, in KI-fähige Anwendungen umgewandelt, und Umsatz aus diesen Anwendungen erzielt werden.
Red Hat® OpenShift® enthält wichtige Funktionen, mit denen Sie MLOps in 5 Phasen konsistent in Rechenzentren, Public-Cloud-Computing- und Edge-Computing-Umgebungen einsetzen können:
Phase 1: Sammeln/Aufbereiten von Daten
Sammeln, Bereinigen und Kennzeichnen strukturierter oder unstrukturierter Daten in einem geeigneten Format für Training und Tests von ML-Modellen.
Phase 2: Modelltraining
ML-Modelle werden auf Jupyter-Notebooks auf Red Hat OpenShift trainiert.
Phase 3: Automatisierung
Red Hat OpenShift Pipelines verfügt über eine eventgesteuerte Continuous Integration-Funktion, mit der ML-Modelle als Container Images paketiert werden können.
Phase 4: Deployment
Red Hat OpenShift GitOps automatisiert das Deployment von ML-Modellen in großem Umfang und ortsunabhängig — public, private, hybrid oder am Edge.
Phase 5: Monitoring
Mit den im Partnernetzwerk bereitgestellten Tools kann Ihr Team Ihre Modelle überwachen und sie bei Bedarf durch erneutes Training und Deployment aktualisieren. Wenn neue Daten erfasst werden, kehrt der Prozess in einer Schleife zu Phase 1 zurück und durchläuft kontinuierlich und automatisch die 5 Phasen auf unbestimmte Zeit.
Erste Schritte mit MLOps
Unabhängig davon, ob Sie gerade erst mit der Integration von maschinellem Lernen in Ihrem Unternehmen beginnen oder bereits seit einiger Zeit mit ML-Pipelines arbeiten, ist es hilfreich zu verstehen, wie Ihre Workflows und Prozesse in den Umfang von MLOps passen. Der Entwicklungsstand des maschinellen Lernprozesses wird in der Regel durch 1 von 3 Stufen kategorisiert, je nachdem, wie hoch der Automatisierungsgrad im Workflow ist.
MLOps-Stufe 0: Vollständig manuell
Teams, die gerade erst mit dem maschinellen Lernen beginnen, arbeiten in der Regel mit einem vollständig manuellen Workflow. In diesem Stadium sind die Data Scientists, die das Modell erstellen, von den Engineers, die das Modell bedienen, getrennt, und sämtliche Schritte des Prozesses (Datenvorbereitung, Modelltraining, Automatisierung, Deployment und Monitoring) werden ohne Automatisierung ausgeführt. CI (Continuous Integration) und CD (Continuous Deployment) sind nicht vorhanden. Neue Modellversionen werden nur selten eingesetzt, und wenn ein neues Modell eingesetzt wird, ist das Risiko größer, dass es sich nicht an Änderungen anpasst.
MLOps-Stufe 1: Automatisierte ML-Pipeline
Es ist sinnvoll, mit der Automatisierung des Workflows zu beginnen, wenn sich das Modell proaktiv an neue Faktoren anpassen muss. Mit einer automatisierten Pipeline werden neue Daten für das Continuous Training (CT) eingeschleift – so kann das Modell auf die relevantesten Informationen für Prädiktions-Services zugreifen.
MLOps-Stufe 2: Automatisiertes CI/CD-System
In diesem Stadium sind Updates des ML-Modells schnell und zuverlässig. Das Modell wird täglich, wenn nicht sogar stündlich, mit neuen Daten trainiert, und die Updates werden auf Tausenden von Servern gleichzeitig bereitgestellt. Dieses System ermöglicht es Data Scientists und Engineers, harmonisch in einer einheitlichen, gemeinschaftlichen Umgebung zu arbeiten.
Entwicklung im Vergleich zum Kauf
Ressourcen und Zeitplan sind zwei wichtige Faktoren bei der Entscheidung, ob eine MLOps-Plattform entwickelt oder gekauft werden soll. Es kann über ein Jahr dauern, bis eine funktionierende ML-Infrastruktur entwickelt ist, und noch länger, bis eine Pipeline aufgebaut ist, die tatsächlich Mehrwert für Ihr Unternehmen schafft. Außerdem erfordert die Aufrechterhaltung einer Infrastruktur Lifecycle-Management und ein dediziertes Team. Wenn Ihr Team nicht über die erforderlichen Kompetenzen oder die nötige Bandbreite verfügt, um diese zu erlernen, bietet sich die Investition in eine End-to-End-MLOps-Plattform als beste Lösung an.
Wie Red Hat helfen kann
Red Hat OpenShift AI enthält wichtige Funktionen, mit denen Sie MLOps konsistent in Rechenzentren, Public Cloud Computing- und Edge Computing-Umgebungen einsetzen können. Es bietet eine einheitliche, konsistente, unternehmensgerechte Anwendungsplattform, die Data Science und Anwendungsentwicklung zusammenführt und die Integration von KI in Anwendungen sicher, konsistent und in großem Umfang vereinfacht.
Kubeflow ist ein Kubernetes-natives Open Source Framework für das Entwickeln, Verwalten und Ausführen von ML-Workloads (Machine Learning). Das Ausführen von Kubeflow kann dazu beitragen, MLOps (Machine Learning Operations) zu standardisieren, indem es Projekte organisiert und gleichzeitig die Leistungsfähigkeit von Cloud Computing nutzt. Zu den wichtigsten Use Cases für Kubeflow gehören Datenvorbereitung, Modelltraining, Bewertung, Optimierung und Deployment.