Wat is machine learning operations (MLOps)?

Antwoord op de 7 meest gestelde vragen over MLOps

  • Artikel
  • Data Engineering
Philip Roeleveld
Philip Roeleveld
Machine Learning Engineer
7 min
19 Dec 2023

Het in productie nemen van machine learning modellen blijkt in de praktijk een complexe taak. MLOps helpt organisaties die zelf modellen willen ontwikkelen en onderhouden bij het borgen van de kwaliteit en continuïteit. Lees dit artikel en krijg antwoord op de meest gestelde vragen over dit onderwerp.

Wat is de definitie van machine learning operations?

Machine learning operations (MLOps) gaat over alles wat er komt kijken bij de ontwikkeling en ingebruikneming van machine learning modellen, behalve de ontwikkeling van die modellen zelf. Het gaat dus over het faciliteren van de levenscyclus van machine learning modellen. Daarbij hoort ook dat Data Scientists en ontwikkelaars worden geholpen om bij hun data te kunnen en beschikking krijgen over omgevingen waar ze experimenten in kunnen draaien. Zo kunnen ze zich optimaal focussen op de ontwikkeling van hun modellen. Om die levenscyclus te omschrijven, zijn er verschillende frameworks bedacht. Hoewel op verschillende onderdelen nadruk kan worden gelegd, zijn zij het in hoofdlijnen eens. Zie hier een voorbeeld.

Machine learning operations is een relatief nieuwe term. Het is ontstaan omdat het in de praktijk een complexe uitdaging is gebleken om machine learning modellen in productie te nemen op een manier die robuust en schaalbaar is. Dit komt doordat je niet alleen met code te maken hebt (DevOps) maar data ook een grote rol speelt. Wanneer je machine learning in productie brengt, moet je dan ook rekening houden met die twee assen: De code, zoals in elke andere tak van software-ontwikkeling, en de data, want zelfs als de code hetzelfde blijft moet een model ook worden gecontroleerd wanneer de data verandert. 

Meer details over de definitie van MLOps? Lees hier meer over MLOps.

Wanneer is machine learning operations relevant voor een organisatie?

Al vanaf het eerste model wordt MLOps interessant. Tijdens de ontwikkeling zorgt het ervoor dat de juiste data beschikbaar is, tussentijdse resultaten worden vastgelegd, en modellen op geschikte hardware kunnen trainen. Hiermee wordt flink tijd bespaard, terwijl handmatige werkzaamheden worden afgenomen voor Data Scientists die het model ontwikkelen. Wanneer dat model klaar is voor productie, is MLOps weer waardevol door het proces te automatiseren en door middel van monitoring de risico's op kwaliteitsproblemen aanzienlijk te verlagen.

Zo kan MLOps helpen om kosten en tijd te besparen tijdens de ontwikkeling van machine learning modellen door ontwikkeling te versnellen, modellen efficiënter te draaien, beter te schalen, en risico’s te verkleinen.

De impact van MLOps is het grootst wanneer je te maken hebt met grote fluctuaties in de statistische eigenschappen van je data. In zulke gevallen moet je de veranderingen eerst signaleren. Vervolgens moet je een ML-model opnieuw trainen om de veranderde data te begrijpen. Door MLOps best practices te implementeren ben je er op tijd bij en kun je het proces van hertrainen stroomlijnen en automatiseren.

MLOps is ook essentieel voor schaalbaarheid. Als je als organisatie veel verschillende machine learning modellen hebt, is niet meer handmatig bij te houden welke modellen goed presteren of opnieuw getraind moeten worden. Binnen MLOps zijn hiervoor tools en methodes om al die modellen continu te monitoren. Dit wordt bijvoorbeeld gedaan bij Internet of Things (IoT)toepassingen. Daarnaast zijn er mogelijkheden om verschillende pipelines of infrastructuur niet voor elk model afzonderlijk te onderhouden, waarmee significant tijd kan worden bespaard.

