Over het algemeen zien we dat steeds meer organisaties meerwaarde halen uit hun bedrijfsdata. Die meerwaarde willen zij zo snel mogelijk toepassen en toetsen. MLOps is daarvoor de meest voor de hand liggende werkwijze, maar waar begin je?
MLOps: De fasen van de Machine Learning Pipeline toegelicht
Organisaties kunnen MLOps als methodologie hanteren om snel meerwaarde te halen uit hun waardevolle data. In ons eerste artikel, MLOps: voor een perfecte Machine Learning-pipeline, hebben we kort besproken uit welke componenten deze methodologie bestaat. In dit artikel gaan we dieper op deze componenten in en vertellen we wie op welk moment welke rol moet vervullen.
Fase 1 in de ML Pipeline: Definieer gewenste business outcomes
De MLOps-pipeline start met een goed geformuleerde use case, waarin de gewenste Business Outcomes helder zijn geformuleerd. Het afdelingshoofd of de businessmanager neemt het voortouw* bij het identificeren van de behoefte voor de use case. Hij of zij is de owner van de use case en besluit wanneer het proces wordt opgestart.
Voor het vaststellen van de beoogde waarde, zijn acties nodig. Zo kunnen organisaties starten met een brainstormsessie op initiatief van de manager. Ook kan bij het vaststellen van de beoogde waarde een voorbereidend onderzoek nodig zijn. Uit dit onderzoek blijkt dan welke meerwaarde de organisatie voor ogen heeft, hoe deze meerwaarde de organisatie ten goede komt en in welke mate dit het geval is. Meerdere rollen/personen leveren hierbij hun aandeel.
De businessanalist speelt een cruciale rol bij het begrijpen van de huidige werkzaamheden van de afdeling en het identificeren van gebieden waar bepaalde zaken voor verbetering vatbaar zijn. Hij of zij verzamelt vereisten, analyseert de businessfacts en vergemakkelijkt de vertaling van zakelijke behoeften naar meetbare specificaties. Zo ontstaat een plan van aanpak vanuit het businessperspectief dat als input fungeert voor de uiteindelijke formulering van de use case. Ook wordt zo langzamerhand duidelijk welke databronnen in eerste instantie van belang zijn.
Bij complexere vraagstukken, heb je naast de businessanalist ook experts op specifieke onderdelen nodig. Deze experts hebben diepgaande kennis van onder andere de dagelijkse werkzaamheden, productieprocessen en marktbewegingen. Zij bieden inzichten en dragen bij aan de formulering van de use case door perspectieven te bieden, pijnpunten te identificeren en onderzoekspunten scherp te stellen. Dit kan uiteindelijk zelfs leiden tot het opknippen van de use case in behapbare stukken voor het datascienceteam.
Op het moment dat de formulering concreet wordt, is het raadzaam de data-engineers en -scientists te betrekken. Zij helpen bij het identificeren van relevante gegevensbronnen en kunnen doorgaans meer inzicht geven in de toegankelijkheid en kwaliteit van die bronnen. Alles bij elkaar genomen levert dit een breed gedragen use case op, een scherp geformuleerd doel en inzicht in de benodigde brongegevens.
De formulering is hiermee gereed, zou je denken. Maar nee, één aspect ontbreekt nog.
De Data Privacy Impact Analyse maakt deel uit van de formulering van de use case. Een use case die alle regels van security en privacy (en de wetgeving rondom AI-toepassingen) tart, gaat genadeloos ten onder. Dus last but not least velt de data privacy officer een laatste oordeel, waarna de organisatie, eventueel met wat aanpassingen, met de data aan de slag kan gaan.
Ook in de opvolgende fases in de MLOps-pipeline blijft het businessteam op afstand aangelijnd. Bij de eerste tastbare resultaten wordt beoordeeld of het aan de eerste verwachtingen voldoet. MLOps is een Agile-werkmethode, dus spreken we over kleine stappen die mogelijk bijsturing vereisen, waarover na uitkomst van de eerste monitoringresultaten nieuwe besluiten worden genomen. Nieuwe acties worden uitgezet om de use case te verfijnen of uit te breiden, waarna de Business Outcomes-cirkel opnieuw wordt doorlopen en de volgende cyclus wordt gestart.
* Afhankelijk van het belang van de use case kan een executive sponsor betrokken zijn. Deze persoon biedt bijvoorbeeld ondersteuning op directieniveau, keurt budgetten goed en zorgt voor afstemming met organisatiedoelen in het algemeen.
Fase 2 in de ML Pipeline: Data science en machine learning
De volgende fase in het MLOps-pipeline, is het werken met data en het ontwikkelen van ML-modellen. Dit begint met data-engineers en -scientists, die de relevante gegevensbronnen identificeren die in de use case-formulering zijn vastgesteld. Data-engineers werken aan het extraheren, laden en transformeren (ELT) van de data, zorgen voor de kwaliteit en integriteit van de data en maken deze beschikbaar voor verdere analyse en modelontwikkeling.
Data scientists nemen vervolgens de verantwoordelijkheid voor het onderzoeken van de data, het ontwikkelen van hypothetische modellen en het testen van deze modellen. Zo bepalen zij welk model het beste past bij de use case. Dit kan variëren van eenvoudige lineaire regressiemodellen tot complexe deep learning networks.
Tijdens dit proces is het essentieel om voortdurend te communiceren met het businessteam om te zorgen dat de modellen in lijn zijn met de bedrijfsdoelen en om bij te sturen wanneer nodig. Dit omvat regelmatige iteraties en experimenten om de prestaties van de modellen te verbeteren en te optimaliseren.
Bij elke stap in dit proces moeten de data en de modellen worden ‘versiebeheerd’/geversioned, getest en gecontroleerd om de reproduceerbaarheid te waarborgen en eventuele problemen te identificeren en te verhelpen. Dit is waar tools en technieken, zoals geautomatiseerde testframeworks, dataversioningsystemen en ML-rackingtools van cruciaal belang zijn.
Fase 3 in de ML Pipeline: Development
Nu we de belangrijke stappen van datavoorbereiding en Machine Learning hebben doorlopen, gaan we naar de volgende stap in de MLOps-pipeline: de development-fase . Deze fase omvat het implementeren van het Machine Learning-model dat is ontworpen en getest tijdens de Data & Machine Learning-fase.
De implementatie begint met het integreren van het model in de gekozen softwaretoepassing. Dit kan bijvoorbeeld een bestaande bedrijfsapplicatie zijn, die wordt uitgebreid met de voorspellende mogelijkheden van het model, of een geheel nieuw product dat wordt gebouwd rond het model. Dit proces, vaak aangeduid als codering, vereist nauwe samenwerking tussen data-scientists, data-engineers en softwareontwikkelaars.
Er zijn talloze manieren om modellen te implementeren, maar sommige algemene technieken omvatten:
- REST API's: Dit is een veelgebruikte methode, waarbij het model als een service wordt gehost en voorspellingen op aanvraag levert.
- Batchverwerking: Dit is handig wanneer grote hoeveelheden voorspellingen tegelijkertijd nodig zijn, bijvoorbeeld voor rapportage of analyse.
- Realtime streaming: Dit is handig voor toepassingen, waarbij voorspellingen in realtime nodig zijn, bijvoorbeeld voor analyse van actuele sensordata, fraudedetectie of gepersonaliseerde aanbevelingen.
Na de coderingsfase worden de geschreven code en de geïntegreerde modellen grondig getest. Dit omvat zowel het testen van de functionaliteit van de software als het controleren van de nauwkeurigheid en betrouwbaarheid van de modelvoorspellingen.
Zodra de code en modellen zijn getest en goedgekeurd, worden ze gebouwd in een uitvoerbaar softwareproduct dat klaar is voor implementatie in de productieomgeving. Het doel is om een robuuste en betrouwbare toepassing te creëren die de voorspellende kracht van het Machine Learning-model benut om waarde te leveren aan de organisatie.
Deze development-fase bereidt het pad voor de volgende fase in de MLOps-pipeline: de deployment naar de productieomgeving en het operationeel houden hiervan. Het is belangrijk om te benadrukken dat het modelleren van Machine Learning een iteratief proces is. Dit betekent dat modellen in de loop van de tijd waarschijnlijk zullen veranderen en verbeteren. De mogelijkheid om nieuwe versies van een model soepel in de operatie op te nemen, zonder de bestaande bedrijfsprocessen te verstoren, is een belangrijke voorwaarde voordat de oplossing aan operations wordt doorgegeven.
Fase 4 in de ML Pipeline: Operations
De laatste fase van de MLOps-pipeline is operations. In deze fase worden de geïmplementeerde modellen in productie genomen en in de gaten gehouden, om ervoor te zorgen dat ze naar verwachting presteren en waarde blijven leveren aan de organisatie. Dit betekent dat we niet alleen willen weten of een model correct werkt vanuit technisch oogpunt (bijvoorbeeld of het verzoeken correct afhandelt), maar ook of het nog steeds de juiste voorspellingen doet op basis van de nieuwste gegevens.
Monitoring is een essentieel onderdeel van deze fase. We willen weten of er afwijkingen zijn in de prestaties van onze modellen, of de data die we ontvangen nog steeds in lijn is met de data waarmee we het model hebben getraind, en of het model nog steeds zinvolle voorspellingen of inzichten oplevert. Verder is het van groot belang om vast te stellen wat het model daadwerkelijk oplevert binnen het businessproces; welke effecten heeft het?
De organisatie moet bereid zijn om bij te sturen en aan te passen. Het kan zijn dat een model dat zes maanden geleden fantastisch presteerde, nu niet meer zo goed werkt door veranderingen in datasets of in de onderliggende patronen van de business. Hier komt het concept van Model Drift en Continuous Learning in het spel. We moeten bereid zijn om onze modellen opnieuw te trainen, bij te stellen of te vervangen wanneer dat nodig is. Dat vergt nieuwe acties waarover in samenspraak met de business nieuwe besluiten zullen worden genomen. Daarmee is MLOps een gesloten systeem geworden dat daadwerkelijk aansluit op het streven om continu te anticiperen op veranderende omstandigheden en nieuwe inzichten.
Ten slotte, zoals bij elke operationele omgeving, moeten we ook plannen voor uitzonderingen en storingen. Dit betekent dat we moeten nadenken over zaken als error handling, backup en recovery en robuuste beveiligingsmaatregelen om ervoor te zorgen dat onze modellen en data beschermd blijven tegen zowel onbedoelde fouten als kwaadwillende aanvallen.
Kortom, de operationele fase van MLOps gaat over het waarborgen van de betrouwbaarheid, prestaties en veiligheid van onze Machine Learning-systemen in productie. En net als bij de vorige fasen, is ook hier nauwe samenwerking tussen verschillende rollen (data scientists, data-engineers, IT-operations en business stakeholders) essentieel om ervoor te zorgen dat we het meeste halen uit onze Machine Learning-initiatieven.
Lees meer over de Machine Learning lifecycle
Ben jij geïnteresseerd in MLOps? Lees dan ook ons eerste artikel MLOps: voor een perfecte Machine Learning-pipeline, waarin we je vertellen wat MLOps inhoudt. In ons derde artikel gaan we dieper in op de succesfactoren en valkuilen van deze methodologie. Lees het hier!