Le CI/CD (Continuous Integration / Continuous Deployment) est un standard en développement logiciel. Mais appliquer les mêmes principes au Machine Learning requière des adaptations significatives. Un modèle ML n'est pas un microservice : il dépend de données, d'hyperpareamètres et de métriques de performance qui n'existent pas dans le développement classique.
Les 3 pipelines du MLOps
Un système MLOps mature repose sur trois pipelines distincts :
Pipeline de données
Il collecte, nettoie et transforme les données d'entraînement. C'est le plus souvent négligé et pourtant le plus critique.
- Versioning des datasets avec DVC ou LakeFS
- Tests de qualité automatisés (Great Expectations)
- Feature store pour centraliser et réutiliser les features
Pipeline d'entraînement
Il entraîne le modèle, évalue ses performances et décide si la nouvelle version est éligible au déploiement.
- Experiment tracking avec MLflow ou Weights & Biases
- Hyperparameter tuning automatisé (Optuna, Ray Tune)
- Model registry pour versionner les modèles validés
Pipeline de déploiement
Il déploie le modèle en production et monitore ses performances en continu.
- Serving via API REST (FastAPI, TensorFlow Serving) ou batch
- A/B testing ou canary deployment pour les mises en production progressives
- Monitoring du drift (données et performances)
Tests spécifiques au ML
Au-delà des tests unitaires classiques, un pipeline ML nécessite des tests spécifiques :
- Tests de données : les distributions d'entrée sont-elles conformes aux attentes ?
- Tests de modèle : la nouvelle version est-elle meilleure que la précédente ?
- Tests d'infrastructure : le modèle se charge-t-il correctement ? Les temps de réponse sont-ils acceptables ?
- Tests de biais : le modèle est-il équitable sur les différentes sous-populations ?
Le monitoring en production
Un modèle ML se dégrade naturellement avec le temps. Les données d'entrée évoluent (data drift), les comportements changent (concept drift). Le monitoring doit couvrir :
- Performance métier : les KPIs métier sont-ils toujours atteints ?
- Data drift : les distributions d'entrée ont-elles changé ?
- Prediction drift : les sorties du modèle ont-elles changé ?
- Latence et disponibilité : le modèle répond-il dans les temps ?
Notre stack recommandée
Pour une PME ou un premier déploiement MLOps :
| Composant | Outil recommandé |
|---|---|
| Orchestration | Prefect ou Airflow |
| Experiment tracking | MLflow |
| Feature store | Feast |
| Model serving | FastAPI + Docker |
| Monitoring | Evidently AI |
| Infrastructure | Kubernetes ou serverless |
L'objectif n'est pas de tout mettre en place dès le début, mais de construire progressivement selon vos besoins.