Hoe zou je MLOps toepassen in een bedrijf en welke tools en technologieën zou je daarbij gebruiken?

MLOps is geen alles of niets oplossing. De mate waarin je het toepast is afhankelijk van de hoeveelheid en soort modellen die er zijn. Voor de implementatie van MLOps moeten de MLOps Engineer en de mensen die de modellen maken met elkaar in gesprek over wat er nodig is en wie het gaan gebruiken. Zijn er bijvoorbeeld drie Data Scientists die elk verschillende modellen maken op hun eigen manier? Dan is er een centrale omgeving nodig waarin iedereen hetzelfde werkt. Begrijpen de eindgebruikers niet wat een model zegt? Dan kun je bijvoorbeeld alle data centraal opslaan zodat het gevisualiseerd kan worden in dashboards.

Een tool waar je niet zonder kunt als MLOps Engineer is MLflow. Dit is een tool voor het tracken van modellen. Als je als Data Scientist een nieuw model maakt, experimenteer je vaak eerst met een subset van de data. Met MLflow sla je het model en alle relevante context op. Zo blijft de herkomst van het model bekend, en wordt het implementeren van het model eenvoudiger met platforms als Databricks, Azure MLStudio en AWS SageMaker, welke allemaal compatibel zijn met MLflow.

Het is afhankelijk van de schaal wat er verder nodig is. Naast het gebruik van MLflow is de volgende stap vaak het bouwen van CI/CD (continuous integration, continuous delivery) pipelines. Hiermee maak je het trainen eenvoudiger. Ook bouw je deployment pipelines waarmee je een model in productie kunt zetten.

Een klant van ons had heel veel kleine sensoren voor het controleren en onderhouden van waterleidingen. Voor elke sensor was een apart model, wat betekende dat er in totaal duizenden kleine modellen waren. Het was onmogelijk voor al die modellen handmatig te checken of zij goed genoeg presteerden. In plaats daarvan gebruikten we model- en datakwaliteit monitoring om getrainde modellen automatisch te accepteren, of af te wijzen en terug te vallen op een ‘back-up’ algoritme zonder machine learning. Wanneer je een groot aantal modellen tegelijk in productie hebt, moet je niet alleen de infrastructuur schalen, maar ook de output blijven monitoren. Dit toets je aan de hand van business logica.

Wie zijn er betrokken bij machine learning operations projecten?

Machine learning operations wordt vaak uitgevoerd door een team IT-specialisten. Een MLOps Engineer of ML-Engineer is gespecialiseerd in het naar productie brengen van machine learning modellen en het inrichten van monitoring op draaiende modellen. Hiernaast zijn er regelmatig Architecten, DevOps Engineers, Platform Engineers, en Data Engineers betrokken. Een Architect ontwerpt technische oplossingen, voor MLOps doorgaans in de cloud. De overige genoemde profielen zijn ontwikkelaars met elk een ander focusgebied. Deze zijn niet in elke opzet nodig, maar afhankelijk van het team, de omgeving, de technische keuzes en meer.

In hoofdlijnen zijn voor deze rollen twee opzetten mogelijk. Een team kan worden gevormd uit zowel model ontwikkelaars als MLOps engineers. Of er kan worden gekozen voor een gespecialiseerdMLOps team dat verschillende andere teams van Data Scientists faciliteert. Dit komt vaker voor in grotere organisaties. In ieder geval werkt de MLOps Engineer, of het MLOps team, nauw samen met de Data Scientists die verantwoordelijk zijn voor het ontwikkelen van de modellen. De Data Scientist is het enige profiel dat zich bezighoudt met het modelleren van de data.

