Zephyrnet-logo

Overzicht van MLOps met open source-tools

Datum:

Dit artikel is gepubliceerd als onderdeel van het Data Science-blogathon.

De kern van het datawetenschapsproject zijn gegevens en deze gebruiken om voorspellende modellen te bouwen en iedereen is enthousiast en gefocust op het bouwen van een ML-model dat ons een bijna perfect resultaat zou geven dat het echte bedrijfsscenario nabootst. Bij het proberen om dit resultaat te bereiken, heeft men de neiging de verschillende andere aspecten van een datawetenschapsproject te negeren, vooral de operationele aspecten. Aangezien ML-projecten iteratief van aard zijn, kan het volgen van alle factoren, configuraties en resultaten op zich een zeer ontmoedigende taak worden.

Met de groeiende en gedistribueerde datawetenschapsteams wordt effectieve samenwerking tussen teams van cruciaal belang. De open-source tools die we op deze blog zullen onderzoeken, namelijk: DVC-studio en MLlow zal ons helpen om een ​​aantal van deze uitdagingen aan te gaan door automatisch de veranderingen/resultaten van elke iteratie bij te houden. Om meer toe te voegen, geven beide tools ons een zeer interactieve gebruikersinterface waar de resultaten netjes worden weergegeven en natuurlijk is de gebruikersinterface aanpasbaar !!.

Enige vereisten?

Het enige dat we nodig hebben, zijn de basisprincipes van machine learning, python en versiebeheer, bijvoorbeeld: Github. In deze blog, Kaggle's Zuid-Afrika Hartziekte dataset zullen worden gebruikt voor het uitvoeren van onze experimenten. Onze doelvariabele zal CHD (coronaire hartziekte) zijn.

Note: We zullen dezelfde dataset gebruiken en hetzelfde model bouwen omwille van de eenvoud voor zowel DVC Studio- als MLflow-gebruiksscenario's. Ons doel is om de kenmerken van beide tools te begrijpen en niet om de modelbouw te verfijnen.

DVC-studio

DVC is een open-source tool/bibliotheek die kan worden aangesloten op versiebeheertools zoals Github, Gitlab, Bitbucket, enz. om ML-projecten te importeren om te experimenteren en te volgen. De studio heeft een gebruikersinterface om de experimenten/statistieken bij te houden. Om meer te weten over DVC, verken zijn functionaliteiten.

Installatie & instelling: De pip installeer dvc zou goed moeten zijn voor installatie. Voor meer informatie over de installatie van de Windows-versie verwijzen wij u naar: installeer DVC. U kunt de code downloaden/klonen van Github voor snelle referentie. U kunt de code downloaden/klonen van GitHub voor snelle referentie.

We zullen de dataset laden, splitsen en vervolgens de modelbouwstap uitvoeren. Alle code/bestanden zijn te vinden onder de src-map - de code-walkthrough van deze sectie overslaan om de blog relatief kort te houden. Je hebt toegang tot de volledige code en walkthrough vanuit de blog.

Voordat we verder gaan, laten we een glimp opvangen van hoe het experiment en de KPI's worden bijgehouden in DVC.

DVC-studio voor MLOps
Experiment volgen in DVC

Bron: auteur

Zoals je hierboven zou hebben opgemerkt, is de uitvoer in de console, zeker niet interactief, hoe zit het met de plots die zo cruciaal zijn voor ML-modellen?. Is er een manier om resultaten op een gedefinieerde drempel te filteren? bijv.: Als we de experimenten moeten bekijken die een nauwkeurigheid hebben van meer dan 0.7. De enige manier is om een ​​stukje code te schrijven om die specifieke gegevens te filteren. Dat is waar de DVC-studio het heel eenvoudig en interactief maakt. We zullen in de volgende secties naar de gebruikersinterface kijken.

DVC-studio: Stel de DVC-studio in door de onderstaande stappen te volgen.

Stap 1: Navigeer naar de URL https://studio.iterative.ai, Log in met je Github en je zult het kunnen zien Voeg een weergave toe in de rechterbovenhoek van het scherm.

Stap 2: De GitHub-repository die we hebben, moet worden toegewezen aan de DVC-studio door te klikken op Configureer Git-integratie-instellingen.

Stap 3: Zodra stap 2 is voltooid, wordt de sectie Git-integraties geopend. Selecteer de repository en geef toegang.

