Ga naar hoofdinhoud

Stroomlijn je machine learning‑workflow met MLflow

Duik diep in wat MLflow is en hoe je dit open‑sourceplatform kunt benutten voor het tracken en uitrollen van je machine‑learningexperimenten.
Bijgewerkt 2 okt 2026  · 12 min lezen

Verken met AI

ChatGPTClaudePerplexity

MLOps is een belangrijk onderdeel van machine learning, omdat het helpt bij het automatiseren van het trainen en uitrollen van machinelearningmodellen. Deze automatisering kan het ontwikkelen en uitrollen van modellen versnellen en helpt ervoor te zorgen dat modellen correct worden ingezet. MLOps kan ook helpen om de prestaties van machinelearningmodellen te monitoren en proactief problemen te identificeren die in productie moeten worden aangepakt.

Het MLOps-landschap in 2022 bestaat uit diverse tools en services die organisaties helpen bij het automatiseren van het bouwen, trainen en uitrollen van machinelearningmodellen. Deze tools en services zijn ontworpen om samen te werken, zodat MLOps efficiënter en makkelijker te beheren wordt. MLflow is zo’n belangrijke tool die we in deze blogpost zullen verkennen.

MLflow is een open‑sourceplatform voor de end‑to‑end levenscyclus van machine learning. Het stelt data scientists in staat om hun experimenten te tracken, runs te reproduceren en hun modellen als endpoints te serven. In dit artikel duiken we diep in wat MLflow is en hoe je dit geweldige open‑sourceplatform kunt benutten voor het tracken en uitrollen van je machine‑learningexperimenten.

Wil je MLOps van dichtbij bekijken? Check dan onze Tutorial Machine Learning, Pipelines, Deployment en MLOps.

Wat is MLflow

MLflow is een open‑sourceplatform voor het beheren van de end‑to‑end levenscyclus van machine learning. Het biedt een centrale plek om experimenten te tracken, code en modellen te delen en modellen naar productie uit te rollen. MLflow bevat ook verschillende ingebouwde algoritmen en pakketten voor populaire ML‑toolkits. Het heeft vier primaire functies:

  • MLflow Tracking. Houdt machinelearningexperimenten bij om uitkomsten en parameters vast te leggen, te analyseren en te vergelijken.
  • MLflow Projects. Verpakt machinelearningcode in een herbruikbare vorm die kan worden gereproduceerd om te delen met andere data scientists of te verplaatsen naar een productieomgeving.
  • MLflow Models. Beheert en rolt modellen uit die afkomstig zijn uit verschillende machinelearningbibliotheken naar diverse platforms voor model serving en inferentie, zoals Amazon Sagemaker.
  • MLflow Model Registry. Biedt een gecentraliseerde modelrepository om gezamenlijk de volledige levenscyclus van een MLflow‑model te beheren, inclusief modelversiebeheer, faseringsstappen en annotaties.

MLflow‑componenten

Bron afbeelding: https://www.databricks.com/wp-content/uploads/2021/02/mlflow-components2.png

MLflow is niet gekoppeld aan één specifieke bibliotheek. Omdat alle functies toegankelijk zijn via een REST‑API en een command line interface, kun je het met elke machinelearningbibliotheek en in elke programmeertaal gebruiken. Een Python‑API, een R‑API en een Java‑API zijn voor het gemak in het project opgenomen.

Belangrijke concepten in MLflow

MLflow Tracking

Wanneer je machinelearningcode draait, biedt de MLflow Tracking‑component een API en een grafische gebruikersinterface (UI) voor het loggen van parameters, codeversies, metrics en outputbestanden. Vervolgens kun je de resultaten van het loggen visualiseren. Dankzij MLflow Tracking kun je ook experimenten loggen en bevragen via de Python‑, REST‑, R‑ en Java‑API's.

MLflow Tracking is georganiseerd rond het concept van runs. Elke run registreert de belangrijkste informatie en metadata, zoals start- en eindtijd, bronbestand, parameters, artefacten, metrics, tags, enz. 

Je kunt runs vastleggen met de Python‑, R‑ of Java‑API’s van MLflow vanaf elke locatie, ongeacht waar je code wordt uitgevoerd. Je zou ze bijvoorbeeld kunnen registreren in een standalone programma, op een externe cloudmachine of in een interactieve notebook. 