Wanneer de machine learning modellen succesvol in productie staan kan de output door andere teams uit een organisatie worden afgenomen. Bijvoorbeeld een webteam als het gaat over het tonen van aanbevelingen in een webshop, of een serviceteam voor predictive maintenance op hardware. Deze teams zullen als stakeholders betrokken zijn omdat zij het grootste belang hebben niet alleen bij de werking van de modellen zelf maar ook dat die modellen in productie beschikbaar blijven.

Vanuit een product management perspectief is een belangrijke waarde van MLOps om op den duur kosten en tijd te besparen. Zo is dus ook de business betrokken om in MLOps te investeren, wat zich weer uitbetaalt door de ontwikkelingen van modellen te versnellen, productie te optimaliseren, en beheer te schalen.

Welke tips heb je voor het beheren van machine learning-pipelines?

1. Zorg ervoor dat duidelijk is wie verantwoordelijk is voor de modellen en het beheer ervan (governance). Kan iemand uit het team een model dat in productie staat zomaar vervangen door een nieuwe versie of moet iemand hier goedkeuring voor geven? En zo ja, wie dan? In de praktijk wordt vrijwel altijd een vier-ogen-principe gehanteerd en zijn er Product Owners voor de modellen. Daarnaast is het natuurlijk essentieel om de gebruikers van het model op de hoogte te houden.

2. Houd de verschillende versies van je model en de prestaties van die versies bij (versioning). Presteert een nieuwe versie niet goed? Dan kun je terug naar de vorige.

3. Sla veel metrics, logging, grafieken, en andere artifacts van elke modelversie op tijdens het trainen. Zo kun je vertrouwen dat een nieuwe versie goed werkt of snel zien wat er fout gaat.

4. Gebruik een data catalog. Met een data catalog kun je refereren naar data als assets. Voor een ML-model maakt dat het mogelijk om specifiek aan te geven welke data het nodig heeften bij te houden met welke data het heeft getraind. Daardoor kan data ook automatisch worden ingeladen waardoor het niet in ieder model afzonderlijk hoeft.

5. Blijf in gesprek met de stakeholders. Dat een model in productie staat, betekent niet dat het werk gedaan is. Zo kunnen er nieuwe databronnen beschikbaar komen of effecten van een model zijn die niet blijken uit de monitoring. Door de communicatie open te houden, kun je dit soort veranderingen of kansen spotten en verwerken.

Hoe ga je om met ethische kwesties die kunnen ontstaan bij de toepassing van machine learning?

In de praktijk gaat dit meestal over modellen die autonoom beslissingen maken die impact hebben op mensen. In zulke situaties mag de machine nooit iets bepalen zonder dat er een mens tussen zit. Toch is dit vaak niet genoeg omdat mensen snel kunnen schakelen van een beslissende rol waarin het model slechts een factor is, naar een controlerende rol waarin het model leidend is. Dan is het essentieel dat de werking van het model inzichtelijk is, zodat de conclusies kunnen worden verklaard en verantwoord.

Een oplossing hiervoor is de toepassing van explainable AI. Hierbij legt de computer aan de mens uit hoe de output berekend is. Afhankelijk van het soort model kan dit heel moeilijk zijn, omdat het trainen al snel een black box wordt voor grotere modellen. In het bijzonder voor deeplearning is dit vaak een uitdaging.

Machine learning operations kan explainable AI faciliteren door goed op te slaan wat er is gebeurd met een model. De voorspelling van een model is immers afhankelijk van de input data, maar ook data waarop het model is getraind. Met MLOps weet je welke versie van het model tot de output leidt en in welke periode het getraind is. Dankzij goede documentatie kun je verklaren waarom een model zich op een bepaalde manier gedraagt. Denk hierbij bijvoorbeeld aan een model dat tijdens een hittegolf of staking is getraind: met MLOps kun je achterhalen dat het normale patroon van de data hierdoor afwijkt. Vervolgens kun je besluiten deze data uit te sluiten.

Wat zijn veelvoorkomende valkuilen bij het naar productie brengen van machine learning?

