Data Science

MLOps: het opschalen van AI waar je vrolijk van wordt

Met de toename van het aantal machine learning modellen is overzicht almaar belangrijker geworden. Machine Learning Operations kan helpen om de ontwikkeling en monitoring van jouw machine learning modellen tot een hoger niveau te te tillen. In deze blog geven wij een aantal van onze tips voor een betere MLOps strategie.

Volgens Gartner worden ongeveer de helft van alle machine learning projecten omgezet van pilot naar productie. Dit is een relatief laag percentage, maar gelukkig zien we dat het aantal machine learning projecten dat productie wel haalt steeds meer wordt.

Dit is een positieve ontwikkeling! Machine learning heeft het potentieel om organisaties te helpen om hun prestaties te verbeteren. Door machine learning modellen in productie te brengen, kunnen organisaties efficiënter werken, betere beslissingen nemen en nieuwe producten en diensten ontwikkelen.

In verband met de toename van het aantal machine learning projecten, is het belangrijk om een gestandaardiseerde aanvliegroute te ontwikkelen voor het uitvoeren van een machine learning project binnen een organisatie.

Hiermee kunnen veel valkuilen vroegtijdig voorkomen worden, en wordt het mogelijk om een project succesvol, voorspelbaar en onderhoudbaar te maken.

De machine learning levenscyclus

Een machine learning project wordt vaak onderverdeeld in verschillende fasen: de machine learning levenscyclus. Tijdens iedere fase zijn verschillende rollen van belang. De machine learning levenscyclus bestaat uit de volgende stappen en daar horen de volgende rollen bij:

De machine learning levenscyclus en waar elke rol ingezet wordt.

Zo zijn er verschillende disciplines nodig bij iedere stap. Hier ligt ook direct een van de uitdagingen: de ontwikkelaar van het model is vaak niet degene die het model in productie neemt, waardoor veel onderliggende context overgedragen moet worden.

Zo is het vaak de data scientist die samen met de domein expert een manier vindt om de data te modelleren. De data scientists zijn (helaas) vaak onvoldoende getraind om productie-waardige data systemen te bouwen, dus neemt de data of machine learning engineer het na een proof-of-concept vaak over van de data scientist.

Een ander probleem is dat de data engineer bij het in productie nemen van het model kan ontdekken dat delen van de data helemaal niet beschikbaar zijn ten tijde van het maken van de voorspelling. Ook kan de data engineer ontdekken dat de kosten te hoog zijn voor het draaien van het model in productie of dat het model te traag is voor acceptabele performance.

Om dit soort problemen te voorkomen is er steeds meer behoefte aan een gestandaardiseerde aanpak voor het inrichten en ontwikkelen van machine learning modellen, zodat men niet snel fouten maakt die eerder al gemaakt zijn.

Het idee is dat we eindelijk eens gaan leren van de principes die al jarenlang gelden voor het ontwikkelen van software!

Machine Learning Operations

Machine Learning Operations (MLOps) houdt zich bezig met het standaardiseren en stroomlijnen van de machine learning levenscyclus.

Een goed ingericht MLOps proces brengt veel voordelen met zich mee, zoals (1) het versnellen van de time-to-market van projecten, (2) het verbeteren van de betrouwbaarheid van het model door deze te monitoren, en (3) het verhogen van de transparantie en verklaring van de modellen welke in productie staan.

Een MLOps systeem faciliteert normaliter in ieder geval in één van de volgende vijf elementen, waarvan de functionaliteiten hieronder uitgebreid besproken wordt:

Model ontwikkeling

Gedurende het ontwikkeltraject worden verschillende besluiten genomen over het de keuze van data en benodigde variabelen. Met een Exploratory Data Analysis wordt exploratief en iteratief onderzocht wat voor variabelen bijvoorbeeld van invloed zijn op hetgeen dat men probeert te modelleren.

Aansluitend worden afslagen gemaakt in het optimaliseren van het model, waarbij goed bijgehouden moet worden wat voor configuratie het beste werkte. Niet alleen versie beheer voor de code, maar ook voor het model is ideaal, omdat het daarmee mogelijk blijft resultaten van modellen te reproduceren.

Vaak wordt tijdens de ontwikkeling ook nog rekening gehouden met in hoeverre de uitkomst van de modellen ook Responsible zijn. Zo kunnen verschillende Explainable AI technieken gebruikt worden, zoals Partial Dependence Plots, Individual Conditional Expectation, of Shapley values, om een beeld te krijgen van de prestaties en vooringenomenheid van het model.

Voorbereiden van in productiename

Theorie is helaas niet altijd praktijk: als iets goed werkt in het lab hoeft dat nog niet te betekenen dat het goed werkt in productie. Zo moet overwogen worden in wat voor omgeving het model moet draaien, en of de data daar wel beschikbaar is.

Het model moet daarnaast op risico’s getoetst worden: wat is het ergste dat er kan gebeuren met het model? Kan het model ook foutief worden ingezet? Zitten er juridische/ethische elementen aan die afgestemd moeten worden?

In productiename

De snelheid waarmee een model in productie genomen kan worden moet niet onderschat worden. Indien dit op een veilige en eenvoudige manier ingericht kan worden, zorgt het er voor dat men veel sneller robuuste modellen live kan zetten. Het is dus een belangrijk component van de MLOps levenscyclus.

De wereld van data kan hierin veel leren van de wereld van software engineering. Cruciaal is het bouwen van een goed gestructureerde Continuous Integration and Continuous Development (CI/CD) straat, waar eenvoudig en consistent nieuwe functionaliteiten geïntegreerd en getest kunnen worden.

