Ga naar hoofdinhoud
Machine Learning

MLOps-best practices en hoe je ze toepast

Leer de belangrijkste best practices voor een succesvolle MLOps-aanpak en hoe die zorgt voor betrouwbare en schaalbare implementatie van machinelearningsystemen
Adel Nehme's photo
Adel Nehme
Bijgewerkt · 12 min lezen

Verken met AI

ChatGPTClaudePerplexity

Maak je gratis account aan

Oefen en volg je voortgang.

Ga Verder Met Google
Door verder te gaan accepteer je onze Gebruiksvoorwaarden, ons Privacybeleid en dat je gegevens worden opgeslagen in de VS.

Machine learning operations (MLOps) is inmiddels een kernfocus voor veel dataleiders en -practitioners, met sterk toegenomen interesse in de afgelopen twee jaar. Deze bliksemsnelle opkomst wordt gedreven door een grote uitdaging waar veel organisaties mee kampen: investeringen in machine learning en AI leveren niet het beloofde rendement op.

Zoekinteresse in MLOps door de tijd

In 2019 meldde Venturebeat dat slechts 13% van de machinelearningmodellen de productie haalt. Hoewel een recente peiling door KDNuggets op verbetering in 2022 wijst, gaf 35% van de respondenten nog steeds technische hordes aan die de uitrol van hun modellen belemmeren. 

McKinsey's State of AI 2021-rapport laat zien dat AI-adoptie is gestegen naar 56%, vanaf 50% in 2020. Nu organisaties hun investeringen in machinelearningsystemen en talent opschalen, wordt de noodzaak om modellen efficiënt te implementeren en er waarde uit te halen duidelijker dan ooit. Daar komt MLOps om de hoek kijken. Organisaties die MLOps succesvol omarmen, zien betere rendementen op hun investeringen. Door MLOps toe te passen verkorten datateams de tijd die nodig is om machinelearningsystemen te prototypen, te ontwikkelen en te implementeren. 

Het doel van MLOps is technologie te combineren met organisatorische verandering om software-engineeringconcepten toe te passen op machine learning. Door naar machine learning te kijken als een engineeringdiscipline, belooft het een rechtstreekse weg naar productie en een langere levensduur van modellen in productie. 

Dit artikel definieert wat MLOps is, waarom het belangrijk is, en presenteert vijf leidende principes die een succesvolle MLOps-praktijk vandaag de dag kenmerken. 

Wat is MLOps?

MLOps wordt het best gedefinieerd als "een set aan tools, praktijken, technieken en cultuur die zorgen voor betrouwbare en schaalbare implementatie van machinelearningsystemen."  MLOps leent van best practices uit de software-engineering, zoals automatisering en geautomatiseerd testen, versiebeheer, toepassing van agile-principes en datamanagement om technische schuld te verminderen. 

Technische schuld of code-schuld is een concept uit de software-engineering zelf. Het beschrijft de "schuld" die ontstaat door snelle ontwikkeling, waarbij processen zoals automatisering, documentatie en unittests pas in een later stadium worden gerefactord. Kort gezegd is het schuld die developmentteams de toekomst in dragen doordat ze nu geen best practices hanteren. 

Machinelearningsystemen kunnen hoge niveaus van technische schuld opbouwen, omdat de modellen die dataspecialisten maken slechts een klein onderdeel zijn van een grotere puzzel—een die bestaat uit infrastructuur, modelmonitoring, feature-opslag en nog veel meer overwegingen.


Machine learning-systemen in de echte wereld

Wat MLOps uniek maakt

De best practices uit de software-engineering die zijn gericht op het verminderen van technische schuld worden vaak DevOps genoemd. DevOps combineert de ontwikkelactiviteiten van code schrijven, versiebeheer en testen met IT-operations zoals release, uitrol en monitoring. 

De twee kernprincipes van DevOps zijn Continuous Integration en Continuous Delivery (CI/CD).

  • Continuous Integration (CI): Nieuwe codewijzigingen worden regelmatig gebouwd, getest en samengevoegd in een gedeelde repository.
  • Continuous Delivery (CD): Alle wijzigingen aan een applicatie worden automatisch getest en geüpload naar een repository, waar ze kunnen worden uitgerold naar een live-omgeving.

