Semestre 3 : Mise en production des produits d'IA et de la donnée (MLOps & Big Data)
Objectif général : appliquer toute la stack des semestres 1-2 au cas particulier, et plus difficile, des produits pilotés par les données et les modèles.
Prérequis : S1 + S2 ; bases de Python et de machine learning (un modèle scikit-learn suffit ; ce n'est pas un cours de ML, c'est un cours d'industrialisation du ML).
Le fil rouge : Listify apprend à suggérer une catégorie
Listify reste l'application déployée depuis le semestre 1. On lui ajoute un modèle d'apprentissage automatique qui, à la saisie d'une tâche, suggère une catégorie (travail, courses, maison, administratif, loisirs). Ce modèle simple, un classifieur de textes, suffit à faire surgir tous les problèmes du semestre : reproductibilité, suivi des expériences, orchestration de l'entraînement, service des prédictions, dérive des données. Le chapitre 27 raconte comment il se dégrade en silence quand on le déploie sans précaution.
Plan du semestre
Bloc 1 : pourquoi le ML en production est différent (semaines 1 à 3)
- Ch. 27 : pourquoi le ML en production est différent, la dette technique cachée (Sculley et al., NeurIPS 2015).
- Ch. 28 : versionner le code, les données et le modèle ; reproductibilité d'une expérience (DVC).
- Ch. 29 : le cycle de vie MLOps et ses niveaux de maturité 0, 1 et 2 (Google).
- Ch. 30 : les modes de mise à disposition d'un modèle (batch, temps réel, flux ; modèle embarqué ou modèle-service).
- TP 22 et TP 23 : le notebook « recherche » irreproductible (chaos volontaire), puis restructuration en projet propre versionné avec DVC.
Bloc 2 : outillage du cycle de vie, MLflow et Airflow (semaines 4 à 8)
- Ch. 31 : suivi d'expériences et registre de modèles (MLflow Tracking, Models, Model Registry).
- Ch. 32 : orchestrer des tâches, le DAG et Airflow (scheduler, executor, tâches idempotentes, backfill, capteurs, XCom) ; orchestrateur de services contre orchestrateur de tâches.
- Ch. 33 : servir un modèle (FastAPI, validation Pydantic, tests de charge, conteneurisation).
- TP 24, TP 25, TP 26 et TP 27 : instrumentation MLflow, API de serving déployée sur le cluster du S2, DAG complet d'entraînement, chaîne intégrée « CD du modèle ».
Bloc 3 : Kubeflow, monitoring des modèles et Big Data (semaines 9 à 13)
- Ch. 34 : le ML sur Kubernetes (Kubeflow Pipelines, KServe), comparaison critique avec Airflow.
- Ch. 35 : surveiller un modèle, dérive des données et des concepts, performance différée (Evidently).
- Ch. 36 : big data et calcul distribué (les 3V, MapReduce, Spark et le shuffle, Parquet contre CSV, lakehouse en panorama).
- Ch. 37 : les flux de données (Kafka, traitements en continu).
- Ch. 38 : éthique et responsabilité de la mise en production d'IA (biais à l'échelle, équité, RGPD, model cards).
- TP 28 à 31 : KServe en découverte (TP 28), boucle de dérive complète avec réentraînement automatique (TP 29), Spark en local sur plusieurs Go (TP 30), Kafka en mode KRaft (TP 31).
Évaluation du semestre
| Épreuve | Poids | Modalités |
|---|---|---|
| Contrôle continu | 20 % | TP notés + fiche de lecture critique (Hidden Technical Debt) |
| Projet final de parcours | 50 % | Par trinôme : industrialiser de bout en bout un produit IA au choix. Données versionnées, entraînement reproductible orchestré, tracking + registry, serving conteneurisé déployé via CI/CD, monitoring technique et de drift, ré-entraînement automatisé. Livrables : dépôt Git, architecture documentée, démo live, post-mortem d'une panne simulée |
| Examen théorique | 30 % | Questions transversales aux 3 semestres |