Zephyrnet-Logo

Überblick über MLOps mit Open-Source-Tools

Datum:

Dieser Artikel wurde als Teil des veröffentlicht Data-Science-Blogathon.

Der Kern des Data Science-Projekts sind Daten und ihre Verwendung zum Erstellen von Vorhersagemodellen, und alle sind begeistert und konzentrieren sich darauf, ein ML-Modell zu erstellen, das uns ein nahezu perfektes Ergebnis liefern würde, das das reale Geschäftsszenario nachahmt. Bei dem Versuch, dieses Ergebnis zu erreichen, neigt man dazu, die verschiedenen anderen Aspekte eines Data-Science-Projekts zu ignorieren, insbesondere die operativen Aspekte. Da ML-Projekte von Natur aus iterativ sind, kann die Nachverfolgung aller Faktoren, Konfigurationen und Ergebnisse an sich zu einer sehr entmutigenden Aufgabe werden.

Mit den wachsenden und verteilten Data-Science-Teams wird die effektive Zusammenarbeit zwischen den Teams entscheidend. Die Open-Source-Tools, die wir in diesem Blog untersuchen werden, nämlich DVC-Studio und MLFlow wird uns helfen, einige dieser Herausforderungen anzugehen, indem die Änderungen/Ergebnisse aus jeder Iteration automatisch verfolgt werden. Um mehr hinzuzufügen, bieten uns beide Tools eine sehr interaktive Benutzeroberfläche, auf der die Ergebnisse ordentlich präsentiert werden, und natürlich ist die Benutzeroberfläche anpassbar !!.

Irgendwelche Voraussetzungen?

Alles, was wir brauchen, sind die Grundlagen des maschinellen Lernens, Python und Versionskontrollkonto, z. B.: Github. In diesem Blog, Kaggles Datensatz zu Herzkrankheiten in Südafrika wird für die Durchführung unserer Experimente verwendet. Unsere Zielvariable wird KHK (koronare Herzkrankheit) sein.

Note: Wir werden aus Gründen der Einfachheit für DVC Studio- und MLflow-Anwendungsfälle denselben Datensatz verwenden und dasselbe Modell erstellen. Unser Ziel ist es, die Funktionen beider Tools zu verstehen und nicht den Modellbau zu verfeinern.

DVC-Studio

DVC ist ein Open-Source-Tool/eine Open-Source-Bibliothek, die in Versionskontrolltools wie Github, Gitlab, Bitbucket usw. eingesteckt werden kann, um ML-Projekte zum Experimentieren und Nachverfolgen zu importieren. Das Studio verfügt über eine Benutzeroberfläche, um die Experimente/Metriken zu verfolgen. Um mehr über DVC zu erfahren, erkunden Sie seine Funktionen.

Installation & Einrichtung: Das pip installieren dvc sollte für den Einbau passen. Weitere Informationen zur Installation der Windows-Version finden Sie unter DVC installieren. Sie können den Code zum schnellen Nachschlagen von Github herunterladen/klonen. Sie können den Code von herunterladen/klonen Github zum schnellen Nachschlagen.

Wir laden den Datensatz, teilen ihn auf und führen dann den Modellbildungsschritt durch. Alle Codes/Dateien befinden sich im src-Ordner – wobei die Code-Komplettlösung dieses Abschnitts übersprungen wird, um den Blog relativ kurz zu halten. Sie können auf den vollständigen Code und die exemplarische Vorgehensweise unter zugreifen Blog.

Bevor wir weitermachen, werfen wir einen Blick darauf, wie das Experiment und die KPIs in DVC verfolgt werden.

DVC-Studio für MLOps
Experimentverfolgung in DVC

Quelle: Autor

Wie Sie oben bemerkt haben, erfolgt die Ausgabe in der Konsole, definitiv nicht interaktiv, was ist mit den Diagrammen, die für ML-Modelle so entscheidend sind?. Gibt es eine Möglichkeit, Ergebnisse nach einem definierten Schwellenwert zu filtern? zB: Wenn wir die Experimente anzeigen müssen, die eine Genauigkeit von mehr als 0.7 haben. Die einzige Möglichkeit besteht darin, einen Code zu schreiben, um diese spezifischen Daten zu filtern. Das ist, wo das DVC-Studio es sehr einfach und interaktiv macht. Wir werden uns in den nächsten Abschnitten mit der Benutzeroberfläche befassen.

DVC-Studio: Richten Sie das DVC-Studio ein, indem Sie die folgenden Schritte ausführen.

Schritt 1: Navigieren Sie zur URL https://studio.iterative.ai, Melden Sie sich mit Ihrem Github an und Sie können sehen Fügen Sie eine Ansicht hinzu oben rechts auf dem Bildschirm.

Schritt 2: Das GitHub-Repository, das wir haben, sollte dem DVC-Studio zugeordnet werden, indem Sie auf klicken Git-Integrationseinstellungen konfigurieren.

Schritt 3: Sobald Schritt 2 abgeschlossen ist, wird der Abschnitt Git-Integrationen geöffnet. Wählen Sie das Repository aus und gewähren Sie Zugriff.

