MLops, was für „Machine Studying Operation“ steht, befasst sich mit der Verwaltung von Modellen für maschinelles Lernen von der Schulung über die Produktion und Wartung bis hin zur Unterstützung bei der Zusammenarbeit mit Datenwissenschaftlern und Entwicklungsteams.
In diesem Weblog besprechen wir die Unterschiede zwischen MLOps und DevOps, den MLOps-Workflow und die auf dem Markt verfügbaren Instruments.
Was ist der Unterschied zwischen MLOps und DevOps?
DevOps ist eine Reihe von Praktiken, die im Softwareentwicklungslebenszyklus verwendet werden und dem IT-Group dabei helfen, neue Funktionen bei kontinuierlicher Bereitstellung und Aufrechterhaltung einer hohen Softwarequalität zu warten, zu erstellen und zu integrieren.
MLOps automatisiert den maschinellen Lernprozess vom Coaching bis zur Produktion und anderen ML-Workflows. MLOps ist eine Teilmenge von DevOps, die auf Anwendungen des maschinellen Lernens spezialisiert ist.
Zusammenfassend lässt sich sagen, dass es sich bei DevOps und MLOps um Softwareentwicklungsworkflows handelt, die dabei helfen, Lösungen mit kontinuierlicher Bereitstellung, hoher Softwarequalität und reibungsloser Wartung zu erstellen.
MLOps-Workflow
Der MLOps-Workflow kann hauptsächlich in drei Teile unterteilt werden:
- Gebäude.
- Einsatz
- Überwachung
Gebäude
Zu den Schritten des Modelltrainings gehören:
- Datenaufnahme: Dies ist der grundlegende Schritt, bei dem Sie Pipelines erstellen, um Daten aus verschiedenen Datenquellen wie Information Lake, Information Warehouse, Datenbank usw. abzurufen. Dieser Prozess verwendet normalerweise den ETL-Ansatz (Extract Remodel Load). Beispiel: Laden der Bestelldaten des Benutzers aus der Datenbank.
- EDA und Datenvorbereitung: Sobald die Daten verfügbar sind, können wir eine grundlegende Analyse durchführen und die Daten für das Modelltraining vorbereiten. Bsp. Ein grundlegendes Verständnis der Auftragsdaten erlangen und die Daten für Schulung und Checks vorbereiten.
- Modellschulung: Die in den obigen Schritten entwickelten Zugdaten werden zum Erstellen überwachter oder unbeaufsichtigter Modelle verwendet. Beispiel: Erstellen eines Klassifizierungsmodells zur Klassifizierung von Benutzern basierend auf den von ihnen getätigten Bestellungen.
- Modelltest: Sobald das Modell trainiert ist, ist es an der Zeit, die Leistung des Modells anhand von Check-/Validierungsdaten zu testen, um die Modellleistung zu bewerten.
- Modellregister: Eine Modellregistrierung ist ein Ort, an dem eine Containerversion des Modells zusammen mit allen Abhängigkeitsdateien gespeichert werden kann, die für die erfolgreiche Ausführung des Modells erforderlich sind.
Einsatz
Für die Bereitstellung kann das Containermodell verwendet werden. Zunächst wird das Modell zum Testen in einer Entwicklungsumgebung bereitgestellt.
Das Modell kann in jeder der Bereitstellungsumgebungen bereitgestellt werden, z. B.:
- Skalierbarer Kubernetes-Cluster
- Bereitstellung auf einem Edge-Gerät
- Instanz virtueller Maschinen
- Containerinstanz
Die Modelle in der Entwicklungsumgebung werden mithilfe der oben genannten Umgebung als API und Streaming-Endpunkt bereitgestellt und dann zur praktischen Verwendung in der Produktionsumgebung freigegeben.
Überwachung
Sobald das Modell für den praktischen Einsatz bereitgestellt wird, ist es wichtig, seine Leistung anhand einiger vordefinierter Metriken zu überwachen und zu bewerten.
Überwachung: Überwachen Sie die Leistung des im Produktionsteam eingesetzten Modells, damit das Geschäfts- und KI-Group potenzielle Risiken erkennen kann, bevor sie sich auswirken.
Analysieren: Bei der Überwachung des Modells ist es auch wichtig, die Merkmale des Modells wie Equity, Bias-Belief und Transparenz zu analysieren.
Führung: Wir überwachen und analysieren die Leistung, um eine optimale Leistung für den Zweck sicherzustellen, für den sie entwickelt wurde. Es ist auch wichtig, dass es einige Rahmenbedingungen/Regeln gibt, wie z. B. die Einhaltung lokaler und internationaler Rechtsnormen.
Instruments, die für MLOps verwendet werden
Sehen wir uns einige der auf dem Markt verfügbaren MLOps-Instruments an, die Ihnen den Einstieg in MLOps erleichtern.
- MLFlow: MLflow ist eine Open-Supply-Plattform zur Verwaltung des Finish-to-Finish-Lebenszyklus des maschinellen Lernens. MLflow ist bibliotheksunabhängig. Sie können es mit jeder Bibliothek für maschinelles Lernen und in jeder Programmiersprache verwenden, da alle Funktionen über eine REST-API und CLI zugänglich sind. Der Einfachheit halber enthält das Projekt auch eine Python-API, eine R-API und eine Java-API.
- Gewichte und Voreingenommenheit: Gewichtungen und Verzerrungen machen es einfach, Ihre Experimente zu verfolgen, Ihre Daten zu verwalten und zu versionieren sowie mit Ihrem Group zusammenzuarbeiten, damit Sie sich auf die Entwicklung der besten Modelle konzentrieren können. Visualisieren Sie Ergebnisse mit relevantem Kontext. Ziehen Sie Analysen per Drag & Drop, um Erkenntnisse zu gewinnen – Ihr nächstbestes Modell ist nur ein paar Klicks entfernt.
- Perfekt: Prefect ist ein modernes Workflow-Orchestrierungstool zur Koordination aller Ihrer Datentools. Orchestrieren und beobachten Sie Ihren Datenfluss mit der Open-Supply-Python-Bibliothek von Prefect, dem Kitt des modernen Datenstapels. Das Planen, Ausführen und Visualisieren Ihrer Daten-Workflows struggle noch nie so einfach.
- Datenversionskontrolle (DVC): DVC ist ein Software für die Datenwissenschaft, das die Vorteile bestehender Software program-Engineering-Toolsets nutzt. Es hilft Groups für maschinelles Lernen, große Datensätze zu verwalten, Projekte reproduzierbar zu machen und besser zusammenzuarbeiten.
Abschluss
Schließlich sind wir am Ende dieses Blogs angelangt und können abschließend sagen, dass Sie nun ein grundlegendes Verständnis davon haben, was MLOps und dessen Arbeitsablauf sowie die auf dem Markt verwendeten Instruments sind.
Ich hoffe, Ihnen hat dieser Weblog gefallen. Wenn Sie mehr davon möchten, lassen Sie es mich bitte im Kommentarbereich wissen.