Inhoudsopgave[Zich verstoppen][Laten zien]
Verschillende wereldwijde sectoren beginnen meer substantieel te investeren in machine learning (ML).
ML-modellen kunnen in eerste instantie worden gelanceerd en beheerd door teams van specialisten, maar een van de grootste obstakels is het overdragen van de opgedane kennis naar het volgende model, zodat processen kunnen worden uitgebreid.
Om de processen die betrokken zijn bij het beheer van de levenscyclus van modellen te verbeteren en te standaardiseren, worden MLOps-technieken steeds vaker gebruikt door de teams die machine learning-modellen maken.
Lees verder om meer te weten te komen over enkele van de beste MLOps-tools en -platforms die vandaag beschikbaar zijn en hoe ze machine learning gemakkelijker kunnen maken vanuit een tool-, ontwikkelaar- en procedureel standpunt.
Wat is MLOps?
Een techniek voor het maken van beleid, normen en best practices voor machine learning-modellen staat bekend als 'machine learning-bewerkingen' of 'MLOps'.
MLOps streeft ernaar te garanderen dat de hele levenscyclus van ML-ontwikkeling - van concept tot implementatie - zorgvuldig wordt gedocumenteerd en beheerd voor de beste resultaten, in plaats van er veel tijd en middelen in te investeren zonder een strategie.
Het doel van MLOps is om best practices te codificeren op een manier die de ontwikkeling van machine learning schaalbaarder maakt voor ML-operators en ontwikkelaars, en om de kwaliteit en veiligheid van ML-modellen te verbeteren.
Sommigen verwijzen naar MLOps als "DevOps voor machine learning", omdat het met succes DevOps-principes toepast op een meer gespecialiseerd gebied van technologische ontwikkeling.
Dit is een handige manier om over MLOps na te denken, omdat het, net als DevOps, de nadruk legt op het delen van kennis, samenwerking en best practices tussen teams en tools.
MLOps biedt ontwikkelaars, datawetenschappers en operationele teams een raamwerk om samen te werken en als resultaat de krachtigste ML-modellen te produceren.
Waarom MLOps-tools gebruiken?
MLOps-tools kunnen een breed scala aan taken voor een ML-team uitvoeren, maar ze zijn vaak opgesplitst in twee groepen: platformbeheer en beheer van individuele componenten.
Terwijl sommige MLOps-producten zich alleen richten op een enkele kernfunctie, zoals data- of metadatabeheer, hanteren andere tools een meer allesomvattende strategie en bieden ze een MLOps-platform om verschillende aspecten van de ML-levenscyclus te beheersen.
Zoek naar MLOps-oplossingen die uw team helpen bij het beheren van deze ML-ontwikkelingsgebieden, of u nu op zoek bent naar een specialist of een bredere tool:
- Omgaan met gegevens
- Ontwerp en modellering
- Beheer van projecten en werkplek
- Implementatie van ML-modellen en continu onderhoud
- Levenscyclusbeheer van begin tot eind, dat doorgaans wordt aangeboden door full-service MLOps-platforms.
MLops-tools
1. MLlow
De levenscyclus van machine learning wordt beheerd door het open-sourceplatform MLflow en omvat een centrale modelregistratie, -implementatie en -experiment.
MLflow kan door elk team worden gebruikt, zowel individueel als collectief. Bibliotheken hebben geen invloed op de tool.
Elke programmeertaal en machine learning-bibliotheek kan het gebruiken.
Om het trainen, implementeren en beheren van machine learning-applicaties eenvoudiger te maken, werkt MLFlow samen met een aantal machine learning-frameworks, waaronder TensorFlow en Pytorch.
Daarnaast biedt MLflow gebruiksvriendelijke API's die kunnen worden opgenomen in bestaande machine learning-programma's of bibliotheken.
MLflow heeft vier belangrijke functies die het volgen en plannen van experimenten vergemakkelijken:
- MLflow Tracking - een API en gebruikersinterface voor het loggen van codeparameters, versies, statistieken en artefacten voor machine learning en voor het vervolgens weergeven en contrasteren van de resultaten
- MLflow Projects - machine learning code verpakken in een herbruikbaar, reproduceerbaar formaat voor overdracht naar productie of delen met andere datawetenschappers
- MLflow-modellen - onderhouden en implementeren van modellen voor een reeks modelserving- en inferentiesystemen uit verschillende ML-bibliotheken
- MLflow Model Registry – een centrale modelopslag die coöperatief beheer mogelijk maakt van de hele levensduur van een MLflow-model, inclusief modelversiebeheer, faseovergangen en annotaties.
2. Kubeflow
De ML-toolbox voor Kubernetes heet Kubeflow. Het verpakken en beheren van Docker-containers, helpt bij het onderhoud van: machine learning-systemen.
Door run-orkestratie en implementaties van machine learning-workflows te vereenvoudigen, bevordert het de schaalbaarheid van machine learning-modellen.
Het is een open-sourceproject dat een zorgvuldig gekozen groep aanvullende tools en frameworks omvat die zijn afgestemd op verschillende ML-behoeften.
Lange ML-trainingstaken, handmatige experimenten, herhaalbaarheid en DevOps-uitdagingen kunnen worden afgehandeld met Kubeflow Pipelines.
Voor verschillende stadia van machine learning, waaronder training, pijplijnontwikkeling en onderhoud van: Jupyter notitieboekjes, Kubeflow biedt gespecialiseerde diensten en integratie.
Het maakt het eenvoudig om de levensduur van uw AI-workloads te beheren en bij te houden, en om machine learning (ML)-modellen en datapipelines in Kubernetes-clusters te implementeren.
Het biedt:
- Notebooks om de SDK te gebruiken voor interactie met het systeem
- een gebruikersinterface (UI) voor het besturen en bewaken van runs, jobs en experimenten
- Om snel end-to-end-oplossingen te ontwerpen zonder elke keer opnieuw te hoeven bouwen, en om componenten en pijpleidingen opnieuw te gebruiken.
- Als hoofdonderdeel van Kubeflow of als standalone installatie wordt Kubeflow Pipelines aangeboden.
3. Gegevensversiebeheer
Een open-source versiebeheeroplossing voor machine learning-projecten wordt DVC of Data Version Control genoemd.
Welke taal je ook kiest, het is een experimenteel hulpmiddel dat helpt bij het definiëren van pijplijnen.
DVC maakt gebruik van code, gegevensversiebeheer en reproduceerbaarheid om u te helpen tijd te besparen wanneer u een probleem ontdekt met een eerdere versie van uw ML-model.
Bovendien kunt u DVC-pijplijnen gebruiken om uw model te trainen en te distribueren naar uw teamleden. Big data-organisatie en versiebeheer kunnen worden afgehandeld door DVC en de gegevens kunnen op een gemakkelijk toegankelijke manier worden opgeslagen.
Hoewel het enkele (beperkte) functies voor het volgen van experimenten bevat, is het vooral gericht op gegevens- en pijplijnversiebeheer en -beheer.
Het biedt:
- Het is opslagagnostisch, daarom is het mogelijk om verschillende opslagtypes te gebruiken.
- Het biedt ook trackingstatistieken.
- een kant-en-klaar middel om ML-fasen samen te voegen tot een DAG en de hele pijplijn van begin tot eind te laten lopen
- De volledige ontwikkeling van elk ML-model kan worden gevolgd met behulp van de hele code en de herkomst van de gegevens.
- Reproduceerbaarheid door de oorspronkelijke configuratie, invoergegevens en programmacode voor een experiment getrouw te bewaren.
4. dikhuid
Pachyderm is een versiebeheerprogramma voor machine learning en datawetenschap, vergelijkbaar met DVC.
Bovendien, omdat het is gemaakt met behulp van Docker en Kubernetes, kan het Machine Learning-applicaties uitvoeren en implementeren op elk cloudplatform.
Pachyderm biedt garanties dat elk stukje gegevens dat in een machine learning-model wordt gebruikt, kan worden getraceerd en geversied.
Het wordt gebruikt om machine learning-modellen te maken, distribueren, beheren en in de gaten te houden. Een modelregister, een modelbeheersysteem en een CLI-toolbox zijn allemaal inbegrepen.
Ontwikkelaars kunnen hun machine learning-levenscyclus automatiseren en uitbreiden met behulp van de gegevensbasis van Pachyderm, wat ook voor herhaalbaarheid zorgt.
Het ondersteunt strenge normen voor gegevensbeheer, verlaagt de kosten voor gegevensverwerking en -opslag en helpt bedrijven hun datawetenschapsinitiatieven sneller op de markt te brengen.
5. polyaxon
Met behulp van het Polyaxon-platform kunnen machine learning-projecten en deep learning-applicaties gedurende hun hele levenscyclus worden gerepliceerd en beheerd.
Polyaxon kan de tool hosten en beheren en kan in elk datacenter of elke cloudprovider worden geplaatst. Zoals Torch, Tensorflow en MXNet, die alle populaire deep learning-frameworks ondersteunen.
Als het gaat om orkestratie, stelt Polyaxon u in staat om het meeste uit uw cluster te halen door taken en tests te plannen via hun CLI, dashboard, SDK's of REST API.
Het biedt:
- U kunt nu de open-sourceversie gebruiken, maar deze bevat ook keuzes voor het bedrijf.
- Hoewel het de volledige levenscyclus dekt, inclusief run-orkestratie, is het tot veel meer in staat.
- Met technische referentiedocumenten, richtlijnen om aan de slag te gaan, leermateriaal, handleidingen, tutorials, changelogs en meer, is het een zeer goed gedocumenteerd platform.
- Met het dashboard voor experimentinzichten is het mogelijk om elk optimalisatie-experiment in de gaten te houden, te volgen en te evalueren.
6. Komeet
Comet is een platform voor meta machine learning dat experimenten en modellen volgt, contrasteert, uitlegt en verbetert.
Al uw experimenten kunnen op één locatie worden bekeken en vergeleken.
Het werkt voor elke machine learning-taak, overal waar uw code wordt uitgevoerd en met elke machine learning-bibliotheek.
Comet is geschikt voor groepen, individuen, academische instellingen, bedrijven en iedereen die snel experimenten wil visualiseren, werk wil stroomlijnen en experimenten wil uitvoeren.
Datawetenschappers en teams kunnen experimenten en modellen volgen, verduidelijken, verbeteren en vergelijken met behulp van het zelf-gehoste en cloudgebaseerde meta-machine learning-platform Comet.
Het biedt:
- Er zijn veel mogelijkheden voor teamleden om taken te delen.
- Het heeft verschillende integraties die het eenvoudig maken om het te koppelen aan andere technologieën
- Functioneert goed met huidige ML-bibliotheken
- Zorgt voor gebruikersbeheer
- Vergelijking van experimenten is ingeschakeld, inclusief een vergelijking van code, hyperparameters, metrieken, voorspellingen, afhankelijkheden en systeemstatistieken.
- Biedt verschillende modules voor beeld-, audio-, tekst- en tabelgegevens waarmee u voorbeelden kunt visualiseren.
7. Optimaal
Optuna is een systeem voor autonome hyperparameteroptimalisatie dat kan worden toegepast op zowel machine learning en deep learning als op andere gebieden.
Het bevat een verscheidenheid aan geavanceerde algoritmen waaruit u kunt selecteren (of linken), maakt het zeer eenvoudig om training over meerdere computers te verdelen en biedt aantrekkelijke visualisatie van resultaten.
Populaire machine learning-bibliotheken zoals PyTorch, TensorFlow, Keras, FastAI, sci-kit-learn, LightGBM en XGBoost zijn er allemaal mee geïntegreerd.
Het biedt geavanceerde algoritmen waarmee klanten sneller resultaten kunnen behalen door snel de monsters te verminderen die er niet veelbelovend uitzien.
Met behulp van op Python gebaseerde algoritmen zoekt het automatisch naar de ideale hyperparameters. Optuna stimuleert parallelle hyperparameter-zoekopdrachten in vele threads zonder de originele code te wijzigen.
Het biedt:
- Het ondersteunt zowel gedistribueerde training op een cluster als op een enkele computer (multi-proces) (multi-node)
- Het ondersteunt verschillende trimtechnieken om de convergentie te versnellen (en minder rekenkracht te gebruiken)
- Het heeft een verscheidenheid aan krachtige visualisaties, zoals slice-plot, contourplot en parallelle coördinaten.
8. Kedro
Kedro is een gratis Python-framework voor het schrijven van code die kan worden bijgewerkt en onderhouden voor datawetenschapsprojecten.
Het brengt ideeën van best practices in software-engineering naar machine learning-code. Python is de basis van deze workflow-orkestratietool.
Om uw ML-processen eenvoudiger en nauwkeuriger te maken, kunt u reproduceerbare, onderhoudbare en modulaire workflows ontwikkelen.
Kedro integreert software-engineeringprincipes zoals modulariteit, scheiding van verantwoordelijkheden en versiebeheer in een machine learning-omgeving.
Op basis van Cookiecutter Data Science biedt het een gemeenschappelijk, aanpasbaar projectkader.
Een aantal eenvoudige gegevensconnectoren die worden gebruikt om gegevens over verschillende bestandssystemen en bestandsindelingen op te slaan en te laden, worden beheerd door de gegevenscatalogus. Het maakt machine learning-projecten effectiever en maakt het eenvoudiger om een datapijplijn op te bouwen.
Het biedt:
- Kedro maakt zowel verspreide als solitaire machine-implementatie mogelijk.
- U kunt afhankelijkheden tussen Python-code en werkstroomvisualisatie automatiseren met behulp van pijplijnabstractie.
- Door het gebruik van modulaire, herbruikbare code, vergemakkelijkt deze technologie teamsamenwerking op verschillende niveaus en verbetert de productiviteit in de codeeromgeving.
- Het primaire doel is om de nadelen van Jupyter-notebooks, eenmalige scripts en lijmcode te overwinnen door onderhoudbare datawetenschapsprogrammering te schrijven.
9. BentoML
Het bouwen van machine learning API-eindpunten wordt eenvoudiger met BentoML.
Het biedt een typische maar beknopte infrastructuur om geleerde machine learning-modellen in productie te nemen.
Het stelt u in staat om geleerde modellen te verpakken voor gebruik in een productieomgeving en ze te interpreteren met behulp van elk ML-framework. Zowel offline batch-serving als online API-serving worden ondersteund.
Een krachtige modelserver en een flexibele workflow zijn kenmerken van BentoML.
Bovendien biedt de server adaptieve microbatching. Het UI-dashboard biedt een uniforme aanpak voor het organiseren van modellen en het bijhouden van implementatieprocedures.
Er is geen downtime van de server omdat het bedieningsmechanisme modulair is en de configuratie herbruikbaar is. Het is een flexibel platform voor het aanbieden, organiseren en implementeren van ML-modellen.
Het biedt:
- Het heeft een modulair ontwerp dat aanpasbaar is.
- Het maakt implementatie op verschillende platforms mogelijk.
- Het kan niet automatisch horizontaal schalen.
- Het maakt een enkel modelformaat, modelbeheer, modelverpakking en krachtige modelserving mogelijk.
10. Zelden
Datawetenschappers kunnen machine learning-modellen en experimenten op grote schaal maken, implementeren en beheren op Kubernetes met behulp van het open-source Seldon Core-framework.
TensorFlow, sci-kit-learn, Spark, R, Java en H2O zijn slechts enkele van de toolkits die erdoor worden ondersteund.
Het werkt ook samen met Kubeflow en RedHat's OpenShift. De kern van Seldon transformeert machine learning-modellen (ML-modellen) of taalwrappers (talen zoals Python, Java, enz.) in productie-REST/GRPC-microservices.
Een van de beste MLOps-tools voor het verbeteren van machine learning-processen is deze.
Het is eenvoudig om ML-modellen te containeriseren en te testen op bruikbaarheid en veiligheid met Seldon Core.
Het biedt:
- Modelimplementatie kan eenvoudiger worden gemaakt met verschillende alternatieven, zoals kanarie-implementatie.
- Gebruik modeluitleggers om te begrijpen waarom specifieke voorspellingen zijn gedaan.
- Houd bij problemen de productiemodellen in de gaten met behulp van het waarschuwingssysteem.
Conclusie
MLOps kan helpen om machine learning-operaties beter te maken. MLOps kan de implementatie versnellen, het verzamelen en debuggen van gegevens vereenvoudigen en de samenwerking tussen technici en datawetenschappers verbeteren.
Om ervoor te zorgen dat u de MLOps-tool kiest die het beste bij uw behoeften past, heeft dit bericht 10 populaire MLOps-oplossingen onderzocht, waarvan de meeste open-source zijn.
Laat een reactie achter