Het productieklaar maken en opschalen van machinelearningsystemen brengt extra complexiteit met zich mee. Software-engineering draait vooral om het ontwerpen van goed gedefinieerde oplossingen met precieze input en output. Machinelearningsystemen daarentegen leunen op real-world data die via statistische methoden wordt gemodelleerd. Dit introduceert extra aandachtspunten, zoals:

  • Data: Machine learning gebruikt zeer complexe inputdata. Deze data moet worden getransformeerd zodat machinelearningmodellen zinvolle voorspellingen kunnen doen.
  • Modeling: Het ontwikkelen van machinelearningsystemen vereist experimenteren. Om efficiënt te experimenteren is het essentieel om dataveranderingen en parameters van elk experiment bij te houden.
  • Testen: Verder dan unittesten, waarbij kleine, testbare delen van een applicatie onafhankelijk worden getest, vereisen machinelearningsystemen complexere tests van zowel de data als de modelprestaties. Bijvoorbeeld testen of nieuwe inputdata vergelijkbare statistische eigenschappen hebben als de trainingsdata.
  • Modeldrift: De prestaties van machinelearningmodellen nemen altijd af in de tijd. De hoofdoorzaak hiervan is tweevoudig. Conceptdrift is wanneer de eigenschappen van de uitkomst die we proberen te voorspellen veranderen. Een goed voorbeeld was tijdens de COVID-19-lockdowns, toen veel retailers een onverwachte piek zagen in producten zoals toiletrollen. Hoe gaat een model dat getraind is op normale data hiermee om? Datadrift daarentegen is wanneer eigenschappen van de onafhankelijke variabelen veranderen door allerlei factoren, waaronder seizoensinvloeden, veranderend consumentengedrag of de introductie van nieuwe producten.
  • Continue training: Machinelearningmodellen moeten opnieuw getraind worden zodra nieuwe data beschikbaar komt om modeldrift tegen te gaan.
  • Pipelinemanagement: Data moet verschillende transformaties doorlopen voordat deze aan een model wordt gevoerd en zou regelmatig getest moeten worden vóór en na training. Pipelines combineren deze stappen zodat ze efficiënt gemonitord en beheerd kunnen worden.

5 principes voor succesvolle MLOps

MLOps adopteren is niet zo simpel als een nieuwe SaaS-leverancier inschakelen of extra cloudinstances opstarten. Het vereist zorgvuldige planning en een consistente aanpak tussen teams en afdelingen. Hier zijn vijf principes voor een succesvolle MLOps-implementatie:

Begrijp je MLOps-volwassenheid

Toonaangevende cloudproviders zoals Microsoft en Google bekijken MLOps-adoptie via een volwassenheidsmodel. Dat komt omdat MLOps organisatorische verandering en moderne werkmethoden vereist. Dit gebeurt alleen in de tijd, naarmate de systemen en processen van de organisatie volwassen worden. 

Succesvolle adoptie van MLOps vraagt om een eerlijke beoordeling van de voortgang van de organisatie in haar MLOps-volwassenheid. Na een betrouwbare volwassenheidsbeoordeling kunnen organisaties begrijpen welke tactieken ze kunnen inzetten om naar een hoger niveau te groeien. Dit omvat procesveranderingen zoals het toepassen van DevOps op deployment of het aannemen van nieuwe teamleden. 

Inzicht in hoe volwassenheidsniveaus kunnen helpen om MLOps-initiatieven te prioriteren is ook essentieel. Een feature store is bijvoorbeeld één centrale opslagplaats voor data die veelgebruikte features voor machine learning bevat. Feature stores zijn nuttig voor relatief datavolwassen organisaties waar veel verschillende datateams consistente features moeten gebruiken en dubbel werk willen verminderen. Als een organisatie maar een paar dataspecialisten heeft, is een feature store waarschijnlijk de moeite niet waard. 

Door een volwassenheidsmodel voor MLOps te gebruiken, geven organisaties teams, processen en hun technologiestack de ruimte om samen te ontwikkelen. Het zorgt ervoor dat iteratie kan plaatsvinden en tools getest kunnen worden vóór implementatie. 

Pas automatisering toe in je processen

Automatisering gaat hand in hand met het concept van volwassenheidsmodellen. Geavanceerde en brede automatisering faciliteert toenemende MLOps-volwassenheid voor een organisatie. In omgevingen zonder MLOps worden veel taken binnen machinelearningsystemen handmatig uitgevoerd. Denk aan datacleaning en -transformatie, feature engineering, het splitsen van trainings- en testdata, het schrijven van modeltrainingscode, enzovoort. Door deze stappen handmatig te doen, vergroten dataspecialisten de foutmarge en verliezen ze tijd die beter aan experimenteren besteed kan worden.  

Een goed voorbeeld van automatisering is continue hertraining, waarbij datateams pipelines kunnen opzetten voor datainname, validatie, experimentatie, feature engineering, modeltesten en meer. Dit wordt vaak gezien als een van de eerste stappen in machinelearning-automatisering en helpt modeldrift voorkomen. 

Pipelines in MLOps verschillen niet van die in data engineering of DevOps. Een machinelearningpipeline is een reeks stappen die de datastroom naar en van een machinelearningmodel orkestreren. 

Om de kracht van pipelines te illustreren, kunnen we ons een voorbeeld voorstellen waarbij dataspecialisten een deel van de data handmatig hebben geëxtraheerd, maar hun validatie-, datapreparatie-, modeltrainings- en evaluatieprocessen hebben geautomatiseerd. Deze pipeline kan later worden hergebruikt wanneer het model wordt geproductiseerd om voorspellingen te doen op nieuwe data.

Geef prioriteit aan experimenteren en tracking