1. Datakwaliteit is een belangrijke factor in het succes van een machine learning product. Is deze nog niet op orde? Dan is het een goed idee om eerst hiermee aan de slag te gaan.

2. Draagvlak vanuit management. Dit punt is van toepassing voor grotere organisaties.Omdat je afhankelijk bent van andere teams, bronnen en systemen, is het essentieel dat er draagvlak leeft. Is de brondata klaar om aan te sluiten? Hoe ziet de samenwerking eruit met de infra- en platformteams? Afhankelijkheden tussen teams moeten gemanaged worden. Hierbij is een visie van bovenaf cruciaal. Bekijk ook wie het gaat afnemen, en hoe hun planning er uit ziet.

3. Tijd van de (al dan niet interne) gebruikers. Wanneer je een product gaat opleveren kom je in een testfase terecht. Hierin is het belangrijk om een feedback loop op te zetten. Je zal met name in de eerste fase tijd nodig hebben van de gebruiker. Een goede manier om die tijd te krijgen, is om de gebruiker mede-eigenaar te maken van het project, zodat zij ook verantwoordelijkheid dragen voor het succes van het project.

4. De verwachting dat de eerste versie van je model gelijk alles goed doet. In de praktijk is vooreen succesvol machine learning product veel finetunen nodig, en dat kost een aantal iteraties. Feedback van de gebruikers is hierbij belangrijk, en kan ook pas na de eerste iteratie worden meegenomen.

5. Toegang tot de juiste data. Dit is wederom een punt dat met name speelt in enterprise organisaties. Het verhoudt zich nauw tot de volwassenheid van het interne data en IT-landschap. Voor machine learning is het essentieel om toegang te hebben tot hoge kwaliteit data. Van oudsher zijn OTAP-omgeving ‘hard’ gescheiden: in een test omgeving staat alleen testdata. Dit is echter onwerkbaar voor machine learning. De testomgeving van je model moet dus wel inprikken op productiedata.

6. Een model maken zonder baseline. Als er geen aanpak vooraf is aan het machine learning model is ook niet duidelijk wat je moet verbeteren, en of het dure machine learning model de moeite waard is om verder te ontwikkelen. Een baseline kan bijvoorbeeld eenbusiness rule zijn, een simpele forecast, of een schatting van de operationele kosten zonder het model.

Aan de slag met machine learning operations? Wij kunnen je helpen!

Ons team van 25+ Data Engineers bestaat uit IT-specialisten met kennis van o.a. MLOps, DevOps, datawarehousing en infrastructuur. Samen helpen we je van de ontwikkeling van je model tot het bouwen van je infrastructuur en van deployment tot onderhoud en monitoring.

Dit is Philip

Philip is een Machine Learning Engineer met ervaring in Data Engineering en Data Science. Hij werkt het liefst op het snijvlak waar de modellen, data, en infrastructuur samenkomen om Machine Learning mogelijk te maken. Hij heeft gewerkt met data en modelleren in diverse sectoren, met time series data als rode draad.

Philip Roeleveld

Machine Learning Engineer philip.roeleveld@digital-power.com

1x per maand data insights, praktijkcases en een kijkje achter de schermen ontvangen?

Meld je aan voor onze maillijst en blijf 'up to data':

Dit vind je misschien ook interessant:

Datakwaliteit: de basis voor effectief datagedreven werken

Dataprojecten moeten vaak snel resultaat opleveren. Het vakgebied is relatief nieuw en om draagvlak te creëren, moet eerst bewezen worden dat het waarde oplevert. Hierdoor bouwen veel organisaties data-oplossingen zonder dat er goed nagedacht wordt over de robuustheid ervan. Met datakwaliteit wordt hierbij vaak onvoldoende rekening gehouden. Wat zijn de risico’s als je datakwaliteit niet op orde is en hoe kun je het verbeteren? Je leest het antwoord op de belangrijkste vragen over datakwaliteit in dit artikel.

