ENSAE Paris - École d'ingénieurs pour l'économie, la data science, la finance et l'actuariat

Mise en production des projets de data-science

Objectif

Ce cours est assuré par Lino Galiana et Romain Avouac. 

Le but de ce cours est d’aborder les aspects les plus importants de la mise en production d’un projet de data-science. Tout au long du cours, on suivra l’exemple du déploiement d'une API pour servir un modèle de Machine Learning. 

Le cours est évalué avec deux rendus :  
- dans un premier temps, en groupe de 2 ou 3, il faudra choisir un projet personnel, le rendre conforme aux bonnes pratiques, choisir un format de valorisation, déployer sur une infra de production 
- dans un second temps, les étudiants se placeront dans le rôle d’un data-scientist qui vérifie la qualité des contributions à un projet et devront individuellement évaluer un des projets d’un autre groupe (peer review), critiquer les choix techniques et les bonnes pratiques mises en œuvre 

Plan

Prérequis 

Ce cours fait suite au cours Infrastructure et systèmes logiciels du premier semestre. Il est fortement conseillé de l’avoir suivi avant d’aborder ce cours ou bien d’avoir rattrapé les notions suivantes : 

Il suppose aussi que le cours Python pour la data-science a été suivi. Si ce n’est pas le cas, vous pouvez parcourir le contenu sur le site du cours. 

Partie 1 : Bonnes pratiques de développement 

  • Standards de qualité du code
  • Architectures de projet
  • Travail collaboratif avec Git et GitHub 

Partie 2 : Vers la mise en production 

  • Maximiser la reproductibilité et la portabilité des projets
  • Environnements virtuels : venv et conda
  • Conteneurisation : Docker
  • Déployer et valoriser un projet de data science
  • Environnements de production
  • Intégration continue (CI) et déploiement en continu (CD)
  • Principes de Kubernetes
  • Formats de valorisation
  • Introduction au MLOps 

Références

Site du cours : https://ensae-reproductibilite.github.io/website/