Leerpad
Maak plaats, data science! Er is een nieuwkomer die de datawereld opschudt: de machine learning engineer.
Deze rol heeft de afgelopen jaren een enorme groei doorgemaakt en zelfs data science ingehaald als een van de snelstgroeiende banen in de VS. Het salaris van een machine learning engineer is vergelijkbaar met, en in sommige gevallen zelfs hoger dan, dat van een data scientist.
In dit artikel duiken we in het takenpakket van een machine learning engineer en wat de rol precies inhoudt. Daarna lopen we door de vaardigheden die je nodig hebt om machine learning engineer te worden, met de specifieke kennisgebieden die je moet beheersen. Tot slot verkennen we effectieve leerpaden om deze skills op te doen en een werkklare machine learning engineer te worden.
Wat is een machine learning engineer?
Kort gezegd zitten machine learning engineers op het snijvlak van data science en softwareontwikkeling.
Laten we een voorbeeld bekijken om dit beter te begrijpen:
Een e-commercebedrijf huurt een data science-team in om voorspellende modellen te bouwen. Het team ontwikkelt succesvol een algoritme dat gebruikers aanbevelingen doet op basis van hun aankoopgeschiedenis.
Maar ze krijgen dit model niet geïntegreerd op de e-commercewebsite om de aanbevolen items daadwerkelijk aan de klant te tonen, wat tot een slechte gebruikerservaring leidt:

Afbeelding door DALLE-3
Deze bottleneck ontstaat omdat het team wel uitblinkt in statistische analyse en het bouwen van zeer nauwkeurige machine learning-modellen, maar moeite heeft om deze algoritmes te productionizen door een gebrek aan software-engineeringexpertise.
Het bedrijf moet deze taak uiteindelijk uitbesteden aan een externe partij en besteedt zo meer tijd en geld dan aanvankelijk verwacht.
Dit gat tussen modelontwikkeling en implementatie heeft geleid tot het ontstaan van de machine learning engineer: een professional met de gecombineerde skillset van een data scientist en een software engineer.
Technische vaardigheden voor machine learning engineers
We hebben een volledig artikel over hoe je machine learning engineer wordt, waarin we instroompaden in de sector verkennen. Hier focussen we vooral op de skills die je nodig hebt en hoe je die opdoet.
Omdat machine learning engineering het kruispunt is van data science en softwareontwikkeling, moet je bekend zijn met kernconcepten uit beide domeinen:
Data science-vaardigheden voor ML-engineering
1. Statistische analyse en kansrekening
Een basisbegrip van statistiek is noodzakelijk als je machine learning engineer wilt worden, omdat je daarmee data kunt interpreteren en relevante inzichten kunt halen. Dit omvat kennis van statistische toetsen, verdelingen en kansrekenkundige theorieën.
Zodra je een sterk begrip van statistische concepten hebt opgebouwd, kun je nauwkeurige modellen ontwerpen en voorspellingen doen op basis van data-analyse.
Hoewel deze concepten misschien vreemd klinken, zijn ze echt niet zo moeilijk te leren! De cursus Introduction to Statistics van Datacamp geeft je een sterke basis in het vak, met onderwerpen als kansverdelingen en hypothesetoetsing.
Aan het einde van deze cursus kun je real-world datasets verzamelen, analyseren en daaruit conclusies trekken.
2. Machine learning
Je moet ook bedreven zijn in het bouwen van zeer nauwkeurige machine learning-modellen, zoals beslisbomen, clustering en regressie-algoritmes.
Dit is een kerntaak van een data scientist die je moet beheersen, zodat de modellen die je bouwt theoretisch kloppen en zorgen voor een uitstekende gebruikerservaring.
Om de bovenstaande algoritmes goed te begrijpen en te implementeren, kun je onze leerlijn Machine Learning Fundamentals volgen. Als je een complete beginner bent en een opfrisser nodig hebt over wat machine learning precies inhoudt, lees dan ons uitgebreide overzicht van het vakgebied, waarin we de relevantie, toepassingen en hoe je kunt starten uiteenzetten.
3. Modellevaluatie
Na het bouwen van een machine learning-model moet je de prestaties evalueren om de effectiviteit en betrouwbaarheid te waarborgen. Hierbij gebruik je passende metrics zoals accuracy, precision en recall om te beoordelen of het model voldoet aan de verwachtingen.
Als machine learning engineer ga je een stap verder en monitor je de modelprestaties in de echte wereld.
Zodra je een algoritme uitrolt, moet je het regelmatig evalueren om te zorgen dat het zich aanpast aan veranderingen zodra er nieuwe data binnenkomt. Een misstap in deze fase kan leiden tot een mislukt machine learning-project.
Hier is een praktijkvoorbeeld dat het belang van consistente modellevaluatie laat zien:

Afbeelding door DALLE-3
Al na drie maanden na het bouwen van een model om heropnames in meerdere ziekenhuizen te voorspellen, ontdekte deze CTO dat het systeem onnauwkeurige voorspellingen deed. De data die het systeem in ging, was verschoven, waardoor de features waarop het model leunde, stukliepen. Het is cruciaal om dit soort issues vroegtijdig te detecteren en te verhelpen via continue monitoring en modellevaluatie.
Je kunt meer leren over het evalueren van machine learning-modellen in onze cursus Model Validation in Python.
Software-engineeringvaardigheden voor ML-engineering
Vervolgens bekijken we enkele software-engineeringskills die je nodig hebt:
4. DevOps en CI/CD
Om machine learning-modellen te deployen en hun prestaties in de tijd continu te monitoren, moet je DevOps leren, een combinatie van softwareontwikkeling en IT-operations.
Simpel gezegd is dit een set aan praktijken die de tijd die het kost om software te ontwikkelen verkort en tegelijk de kwaliteit van het eindproduct waarborgt.
Twee kernpraktijken in DevOps zijn Continuous Integration (CI) en Continuous Deployment (CD). CI laat je codewijzigingen automatisch testen om fouten snel te verhelpen. CD automatiseert vervolgens de uitrol van codewijzigingen naar productie na het testen.
Volg onze cursus Introduction to DevOps om meer te leren over DevOps en CI/CD-pijplijnen.
5. Cloudplatformen
Cloudplatformen zoals AWS, Azure en Google Cloud Platform bieden services die speciaal zijn ontworpen om machine learning-modellen te bouwen, trainen en deployen.
AWS biedt bijvoorbeeld Sagemaker om hoogwaardige, kostenefficiënte machine learning-algoritmes te faciliteren. Andere services, zoals CodeBuild, helpen ook om het CI/CD-proces te automatiseren, waardoor je uren aan repetitief werk bespaart.
Steeds meer bedrijven adopteren cloudplatformen voor hun AI- en machine learning-initiatieven, waardoor bekendheid ermee zeer waardevol is.
Omdat ze zo in trek zijn, raden we aan om deze platformen te leren om je carrièrekansen als machine learning engineer te vergroten.
Om met cloud computing te starten, kun je de cursus AWS Cloud Concepts van Datacamp volgen.
6. Versiebeheer
Na het deployen van machine learning-modellen in real-world applicaties zul je na verloop van tijd de data moeten updaten waarmee deze algoritmes zijn getraind of verschillende modelversies moeten maken.
Versiebeheer is een systeem dat deze wijzigingen in de tijd vastlegt, zodat je revisies kunt bijhouden en desnoods kunt terugkeren naar eerdere versies.
Zo kun je precies zien wie wat wanneer heeft gewijzigd. Het faciliteert ook naadloze samenwerking en laat je nieuwe ideeën uitproberen zonder bang te hoeven zijn de originele code te verliezen.
Git is het meest gebruikte tool voor versiebeheer, omdat het je helpt de geschiedenis van je broncode bij te houden. Je kunt onze cursus Introduction to Git volgen als je meer wilt leren over versiebeheer.
Vaardigheden voor machine learning engineers - programmeertalen
Het zal geen verrassing zijn: om machine learning engineer te worden, moet je kunnen programmeren.
De meeste vacatures voor machine learning engineers verwachten vaardigheid in minstens één programmeertaal zoals Python, Java of C++. Er ligt een sterke nadruk op kennis van Objectgeoriënteerd Programmeren (OOP).
Dit komt omdat OOP een programmeerparadigma is dat helpt je code te structureren en beheersbaar te maken, wat de ontwikkeling van complexe machine learning-taken vereenvoudigt.
Elke taal biedt unieke voordelen:
7. Python
Python is een populaire keuze voor machine learning engineering vanwege de eenvoud, samen met een uitgebreid aanbod aan libraries zoals TensorFlow en PyTorch.
Omdat de taal zo wijdverspreid is in verschillende techdomeinen, zoals data-analyse en webontwikkeling, is kennis van Python overdraagbaar en opent het deuren naar diverse andere rollen. Onze Python Fundamentals-track is de ideale plek om de basis van data-analyse met Python onder de knie te krijgen.
8. Java
Hoewel minder populair dan Python, wordt Java ook veel gebruikt in de industrie en staat het bekend om zijn robuustheid.
Door het vermogen om grootschalige, gedistribueerde systemen efficiënt te verwerken, is het een ideale keuze voor het deployen van machine learning-modellen in productieomgevingen.
Bovendien kunnen sommige organisaties verlangen dat je werkt met big data-technologieën zoals Apache Spark en Hadoop, die beide in Java zijn geschreven. Kennis van Java kan zorgen voor een soepelere ervaring bij het werken met deze platforms.
9. C++
C++ is vaak efficiënter dan zowel Python als Java, waardoor het een ideale taal is voor scenario’s waarin rekenprestaties cruciaal zijn.
Bij het uitvoeren van resource-intensieve taken, zoals het trainen van deep learning-modellen, kan C++ de traintijd aanzienlijk verkorten en de modelprestaties verbeteren.
Daarnaast zijn populaire machine learning-frameworks zoals TensorFlow en PyTorch in C++ geschreven, en biedt de taal meer controle over modelimplementatie en -optimalisatie.
Als je maar tijd hebt om één programmeertaal te leren, raden we aan om Python te leren omdat het zeer in trek, gebruiksvriendelijk en veelzijdig is.
Het biedt ook een breed scala aan machine learning-libraries die niet direct beschikbaar zijn in Java en C++. Bovendien zijn de skills die je opdoet bij het leren van één taal overdraagbaar naar andere programmeertalen, zodat je je makkelijk kunt aanpassen en nieuwe technologieën kunt leren naarmate je vordert.
Soft skills voor machine learning engineers
Werkgevers zoeken steeds vaker naar kandidaten met zowel technische knowhow als soft skills die het samenwerken prettig maken. Enkele soft skills die je als machine learning engineer moet hebben, zijn:
10. Communicatie
Als machine learning engineer moet je requirements ophalen en bevindingen presenteren aan belangrijke stakeholders, zodat het eindproduct aansluit bij de bedrijfsdoelstelling.
Dat betekent dat je je punt goed moet kunnen overbrengen. Omdat niet-technische stakeholders technische jargon vaak niet begrijpen, is het essentieel om complexe machine learning-concepten te vertalen naar begrijpelijke termen.
Als je je datavisualisatie- en communicatieskills wilt verbeteren, kun je onze cursus Data Communication Concepts volgen.
11. Probleemoplossend vermogen
Als machine learning engineer loop je vaak tegen issues aan bij het bouwen, testen en deployen van modellen. Een voorbeeld hiervan zagen we eerder in het artikel, waar een zorgvuldig opgebouwd en getest systeem begon te degraderen door veranderingen in real-world data.
Wanneer je met dit soort problemen te maken krijgt, is het cruciaal om met je team de situatie te analyseren, mogelijke oorzaken te identificeren en oplossingen systematisch te testen.
12. Continu leren
De technologiesector verandert voortdurend, en nieuwe frameworks en programmeertalen worden regelmatig geïntroduceerd.
Als machine learning engineer is het belangrijk dat je je niet te veel vastklampt aan één techstack en openstaat voor het experimenteren met nieuwe frameworks zodra die verschijnen. Flexibiliteit en continu leren zijn de sleutel om bij te blijven in je vak.
Tot slot
Samengevat: machine learning engineering is een snelgroeiende carrière die een belangrijke skillskloof tussen data science en softwareontwikkeling overbrugt.
Als je in dit vakgebied aan de slag wilt, moet je kennis hebben van data science, softwareontwikkeling en minstens één programmeertaal. Daarnaast vergroten soft skills zoals effectieve communicatie en probleemoplossend vermogen je kansen om aangenomen en gepromoveerd te worden.
Vergeet tot slot niet om continu mee te bewegen met het technologische landschap, op de hoogte te blijven van de laatste trends en een veelzijdige skillset op te bouwen.
Ben je klaar om aan je reis richting machine learning engineer te beginnen? Bekijk dan onze Machine Learning Engineer-skilltrack, ontworpen voor ambitieuze professionals.
Natassha is een data consultant die werkt op het snijvlak van data science en marketing. Ze gelooft dat data, mits verstandig gebruikt, enorme groei kan aanjagen voor individuen en organisaties. Als autodidactisch dataprofessional houdt Natassha ervan om artikelen te schrijven die andere aspirant-data scientists helpen de industrie binnen te komen. Haar artikelen op haar persoonlijke blog en in externe publicaties trekken gemiddeld 200.000 maandelijkse weergaven.