Git-Integrationsabschnitt | MLOps
Zuordnen und gewähren ac

Quelle: Autor

Schritt 4: Nach der Zuordnung steht das Repo für die Erstellung einer Ansicht wie unten zur Verfügung.

Ansicht hinzufügen | MLOps
Erstellen einer Ansicht für das DVC-Repository

Quelle: Autor

Schritt 5: Sobald die obigen Schritte abgeschlossen sind, klicken Sie auf das Repo und öffnen Sie den Tracker.

Repo und offenen Tracker | MLOps
DVC-Studio-Experiment-Tracker-Benutzeroberfläche

Quelle: Autor

Modellvergleich: Wählen Sie die Modelle Ihrer Wahl aus und klicken Sie auf Vergleichen um die Ergebnisse anzuzeigen.

Modellvergleich
Modellvergleich

Quelle: Autor

Führen Sie die Experimente durch:  Es gibt zwei Möglichkeiten, die Experimente durchzuführen.

1. Nehmen Sie alle Änderungen vor und checken Sie den Code in das Github-Repository ein. Das DVC-Studio ruft automatisch die Metriken für das Tracking aus dem Studio ab.

2. Die andere Möglichkeit besteht darin, Änderungen an der Benutzeroberfläche von DVC Studio vorzunehmen, Experimente durchzuführen und sie dann auf Github zu übertragen.

MLflow

MLflow ist ein Open-Source-Tool zum Verfolgen von ML-Experimenten. Ähnlich wie DVC Studio hilft es bei der Zusammenarbeit, der Durchführung vielfältiger Experimente und Analysen. Um mehr über MLflow zu erfahren, erkunden Sie seine Funktionen.

Arbeitsumgebung einrichten:

Sie können auf das Code-Repository zum Herunterladen/Klonen zugreifen Github. Installieren Sie mlflow und andere Bibliotheken für die Modellerstellung, richten Sie die Konfigurationsdatei ein, um die Lesbarkeit des Codes zu verbessern. Die Dateien finden Sie unter der MLflow -Ordner.

Modellmetriken überwachen: Die letzten und aktuellen Metriken werden nachverfolgt und wie im Schnappschuss aufgelistet. Wenn die Anzahl der Iterationen zunimmt, wird das Verfolgen der Änderungen zu einem herausfordernden Prozess, und anstatt uns auf die Verbesserung der Modellleistung zu konzentrieren, werden wir viel Zeit damit verbringen, die Änderungen und die daraus resultierenden Metriken zu verfolgen.

Pfadmetrik Alt neu Logistische Genauigkeit von reportcores.json ändern 0.62069 0.65517 0.03448 reportscores.json roc_auc 0.65093 0.72764 0.07671 reportcores.json test_score 62.06897 65.51724 3.44828 reportcores.json train_score 71.96532 74.27746 2.31214

MLflow gibt uns ein nettes MLflow-Benutzeroberfläche was uns hilft, alles auf der Benutzeroberfläche zu verfolgen. Sobald wir bereit sind, unser Experiment durchzuführen (Klassifikation.py) werden die Metriken verfolgt und in der Benutzeroberfläche mit dem folgenden Code-Befehl angezeigt.

mlflow ui## Hier ist die Ausgabe INFO:waitress:Serving on http://127.0.0.1:5000

Die URL ist von localhost, durch Klicken auf die URL können wir die Ergebnisse in der Benutzeroberfläche anzeigen. Die Benutzeroberfläche ist sehr benutzerfreundlich und man kann leicht navigieren und die betreffenden Metriken erkunden. Der im roten Kasten unten hervorgehobene Abschnitt zeigt die Verfolgung von Metriken, die für uns von Interesse sind.

MLFow

MLflow-Experiment-Tracker-Benutzeroberfläche

Quelle: Autor

Schlussbemerkung

In diesem Blog haben wir uns einen Überblick über MLOps angesehen und es nämlich mit Open-Source-Tools implementiert DVC-Studio und MLflow. Diese MLOps-Tools machen das Nachverfolgen der Änderungen und der Modellleistung problemlos, sodass wir uns mehr auf die domänenspezifische Optimierung und Modellleistung konzentrieren können.

MLOps wird sich in Zukunft weiterentwickeln, indem den Tools weitere Funktionen hinzugefügt werden, die das Leben von Data-Science-Teams bei der Verwaltung der operativen Seite von Machine-Learning-Projekten erheblich erleichtern.

Wenn Ihnen der Blog gefallen hat, finden Sie hier Artikel zu MLOps. Experimentieren Sie weiter!

DevOps und MLops

Verfolgen von ML-Experimenten mit DVC

My Linkedin & Github

Bibliographie

https://dvc.org/

https://www.mlflow.org/docs/latest/quickstart.html

Quelle: https://www.analyticsvidhya.com/blog/2022/01/overview-of-mlops-with-open-source-tools/

spot_img

Neueste Intelligenz

spot_img

Chat mit uns

Hallo! Wie kann ich dir helfen?