Déployer un modèle de machine learning en production

Déployer un modèle (API, MLOps de base) est un cours de niveau avancé de 5 leçons (environ 4 h 03), avec 15 exercices et 15 questions de quiz. Prérequis : Évaluation et validation des modèles, API avec FastAPI. Le cours demande un environnement de projet complet, prévu dans une phase ultérieure de la plateforme.

  • Data science
  • Avancé
  • 5 leçons
  • 4 h 03
  • 15 exercices
  • Environnement de projet complet (phase 2)

Le cours en bref

Ce cours vous accompagne du notebook à la production sur un cas fil rouge de prédiction de churn. Vous sauvegarderez un modèle de façon fiable, l'exposerez dans une API FastAPI validée, le conteneuriserez avec Docker, automatiserez tests et promotion, puis surveillerez son comportement et la dérive des données.

Ce que tu sauras faire

  • Sérialiser un pipeline de modèle et documenter l'artefact (version, features, métriques, empreinte)
  • Exposer un modèle dans une API FastAPI avec validation Pydantic, endpoint de santé et tests
  • Conteneuriser le service avec un Dockerfile reproductible et sécurisé
  • Mettre en place des tests de modèle, une porte de qualité et une intégration continue
  • Suivre les expériences et gérer les versions de modèles dans un registre MLflow
  • Surveiller un modèle en production : latence, erreurs, dérive (PSI) et stratégie de ré-entraînement

Programme des 5 leçons

    • Regrouper prétraitement et modèle dans un Pipeline unique
    • Sauvegarder et recharger un modèle avec joblib en connaissant les risques
    • Documenter un artefact : version, features, métriques, empreinte et dépendances

    SérialisationArtefact de modèleReproductibilité

  1. 02

    Servir un modèle avec une API FastAPI

    20 min
    • Exposer un modèle via un endpoint REST /predict avec FastAPI
    • Valider les entrées et décrire les sorties avec Pydantic
    • Charger le modèle une seule fois au démarrage et gérer les erreurs

    API d'inférenceValidation des entréesFastAPI et Pydantic

  2. 03

    Conteneuriser le service avec Docker

    18 min
    • Écrire un Dockerfile pour une API de modèle
    • Construire, lancer et inspecter un conteneur
    • Appliquer les bonnes pratiques : image légère, cache, utilisateur non root, configuration par variables d'environnement

    DockerImage et conteneurConfiguration par l'environnement

  3. 04

    Tests, intégration continue et registre de modèles

    20 min
    • Écrire des tests pour le code, l'API et la qualité du modèle
    • Automatiser tests et construction d'image avec une intégration continue
    • Suivre les expériences et promouvoir un modèle avec MLflow

    Tests de modèleIntégration et déploiement continusRegistre de modèlesSuivi d'expériences

  4. 05

    Surveiller un modèle en production : logs, dérive et ré-entraînement

    20 min
    • Journaliser les prédictions et suivre les métriques opérationnelles (latence, erreurs)
    • Détecter une dérive des données avec le PSI et d'autres tests
    • Définir une stratégie d'alerte et de ré-entraînement

    MonitoringDérive des donnéesPopulation Stability IndexRé-entraînement

Projet final

Mettre en production un modèle de churn de bout en bout

À partir d'un jeu de données de clients (généré ou public), livrez un service de prédiction de churn prêt pour la production : modèle versionné, API documentée et testée, image Docker, CI et dispositif de monitoring avec un rapport de dérive sur une période simulée.

Livrables

  • Un script d'entraînement reproductible qui enregistre le modèle, ses métriques et sa fiche (MLflow ou JSON)
  • Une API FastAPI avec /health, /predict et /predict_batch, schémas Pydantic et version du modèle dans les réponses
  • Un Dockerfile et un .dockerignore produisant une image reproductible exécutée sans root
  • Une suite pytest (tests unitaires, d'API et de comportement du modèle) et un workflow CI qui l'exécute et construit l'image
  • Un module de monitoring : journaux structurés, calcul du PSI par variable sur une période simulée avec dérive, et une note décrivant les alertes et la stratégie de ré-entraînement

Critères d'évaluation

  • Le service démarre en une commande et répond correctement aux entrées valides et invalides
  • Reproductibilité : versions figées, graines fixées, artefact traçable (version, empreinte)
  • Pertinence et automatisation des tests, porte de qualité explicite
  • Monitoring couvrant service, données et modèle, avec seuils justifiés
  • Sécurité et bonnes pratiques : pas de secret dans l'image, validation des entrées, données personnelles minimisées

Questions fréquentes

Quels prérequis pour ce cours de déploiement de modèles ?

Savoir entraîner et évaluer un modèle avec scikit-learn (cours DS4) et connaître les bases du web en Python et des API (cours PW1). Aucune expérience préalable de Docker n'est nécessaire.

Pourquoi FastAPI pour servir un modèle ?

FastAPI valide automatiquement les données d'entrée grâce à Pydantic, génère une documentation interactive et offre de bonnes performances. C'est aujourd'hui l'un des choix les plus courants pour exposer un modèle en Python.

Qu'est-ce que la dérive des données ?

C'est le changement de la distribution des données reçues par le modèle par rapport à celles de l'entraînement. Elle peut dégrader les prédictions ; on la mesure par exemple avec le PSI et on la surveille en continu.

Faut-il connaître Kubernetes pour déployer un modèle ?

Non. Une image Docker peut être déployée sur des services managés de conteneurs. Kubernetes devient utile pour de grandes infrastructures, mais les principes du cours restent les mêmes.

Ce cours, raconté pour ton métier

Dis ce que tu veux savoir faire : « Déployer un modèle (API, MLOps de base) » prend sa place dans ton parcours, avec des exemples de ton secteur. Les notions restent celles du cours.

L'aperçu est gratuit, et les cours se suivent un par un sans payer. Le parcours ne contient que des leçons du catalogue.