Git integratie sectie | MLops
Kaart en ac . verlenen

Bron: auteur

Stap 4: Eenmaal toegewezen, is de repo beschikbaar voor het maken van een weergave zoals hieronder.

Voeg een weergave toe | MLops
Een weergave maken voor de DVC-repository

Bron: auteur

Stap 5: Zodra de bovenstaande stappen zijn voltooid, klikt u op de repo en opent u de tracker.

repo en open tracker | MLops
Gebruikersinterface voor DVC Studio-experimenttracker

Bron: auteur

Modelvergelijking: Selecteer de modellen van uw keuze en klik op Vergelijk om de resultaten te bekijken.

Model vergelijking
Modelvergelijking:

Bron: auteur

Voer de experimenten uit:  Er zijn twee manieren om de experimenten uit te voeren.

1. Breng alle wijzigingen aan en controleer de code in de Github-repository. De DVC-studio haalt automatisch de statistieken op in de studio voor tracking.

2. De andere manier is om wijzigingen aan te brengen in de gebruikersinterface van de DVC-studio, experimenten uit te voeren en deze vervolgens naar Github te pushen.

MLstroom

MLflow is een open-source tool voor het volgen van ML-experimenten. Net als DVC studio helpt het bij samenwerking, het uitvoeren van een gevarieerd scala aan experimenten en analyses. Om meer te weten over MLflow, verken zijn functionaliteiten.

Werkomgeving instellen:

Je hebt toegang tot de coderepository om te downloaden/klonen vanaf GitHub. Installeer de mlflow en andere bibliotheken voor modelbouw, stel het configuratiebestand in om de leesbaarheid van de code te verbeteren. De bestanden zijn te vinden onder de MLstroom map.

Modelstatistieken bewaken: De laatste en de huidige statistieken worden bijgehouden en weergegeven als in snapshot. Als het aantal iteraties toeneemt, wordt het bijhouden van de wijzigingen een uitdagend proces en in plaats van ons te concentreren op het verbeteren van de modelprestaties, zullen we veel tijd besteden aan het volgen van de wijzigingen en de resulterende statistieken.

Padstatistiek Oud nieuw Logistieke nauwkeurigheid van reportscores.json wijzigen 0.62069 0.65517 0.03448 reportscores.json roc_auc 0.65093 0.72764 0.07671 reportscores.json testscore 62.06897 65.51724 3.44828 reportscores.json train_score 71.96532 74.27746 2.31214

MLflow geeft ons een mooie MLflow-gebruikersinterface waarmee we alles op de gebruikersinterface kunnen volgen. Zodra we klaar zijn om ons experiment uit te voeren (classificatie.py), worden de statistieken bijgehouden en weergegeven in de gebruikersinterface met het onderstaande codecommando.

mlflow ui## Hier is de output INFO:serveerster:Serving on http://127.0.0.1:5000

De URL is van de localhost, door op de URL te klikken, kunnen we de resultaten in de gebruikersinterface bekijken. De gebruikersinterface is zeer gebruiksvriendelijk en men kan gemakkelijk navigeren en de betreffende statistieken verkennen. Het gedeelte dat in het rode vak hieronder is gemarkeerd, toont het bijhouden van statistieken die van belang zijn voor ons.

MFLlow

Gebruikersinterface voor MLflow-experimenttracker

Bron: auteur

Slotnota

In deze blog hebben we een overzicht van MLOps bekeken en geïmplementeerd met open source tools namelijk DVC-studio en MLstroom. Deze MLOps-tools maken het volgen van de wijzigingen en modelprestaties probleemloos, zodat we ons meer kunnen concentreren op domeinspecifieke afstemming en modelprestaties.

MLOps zal in de toekomst blijven evolueren met meer functies die aan de tools worden toegevoegd, waardoor het leven van datawetenschapsteams veel gemakkelijker wordt bij het beheren van de operationele kant van machine learning-projecten.

Als je de blog leuk vond, dan zijn hier artikelen over MLOps. Blijf experimenteren!

DevOps en MLops

ML-experimenten volgen met DVC

My Linkedin & GitHub

Referenties

https://dvc.org/

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

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

spot_img

Laatste intelligentie

spot_img

Chat met ons

Hallo daar! Hoe kan ik u helpen?