Er zijn verschillende manieren om een model in productie te nemen, waaronder deze twee:

  • Als een API: waarin het als een service op het internet aan te roepen is door andere applicaties.
  • Als een batch-proces: waarin het bijvoorbeeld in een nachtelijk proces ingeladen wordt zodat het gebruikt kan worden in andere applicaties.

In beide gevallen is het van belang dat alle code en documentatie voldoet aan de afgesproken standaarden in de organisatie. Denk daarbij aan code standaarden, in welke delen van de organisatie wat opgeslagen staat en uitgebreid versiebeheer.

Ten opzichte van het bouwen van enkel software is versie beheer van alleen de code niet voldoende. Het is immers belangrijk dat we ook de data en het model goed kunnen beheren en terug kunnen vallen op een oude versie.

Aansluitend is het van groot belang dat de modellen ook getest worden op kwaliteit en performance. Is het model snel genoeg? Kan de beoogde applicatie wel gebruik maken van de API die opgezet is?

Monitoring

Zodra een model in productie is genomen, moet deze het ook blijven doen. Het monitoren van het model is daarom een belangrijke stap in de machine learning levenscyclus. Er zijn verschillende belanghebbenden die baat hebben bij een goed monitoring-proces.

De organisatie wilt graag weten wat het model oplevert. De data engineer wilt weten of de applicatie nog draait en snel genoeg is. De data scientist wilt weten of het model nog goede voorspellingen maakt. Een goed systeem dat deze waarde bijhoudt biedt snel inzicht in de prestaties van het model.

Daarnaast kan het model plotseling foute voorspellingen beginnen te maken, een serieus probleem genaamd model drift. Dit is vaak een indicatie dat het tijd is om het model te herzien: trainen op nieuwe data of het toevoegen van nieuwe variabelen.

Soms is het moeilijk om de de prestaties van het model tijdig te meten en bij te houden. Denk daarbij aan applicaties waar er bijvoorbeeld heel ver naar voren voorspeld wordt. In deze gevallen wordt vaak gekeken naar data drift, waar de data die het model in gaat verandert is.

Governance

Het is heel lastig om zonder governance de gehele levenscyclus goed te onderhouden, risico’s te voorkomen, en nog steeds waarde te leveren.

Er zit een groot risico aan het gebruik van AI. De Europese Unie timmert hard aan de weg om met wet- en regelgeving te komen op het gebied van het verantwoord gebruik maken van AI. Dit staat ook wel bekend als Responsible AI. Hierin worden thema’s besproken zoals discriminatie, integriteit, transparantie, privacy, en verantwoordelijkheid.

Governance is van cruciaal belang om AI op grote schaal in te zetten binnen de organisatie. Er bestaan templates die gebruikt kunnen worden die de diverse relevante thema’s tijdens verschillende fasen van een project belichten.

Onze tips voor MLOps

Naarmate het gebruik van modellen en het vertrouwen in machine learning toeneemt, wordt het belang van een betrouwbaar proces steeds belangrijker. Toch gaan er vaak genoeg dingen mis in de ontwikkeling ergens in het MLOps proces. Hier een aantal tips voor het opzetten van een succesvol machine learning project:

  • Ontwikkel een unicorn team, niet een unicorn persoon! Zorg dat de data scientist, machine learning engineer en data engineer vroegtijdig met elkaar een project starten. Betrek een ieder liever te vroeg dan te laat in de levenscyclus.
  • Voor grotere teams is het cruciaal te beginnen bij governance! Doe dit niet naast of tijdens projecten, maar begin bij het team om afspraken te maken waar iedereen het over eens is.
  • Focus niet alleen maar op tooling en techniek. Een heel groot deel gaat over mensen, processen, en de organisatie in zijn geheel.

  • Een standaard aanpak voor het aannemen en uitvoeren van een project maakt het makkelijker voor iedereen in het team om sneller te begrijpen wat er ongeveer gebeurd. Denk daarbij bijvoorbeeld aan standaarden op het gebied van het trainen en opzetten van een model en het bouwen van de pipeline. Wij gebruiken bijvoorbeeld een deel van deze Cookiecutter template om al onze projecten op dezelfde manier te structureren.

  • Laat heel het team gebruik maken van dezelfde Formatters en Linters. Deel desnoods een standaard VSCode configuratie welke door iedereen geadopteerd wordt.
  • Zorg voor standaard templates voor deployment van modellen als API of in een applicatie. Deze templates kunnen al vroegtijdig in het proces gebruikt worden en voorkomen wildgroei van verschillende producten en containers.
  • Zorg dat er een standaard is voor het monitoren van alle modellen in productie (e.g. een dashboard). Hiermee kan snel inzicht gegeven worden welke modellen op dat moment de aandacht behoeven.
  • Er zijn inmiddels verschillende platformen die in grote delen van de machine learning levenscyclus kunnen faciliteren. Denk daarbij aan Dataiku, Google Vertex AI, AWS SageMaker, of Azure ML Studio. Probeer van een standaard gebruik te maken in plaats van zelf een geheel framework te bouwen dat kostbaar is te onderhouden.

Op zoek naar een specifieke expertise?

Wij hebben veel ervaring op het gebied van Machine Learning Operations.

Fill the form to download the Whitepaper

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Download whitepaper to learn

Unique computer vision technology reads invoices in a way that ensures fast invoice data capture and greater accuracy with use.


Unique computer vision technology reads invoices in a way that ensures fast invoice data capture and greater accuracy with use.


Unique computer vision technology reads invoices in a way that ensures fast invoice data capture and greater accuracy with use.

Your vendors need to get paid on time. We’re all dealing with coronavirus chaos, closures, and cutbacks, so using accounts payable automation to process their invoices efficiently will result in stronger supplier-customer relationships.