Lees meer
elevator

20% minder klachten dankzij datagedreven onderhoudsrapportages

Een belangrijk onderdeel van de bedrijfsvoering van Otis is het onderhoud van hun liften. Om dit goed te timen en klanten proactief te informeren over de status van hun lift, wilde Otis continue monitoring inzetten. Ze zagen veel potentie in predictive maintenance en onderhoud op afstand.

Lees meer
potatoes

Waardevolle inzichten uit Microsoft Dynamics 365

Agrico is een coöperatie van aardappeltelers. Zij telen aardappels voor verschillende doeleinden zoals consumptie en het planten van toekomstige oogsten. Deze aardappels worden wereldwijd geëxporteerd via verschillende dochterondernemingen. Alle logistieke en operationele data wordt opgeslagen in hun ERP-systeem Microsoft Dynamics 365. Omdat dit systeem met zijn vele features erg complex is, is de data niet direct geschikt om te gebruiken voor rapportages. Agrico vroeg ons te helpen hun ERP-data inzichtelijk te maken en duidelijke rapportages te ontwikkelen.

Lees meer

Kubernetes-based event-driven autoscaling met KEDA: een praktische gids

In dit Engelstalige artikel beginnen we met een uitleg van wat Kubernetes Event Driven Autoscaling (KEDA) inhoudt. Vervolgens richten we een lokale ontwikkelomgeving in die het mogelijk maakt om KEDA te demonstreren met behulp van Docker en Minikube. Daarna leggen we het scenario uit dat geïmplementeerd zal worden om KEDA te demonstreren, en doorlopen we dit scenario stap voor stap. Aan het einde van het artikel heeft de lezer een duidelijk beeld van wat KEDA is en hoe hij of zij zelf een architectuur met KEDA kan implementeren.

Lees meer

AWS (Amazon Web Services) versus GCP (Google Cloud Platform) voor Apache Airflow

In dit Engelstalige artikel maken we een vergelijking tussen Cloud Composer en MWAA. Dit zal je helpen de overeenkomsten, verschillen en factoren te begrijpen die je moet overwegen bij de keuze voor een cloudoplossing. Weet dat er andere goede opties zijn als het gaat om het hosten van een beheerde airflow-implementatie, zoals Microsoft Azure. De twee die in dit artikel worden vergeleken, zijn gekozen vanwege mijn praktijkervaring met beide beheerde diensten en hun respectievelijke ecosystemen.

Lees meer
business managers in gesprek

Inzicht in de complete salesfunnel dankzij een datawarehouse met dbt

Onze consultants boeken de opdrachten die ze oppakken voor onze klanten in ons ERP AFAS. Als CRM gebruiken we HubSpot. Hierin zien we alle informatie die voorafgaand aan het tekenen van een samenwerkingsovereenkomst relevant is. Wanneer we een deal sluiten, gaat alle informatie uit HubSpot automatisch naar AFAS. HubSpot wordt dus vooral gebruikt voor het proces voordat we een samenwerking aangaan, AFAS juist voor de fase daarna. We wilden de inzet van onze mensen strakker plannen en onze financiële forecasts verbeteren. Daarom besloten we de data uit beide bronnen te koppelen en een datawarehouse op te zetten.

Lees meer
people working together

Het all-round profiel van de moderne data engineer

Sinds de opkomst van big data zijn veel elementen van de moderne datastack de verantwoordelijkheid geworden van data engineers. Wat zijn deze elementen en hoe moet je je datateam samenstellen?

Lees meer
nederlandse snelweg

Betrouwbare rapportages met behulp van robuuste Python code

Het Nationaal Portaal Wegverkeersgegevens (NDW) is een waardevolle bron voor gemeenten, provincies en de rijksoverheid om inzicht te krijgen in verkeersstromen en de efficiëntie van de infrastructuur te verbeteren.

Lees meer