Evenzo kun je afzonderlijke runs organiseren in experimenten: verzamelingen van runs die voor een bepaald doel bij elkaar zijn gegroepeerd. De command‑line interface (CLI), de methode mlflow.create experiment() of de REST‑API zijn enkele opties om een experiment aan te maken. Gebruikers kunnen ook experimenten maken via de MLflow‑UI.

Als je ze nodig hebt, kun je opnames van MLflow‑runs lokaal opslaan als bestanden, uploaden naar een database die compatibel is met SQLAlchemy, of op afstand uploaden naar een trackingserver. De MLflow Python‑API logt runs standaard lokaal naar bestanden in de map mlruns op de locatie waar je programma draaide. Daarna kun je de gelogde runs bekijken door de applicatie mlflow ui te starten.

Voorbeeldarchitectuur van MLflow lokaal gebruiken

Bron afbeelding: https://mlflow.org/docs/latest/_images/scenario_1.png

MLflow Projects

MLflow Projects zijn een manier om je machinelearningcode gestructureerd, herbruikbaar en reproduceerbaar op te zetten. Je kunt projects gebruiken met elke machinelearningbibliotheek en ontwikkelomgeving. Elk project bestaat uit een map met een MLproject‑bestand, dat de projectomgeving en parameters beschrijft, en een set bestanden met machinelearningcode.

MLflow ondersteunt momenteel de volgende typen projectomgevingen:

  • Conda‑omgeving, 
  • Virtualenv‑omgeving, 
  • Docker‑container, 
  • systeemomgeving.

Door een MLProject‑bestand toe te voegen, simpelweg een YAML‑bestand, kun je fijnmaziger controle krijgen over het MLflow‑project. Hieronder staat een voorbeeld van een MLProject‑bestand:

MLProject‑bestand

Bron: https://mlflow.org/docs/latest/projects.html#overview

Wanneer het project geen MLproject‑bestand bevat, gaat MLflow uit van enkele standaardconventies, zoals:

  • De projectnaam is de naam van de map.
  • De Conda‑omgeving wordt gebruikt en gespecificeerd in het bestand conda.yaml, dat in dezelfde map moet staan.
  • Elk .py‑ of .sh‑bestand kan het entrypoint zijn.
  • Standaard hebben entrypoints geen parameters.

MLflow projects‑architectuur

Bron afbeelding

MLflow Models

Een MLflow Model is een gestandaardiseerd formaat om machinelearningmodellen te verpakken, die vervolgens in allerlei tools verderop in de pijplijn kunnen worden gebruikt. Dit kan bijvoorbeeld realtime serving via een REST‑API zijn of een batch‑inferentieproces. MLflow Model is een van de kernonderdelen van MLflow. Het specificeert een protocol dat het opslaan van een model in een aantal verschillende “flavors” mogelijk maakt, die elk begrepen kunnen worden door een eigen set downstream‑tools.

Elk MLflow Model is in feite een map die willekeurige bestanden opslaat samen met een MLmodel‑bestand dat onderaan de map staat en meerdere flavors kan definiëren waarin het model kan worden bekeken. Deze bestanden worden samen aangeduid als het MLflow Model.

Het kernidee achter de kracht van MLflow Models is het gebruik van flavors, die dienen als standaard voor deploymenttools om het model te begrijpen. Dit stelt ontwikkelaars in staat tools te bouwen die kunnen samenwerken met modellen uit elke ML‑bibliotheek zonder elke tool met elke bibliotheek te hoeven integreren. Een “standaard” flavor die door alle ingebouwde deploymenttools van MLflow wordt ondersteund, is “Python Function”, die beschrijft hoe je het model als een Python‑functie draait.

Een voorbeeld van een MLflow Models‑map met de Scikit‑learn‑flavor:

Een voorbeeld van een MLflow Models‑map

Bron afbeelding: https://mlflow.org/docs/latest/models.html