Experimenteren is een kernonderdeel van de machinelearning-levenscyclus. Dataspecialisten experimenteren met datasets, features, machinelearningmodellen, bijbehorende hyperparameters, enzovoort. Er zijn veel "hendels" om aan te trekken tijdens het experimenteren. Om de juiste combinatie te vinden, is het essentieel om elke iteratie van experimenten te tracken. 

In traditioneel, notebook-gedreven experimenteren tracken dataspecialisten modelparameters en details handmatig.  Dit kan leiden tot inconsistenties in het proces en een grotere kans op menselijke fouten.  Handmatige uitvoering kost ook veel tijd en vormt een grote hindernis voor snel experimenteren. 

Hoewel git veel wordt gebruikt voor het tracken van code, is het niet eenvoudig om versiebeheer te doen op de verschillende experimenten die dataspecialisten uitvoeren. Hier kunnen datateams modelregisters gebruiken: een plek waar dataspecialisten modellen kunnen opslaan, prestaties en andere wijzigingen kunnen bijhouden.

Het tracken van experimenten stelt datateams in staat om modellen zo nodig terug te draaien—en verbetert het algehele model-auditproces. Het vermindert een aanzienlijke hoeveelheid handmatig werk voor dataspecialisten, waardoor er meer tijd overblijft voor experimenteren. Dit alles resulteert in significant verbeterde reproduceerbaarheid van resultaten via versiebeheer en tracking

Ga verder dan CI/CD

We hebben naar CI/CD gekeken in de context van DevOps, maar dit zijn ook essentiële componenten voor MLOps met een hoge volwassenheid. 

  • Bij het toepassen van CI op MLOps breiden we geautomatiseerd testen en valideren van code uit naar data en modellen. 
  • Op vergelijkbare wijze gelden CD-concepten voor pipelines en modellen naarmate ze opnieuw worden getraind.

We kunnen ook andere "continue" concepten overwegen:

  • Continuous Training (CT): We hebben al aangestipt hoe toenemende automatisering het mogelijk maakt een model opnieuw te trainen zodra nieuwe data beschikbaar komt. 
  • Continuous Monitoring (CM): Een andere reden om een model te hertrainen is afnemende performance. We moeten ook begrijpen of modellen nog steeds waarde leveren tegen bedrijfsmetrics. 

Het toepassen van continue concepten met geautomatiseerd testen maakt snel experimenteren mogelijk en zorgt voor minimale fouten op schaal. Bovendien kan succesvolle implementatie van alle vier de continue concepten de time-to-deployment drastisch verkorten. 

Denk aan de voorbeeldpipeline die we in de sectie over automatisering bekeken. Door CI/CD-concepten hierop toe te passen, ontstaat een codebase die in een repository wordt opgeslagen. In lijn met CI worden hierop een reeks geautomatiseerde unittests uitgevoerd, zoals het testen van geëngineerde features, controleren op ontbrekende waarden en testen op overfitting. De individuele componenten van de pipeline kunnen vervolgens gevalideerd en uitgerold worden, waarbij compatibiliteit en rekenvereisten getest en geborgd worden. Dit niveau van automatisering maakt snelle nieuwe deployments mogelijk, zodat organisaties kunnen reageren op externe drijfveren en veranderingen.

Omarm organisatorische verandering

Organisatorische verandering moet gelijke tred houden met de evolutie in MLOps-volwassenheid. Dit vereist procesveranderingen die samenwerking tussen teams bevorderen, waardoor silo’s worden doorbroken. In sommige gevallen is herstructurering van teams nodig om consistente MLOps-volwassenheid te faciliteren. Het volwassenheidsmodel van Microsoft beschrijft hoe gedrag van mensen moet veranderen naarmate de volwassenheid toeneemt. 

Omgevingen met lage volwassenheid hebben doorgaans dataspecialisten, engineers en software-engineers die in silo’s werken. Naarmate de volwassenheid toeneemt, moet iedereen samenwerken. Dataspecialisten en engineers moeten samenwerken om experimenteercode om te zetten in herhaalbare pipelines, terwijl software- en data-engineers moeten samenwerken om modellen automatisch in applicatiecode te integreren.

Meer samenwerking maakt het hele uitrolproces minder afhankelijk van één persoon. Het zorgt ervoor dat teamwork wordt ingezet om kostbaar handwerk te verminderen. Deze verschillende expertises komen samen om het automatiseringsniveau te ontwikkelen dat MLOps met hoge volwassenheid vereist. Meer samenwerking en automatisering zijn essentieel om technische schuld te verminderen.

De opkomst van MLOps staat nog in de kinderschoenen

MLOps is ontstaan uit de behoefte om ML-modellen snel en efficiënt te implementeren. Nu bedrijven volop investeren in machine learning, worden er steeds meer modellen ontwikkeld, wat de vraag naar MLOps vergroot. Hoewel MLOps nog in een vroeg stadium zit, kun je gerust stellen dat organisaties willen toewerken naar een set principes die het ROI van machine learning kan ontsluiten. 

Als je meer wilt leren over MLOps, bekijk dan ook de volgende bronnen:




Onderwerpen
Machine Learning
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer bekijken