MLOps : principes, mise en œuvre et pratique NEW

 
  3 jours       2110       Avancé    
  Prochaine session
24, 25, 26 avril 2024
Objectifs de la formation
  • Connaitre et comprendre les principes du MLOps
  • Identifier ses outils
  • Préparer sa mise en place dans son organisation
  • Le mettre en œuvre sur un cas pratique
MLOps : principes, mise en œuvre et pratique
Prérequis

Pratique de Python dans le cadre de la data science (formation Python pour la data science), connaissance des bases de données


Public visé

Data scientists et data engineers confirmés


Programme détaillé

Panorama & compréhension détaillée

  • Enjeux et besoins des projets data auquel répond la mise en place de processus de MLOps
    • Industrialisation de la mise en production (automatisation, agilité)
    • Cycle de vie des modèles (du lab à la prod, performance, réentraînement)
  • Parallèle entre le développement logiciel et le développement de projets data
  • Rappel des principes DevOps et leur traduction pour les projets de data science
  • Revue détaillée des étapes d’un processus type de MLOps
    • Objectifs de chaque étape
    • Impacts techniques
    • Gouvernance
  • Panorama des solutions de MLOps
    • En open source (ex. : mlFlow, kubeflow)
    • Dans les logiciels propriétaires (ex. : Dataiku DSS, neptune.ai)
    • Chez les cloud providers (AWS, Azure, GCP)
    • Pour Python, pour R
    • Pour des modèles de Machine learning, pour des modèles de Deep learning
  • Mise en place de processus MLOps
    • Revue d’une démarche type
    • Etude de cas en atelier (informations collectées préalablement auprès des participants)

Pratique et mise en œuvre dans un environnement dédié et créé dans le cloud par nos soins

  • Elaboration d’un modèle en phase de recherche avec optimisation (pratique de la gestion des expériences)
  • Préparation d’un environnement d’industrialisation
  • Déploiement d’un modèle
  • Suivi de la performance du modèle : simulation d’une baisse de performance / d’un drift des données en entrée
  • Itération de mise en production d’une nouvelle version

Cette mise en pratique se fera avec des outils choisis conjointement lors de la préparation de la formation (ex. : Python + mlflow)


Quels sont les principaux outils utilisés en MLOps ?

 

Il existe plusieurs outils utilisés pour le MLOps, qui permettent de mettre en pratique les principes et les méthodes du DevOps dans le domaine de l’apprentissage automatique (machine learning). En voici une liste non exhaustive :

Outils de gestion des versions et de suivi

  • Git : Git est un système de contrôle de version largement utilisé pour le suivi des modifications du code source, des données et des modèles de machine learning.

  • GitLab, GitHub, Bitbucket : Ces plates-formes d’hébergement de code offrent des fonctionnalités avancées de gestion des versions, de collaboration et d’intégration continue.

  • DVC (Data Version Control) : DVC est un outil spécifiquement conçu pour gérer les versions des ensembles de données, en intégrant le suivi des données avec Git.

Outils de déploiement et d’orchestration

  • Docker : Docker est une plate-forme de conteneurisation qui permet de créer des environnements isolés pour les applications de machine learning, facilitant le déploiement et la portabilité.

  • Kubernetes : Kubernetes est un système d’orchestration de conteneurs qui permet de gérer et de scaler les déploiements de modèles de machine learning de manière automatisée et efficace.

  • TensorFlow Serving : TensorFlow Serving est un outil spécifique à TensorFlow qui permet de déployer des modèles TensorFlow dans des environnements de production.

Outils de gestion des pipelines de données et des workflows

  • Apache Airflow : Airflow est une plate-forme de gestion des workflows qui permet de planifier, de coordonner et de monitorer les pipelines de données et les workflows de machine learning.

  • Apache Beam : Beam est un modèle et une bibliothèque de traitement unifié qui permet de construire des pipelines de traitement des données, adaptés pour le batch et le streaming, et compatible avec divers outils d’exécution (comme Apache Spark ou Google Dataflow).

  • MLflow : MLflow est une plate-forme open-source pour gérer le cycle de vie des modèles de machine learning, incluant le suivi des expériences, la gestion des versions des modèles et le déploiement.

Outils de surveillance et de journalisation

  • Prometheus : Prometheus est un système de monitoring et de métriques qui permet de collecter et de stocker des données de performance sur les modèles en production.

  • Grafana : Grafana est une plate-forme de visualisation de données qui permet de créer des tableaux de bord et des visualisations pour surveiller et analyser les performances des modèles de machine learning.