MLOps & Machine Learning End-To-End
Le terme MLOps (Machine Learning Operations) est de plus en plus souvent employé dans la communauté data et est rapidement devenu un concept central dans la gestion des projets Data Science. Son objectif est de fournir un ensemble de pratiques et outils afin de penser, construire, et manager l’ensemble du cycle de vie d’un logiciel à base de Machine Learning. Si le déploiement et la gestion d’un modèle en production fait partie des principaux enjeux du MLOps, c’est bien l’ensemble du cycle de vie qui est concerné afin de l’optimiser et d’accélérer la création de valeur via le Machine Learning.
Cette formation MLOps a pour objectif de vous fournir toutes les clés pratiques et techniques afin de réaliser des projets Machine Learning end-to-end.
Objectifs
- Définir les grands enjeux et piliers du MLOps
- Comprendre les points communs et différences avec le DevOps
- Industrialiser un projet de Machine Learning, du notebook à l’IDE
- Monitorer, maintenir et ré-entraîner automatiquement un modèle de Machine Learning en production
- Ajouter de l’automatisation sur l’ensemble du cycle de vie d’un projet Data Science, notamment vie de l’intégration et du déploiement continu
Public cible
- Data Scientists
- ML Engineers
- Data Engineers
Programme détaillé
MLOps : Définition et principaux enjeux
- MLOps & Machine Learning Lifecycle
- DevOps & MLOps : points communs et principales différences
- Culture, Pratiques et Outils : les 3 axes de travail du MLOps
- Framework CALMS appliqué au Machine Learning
Créer une Culture du MLOps
- Communication et collaboration
- Bonnes pratiques du Software Craftsmanship
- Bonnes pratiques agiles
Étape 1 : Du notebook au projet industrialisé
Objectif : Passer de l’idée à l’industrialisation d’un projet de Machine Learning
Framing et Value Proposition
- Machine Learning Canvas
- Travailler sa Value Proposition
- Identifier et anticiper les risques liés au Machine Learning
Se préparer pour l’industrialisation
- Bonnes pratiques de structuration de ses notebooks
- Gestion des environnements Python
Industrialiser: les clés pour devenir production-ready
- TDD et stratégie de tests du code
- Versioning du code
Packaging
- Enjeux du packaging
- Gestion des dépendances
Étape 2 : Gérer la vie du modèle en production
Objectif : Gérer son modèle en production via du monitoring, de l’orchestration, du ré-entraînement et du déploiement automatique.
Déploiement et serving de modèles de Machine Learning
- Stratégies de déploiement de modèles
- Stratégies pour le serving de modèles
- Feature Store pour la gestion du Feature Engineering
Monitoring et Alerting
- Monitorer la Data
- Monitorer l’infrastructure
- Monitorer les performances du modèle
Feedback loop et Ré-entrainement automatique
- Critères pour déclencher un ré-entraînement de modèle
- Stratégies de déploiement automatique d’une nouvelle version du modèle
Orchestration de pipelines de Machine Learning
- Les enjeux de l’orchestration
- Spécificités de l’orchestration de projets de Machine Learning
Gestion des artefacts liés au Machine Learning
- Les différents artefacts nécessaires à la reproductibilité
- Versioning des différents artefacts
Phase 3 : Automatiser l’ensemble du cycle de vie du modèle
Objectif : Automatiser chacune des étapes du cycle de vie d’un projet de Machine Learning afin de déployer automatiquement une nouvelle version d’un modèle à chaque changement de scope.
Gérer sa donnée : Qualité et versioning
- Versioning de la donnée
- Data Observability
Structuration du travail exploratoire
- Experiment Tracking
- Knowledge Repository
CI/CD appliqué au Machine Learning
- Définition de la CI/CD dans un contexte logiciel
- Les spécificités de la CI/CD appliquées aux pipelines de Machine Learning
Stratégie de Tests
- Pyramide de tests
- Les tests nécessaires à chaque étape du cycle de vie