Semaine 08 — MLOps et mise en production
Module 8 : conteneuriser, déployer, suivre, superviser. FastAPI + Docker + cloud free-tier + MLflow + détection de drift.
Ce qu'il faut pour que le modèle continue de fonctionner une fois le notebook fermé.
Livrable de la semaine
Un modèle déployé : modèle entraîné enveloppé dans un service FastAPI, conteneurisé, déployé sur un cloud en free-tier, avec tracking MLflow et un dashboard basique de suivi de dérive.
| Échéance | Vendredi 18h00 (Africa/Lagos (UTC+1)) |
|---|---|
| Soumission | Déposer l'URL du dépôt dans le canal hebdomadaire de la cohorte. Le binôme de revue par les pairs est annoncé le lundi de la semaine suivante. |
| Grille | Validé / à reprendre. La validation exige une CI au vert, des tests couvrant l'API publique, et un README qu'un inconnu peut suivre pour installer et exécuter le code. |
Sessions en direct et ateliers
Cadence hebdomadaire par défaut ci-dessous. Les dates spécifiques à la cohorte et les liens Zoom sont ajoutés à l'inscription.
| Jour | Horaire | Bloc | Enregistrement |
|---|---|---|---|
| Mon | 09:00-12:00 | Cours en direct + code-along | (après la session) |
| Mon | 14:00-16:00 | Travail de lab en autonomie + permanences assistants | (après la session) |
| Tue | 09:00-12:00 | Cours en direct + code-along | (après la session) |
| Tue | 14:00-16:00 | Travail de lab en autonomie + permanences assistants | (après la session) |
| Wed | 09:00-12:00 | Cours en direct + code-along | (après la session) |
| Wed | 14:00-16:00 | Travail de lab en autonomie + permanences assistants | (après la session) |
| Thu | 09:00-12:00 | Cours en direct + code-along | (après la session) |
| Thu | 14:00-16:00 | Travail de lab en autonomie + permanences assistants | (après la session) |
| Fri | 10:00-11:00 | Intervenant de l'industrie | (après la session) |
| Fri | 11:30-12:30 | Revue de lab | (après la session) |
| Fri | 14:00-15:00 | Rétrospective de cohorte | (après la session) |
Objectifs d'apprentissage
À l'issue de la semaine, chaque participant saura :
- Versionner code, données et modèles de manière à soutenir la reproductibilité.
- Conteneuriser un modèle et le déployer comme API REST.
- Mettre en place le tracking d’expériences, le registre de modèles et le monitoring.
- Construire un pipeline CI/CD basique pour un système ML.
Sujets abordés
Reproductibilité (Git, DVC, MLflow) · tracking d’expériences et registre de modèles (MLflow, Weights & Biases) · conteneurisation (Docker, docker-compose) · serving (FastAPI, BentoML, registres de modèles) · monitoring (dérive de données, de prédiction, de performance, latence, coût) · CI/CD pour pipelines ML · la différence entre le modèle marche sur mon laptop et le modèle marche en production pendant six mois.
Ateliers
Atelier 1 — FastAPI + Docker + déploiement free-tier
Envelopper un modèle entraîné d’une semaine précédente dans un service FastAPI. Conteneuriser. Déployer sur Render ou Railway. Appeler l’endpoint déployé depuis un nouveau notebook.
Jeu de données : Apportez votre modèle de la semaine 3, 6 ou 7.
Atelier 2 — Tracking MLflow pour une boucle de réentraînement
Mettre en place le tracking MLflow pour une boucle de réentraînement. Logger hyperparamètres, métriques, artefacts. Promouvoir un modèle de staging vers production via le Model Registry.
Jeu de données : Réutiliser un des jeux de données des semaines précédentes.
Atelier 3 — Détection de dérive
Simuler une dérive graduelle des données sur un modèle déployé. Construire un dashboard Grafana ou Evidently qui la détecte. Câbler une alerte qui se déclenche sur un seuil PSI.
Jeu de données : Dérive synthétique superposée aux données d'une semaine précédente.
Lectures
Obligatoires
- Avant Mardi. Sculley et al., *Hidden Technical Debt in Machine Learning Systems* (NeurIPS 2015)
- Avant Mercredi. Google Cloud, *MLOps: Continuous delivery and automation pipelines in machine learning*
- Avant Jeudi. Chip Huyen, *Designing Machine Learning Systems* (O'Reilly 2022), chapitres 7-9