MLflow ondersteunt de volgende bibliotheken (als modelflavors) out‑of‑the‑box:

  • Scikit-learn
  • TensorFlow
  • PyTorch
  • Keras
  • Spark MLlib
  • XGBoost
  • LightGBM
  • CatBoost
  • Spacy
  • Fastai
  • Statsmodels
  • Prophet
  • Python function (generiek)
  • R function (generiek)
  • Zie hier de complete lijst

MLflow Model Registry

De MLflow Model Registry is een centrale repository voor het opslaan en versiebeheer van ML‑modellen. Het biedt een manier om de herkomst van modellen te volgen, modellen te vergelijken en modellen uit te rollen.

De MLflow Model Registry‑component is een set API’s en een gebruikersinterface om gezamenlijk de volledige levenscyclus van een MLflow‑model te beheren.

Toegang tot de modelregistry via de gebruikersinterface (UI) of de application programming interface (API) vereist het gebruik van een database‑backed backend store als je Model Registry wilt gebruiken.

Model registreren via de MLflow‑UI:

Model registreren via MLflow‑UI
Bron afbeelding: https://mlflow.org/docs/latest/model-registry.html#concepts

MLflow Pipelines (experimenteel)

MLflow Pipelines is een nieuwe functie en bevindt zich nog in experimentele modus.

De ontwikkeling en productierijp maken van machinelearningtoepassingen wordt eenvoudiger en meer gestandaardiseerd door MLflow Pipelines, een opinionated framework voor het structureren van MLOps‑workflows. Data scientists hebben zo meer tijd om hoogwaardige modellen te bouwen, omdat MLflow Pipelines het makkelijk maakt om industrienormen te volgen bij het bouwen van productierijpe ML‑deliverables. 

MLflow Pipelines maakt het ook mogelijk voor machine learning‑engineers en DevOps‑teams om deze modellen in apps te embedden en naadloos naar productie te brengen.

MLflow Pipelines biedt pijplijnsjablonen van productiekwaliteit voor typische ML‑probleemtypen, zoals regressie en classificatie, en MLOps‑activiteiten zoals batchscoring. Pipelines zijn gestructureerd als git‑repositories met YAML‑gebaseerde configuratiebestanden en Python‑code. Dit biedt ontwikkelaars een declaratieve aanpak voor het bouwen van ML‑applicaties, wat de hoeveelheid boilerplate‑code vermindert.

MLflow Pipelines implementeert ook een cache‑aware executor voor pijplijnstappen. Dit zorgt ervoor dat stappen alleen worden uitgevoerd wanneer de bijbehorende code of configuratie is gewijzigd. Hierdoor kunnen data scientists, ML‑engineers en DevOps‑teams zeer snel itereren binnen hun eigen specialisaties. Daarnaast kunnen pipelines worden uitgevoerd en de output worden onderzocht via API’s en een command line interface (CLI) die MLflow biedt.

Modellen in productie uitrollen lijkt eenvoudig met moderne tools, maar eindigt vaak teleurstellend omdat het model in productie slechter presteert dan in ontwikkeling. 


Wil je leren hoe je machinelearningworkflows in Python ontwerpt die de tand des tijds doorstaan? Bekijk dan onze cursus Designing Machine Learning Workflows in Python.

MLflow vs. Kubeflow

Nu je begrijpt wat MLflow is, beantwoorden we een veelgestelde vraag in het veld: wat is het verschil tussen MLflow en Kubeflow?

Eerst: wat is Kubeflow?

Kubeflow is een open‑sourceproject dat een zorgvuldig samengestelde set tools en frameworks bevat. Het primaire doel van Kubeflow is om het ontwikkelen, uitrollen en beheren van draagbare, schaalbare machinelearningworkflows eenvoudig te maken. 

Kubeflow is gebouwd bovenop Kubernetes, een open‑sourceplatform voor het draaien en orkestreren van containers. Kubernetes is ontworpen om consistent te draaien in verschillende omgevingen, wat essentieel is voor de werking van Kubeflow. 

Wil je meer leren over Kubeflow? Lees dan onze uitgebreide Kubeflow‑tutorial.

Bij het vergelijken van MLflow en Kubeflow is de enige overeenkomst tussen deze twee projecten dat ze allebei open source zijn, maar ze dienen totaal verschillende behoeften. Kubeflow is een open‑source systeem voor containerorkestratie om ML‑toepassingen op Kubernetes te ontwikkelen, uit te rollen en te beheren. MLflow daarentegen is een Python‑bibliotheek voor experimenttracking en modelversiebeheer/uitrol, ongeacht de orkestratieomgeving. 

MLflow‑tutorial

MLflow gebruiken is ontzettend eenvoudig. Het kost maar een paar regels code om MLflow‑logging in je bestaande code te integreren. Maar eerst moet je MLflow installeren met pip.

# install mlflow

pip install mlflow

Laten we een eenvoudig Python‑script maken om een logistische regressie te trainen en de metric en het model te loggen met MLflow. Dit is een officieel voorbeeld van MLflow, hier gereproduceerd.

import numpy as np

from sklearn.linear_model import LogisticRegression

import mlflow

import mlflow.sklearn

if __name__ == "__main__":

    X = np.array([-2, -1, 0, 1, 2, 1]).reshape(-1, 1)

    y = np.array([0, 0, 1, 1, 1, 0])

    lr = LogisticRegression()

    lr.fit(X, y)

    score = lr.score(X, y)

    print("Score: %s" % score)

    mlflow.log_metric("score", score)

    mlflow.sklearn.log_model(lr, "model")

    print("Model saved in run %s" % mlflow.active_run().info.run_uuid)

OUTPUT:

>>> Score: 0.6666666666666666

>>> Model saved in run 9def2bd1c55b4f0985aa5c050b8f71cd

Je kunt de MLflow‑UI starten door `mlflow ui` te typen in de commandlineterminal in dezelfde map als waar je Python‑bestand staat.

mlflow ui

Navigeer daarna naar https://localhost:5000, dan zie je deze pagina:

MLflow‑UI

Je ziet dat we maar één record hebben, namelijk het model dat we in het bovenstaande script hebben getraind en gelogd. Klik op de naam en je ziet een detailpagina:

MLflow‑UI in detail

VERBETER JE SKILLS NU! 

SCHRIJF JE VANDAAG IN voor Machine Learning Scientist with Python 

Beheers de essentiële skills om een baan als machinelearningscientist te veroveren. Je breidt je Python‑vaardigheden uit met de toolbox voor supervised, unsupervised en deep learning. Je leert:

  • Hoe je data verwerkt tot features, 
  • Hoe je machinelearningmodellen traint, 
  • Hyperparameter‑tuning
  • Natural language processing (NLP)
  • Image processing
  • Populaire libraries Spark en Keras

Conclusie

MLflow is een open‑sourceplatform en een geweldige tool voor het beheren van de end‑to‑end levenscyclus van machine learning. Het is gemaakt door Databricks, het bedrijf achter het populaire Apache Spark‑platform, en is ontworpen om te werken met elke machinelearningbibliotheek, elk algoritme en elke taal.

MLflow biedt tal van voordelen voor ML‑ontwikkelaars en data scientists. Het biedt een centrale plek om experimenten te tracken en ML‑projecten te beheren. Dit kan een waardevol hulpmiddel zijn voor samenwerking, omdat verschillende teamleden kunnen zien wat anderen doen en resultaten kunnen vergelijken. 

MLflow kan de ML‑workflow automatiseren, van datapreprocessing tot modeltraining en uitrol. Dit kan tijd en moeite besparen en het makkelijker maken om resultaten te reproduceren.

Al met al is MLflow een waardevolle tool voor het beheren van ML‑projecten. Het kan je helpen experimenten te tracken, de workflow te automatiseren en modellen te optimaliseren. Werk je aan ML‑projecten? Dan moet je MLflow zeker eens bekijken.

Wil je je skills upgraden en de basis van Machine Learning en de toepassing ervan in de bedrijfswereld begrijpen? Bekijk dan onze cursus Machine Learning for Business op DataCamp.

Onderwerpen
Machine Learning

Machine Learning‑cursussen

Cursus

Machine Learning-workflows ontwerpen in Python

4 uur
12.8K
Leer pijpleidingen bouwen die lang meegaan.
Bekijk detailsRight Arrow
Start Cursus
Meer bekijkenRight Arrow
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 BekijkenMeer Bekijken