Introduction à MLOps
#Automatisation et gestion des modèles d'apprentissage automatique
UP ASI
Département informatique
Bureau: E204
2024/2025 - MLOps - Introduction à MLOps 1
• Séance 01:
• Introduction MLOps
• Mise en place de l’environnement
• Séance 02:
• Intégration continue
Plan du • MakeFile
module • Séance 03: FastAPI
• Séance 04: MLFlow
• Séance 05:
• Docker
• Supervision continue (Monitoring)
• Séance 06 et 07: Validation du projet
2
1- A propos le module
2 - DevOps
3 - XOps
4 - MLOps
5 - Les acteurs de l'approche MLOps
Plan du 6 - L'utilité de MLOps
cours 7 - Les outils de MLOps
8 - Les pipelines de MLOps
9 - Les composants de MLOps
10 - Le workflow de MLOps
11 - Architecture de la solution
3
Horaires
- Durée Totale : 21 heures
- Séances : 07 séances
- Cours : 06 heures
- TP : 09 heures
- Examen : 06 heures
(*) Vendredi : 13h45
4
Evaluation
- L’évaluation se fait tout au long du module, et non pas uniquement à
la fin.
- La moyenne du module est calculée comme suit :
Moyenne = Note Projet * 60% + Note contrôle continu * 40 %
- La note de contrôle continu tient en considération l’Assiduité, la
participation, les TPs à faire en cours (avancement sur votre projet en
classe chaque semaine).
- L’Examen sera pratique et théorique au cours des deux dernières
séances (S6 et S7).
- L’Examen de rattrapage sera pratique et théorique.
5
Introduction
- Ancien modèle de développement: Séparation des équipes
Conséquences:
- Retards dans les livraisons
- Dysfonctionnements fréquents de
l'application
- Applications inadaptées aux
nouveaux besoins: Les besoins
des clients évoluaient, mais les
applications ne suivaient pas.
Les développeurs créaient L'équipe IT se chargeait du
l'application de leur côté déploiement une fois le
développement est terminé
Problèmes rencontrés:
- Corrections et ajustements nécessaires après le développement.
- Manque d’implication: Les développeurs n’étaient pas impliqués dans le
processus de déploiement et l'équipe IT ne participait pas activement au
développement.
6
Introduction
La naissance d'une nouvelle approche en 2007
Objectif: Unification des équipes = Remédier à l'écart entre développement et
opérations.
DevOps: Un succès moderne
+ Améliorer la collaboration entre
développement et opérations.
+ Se concentrer sur les livrables produits par
les ingénieurs développement.
+ Adoption massive par les entreprises: Elle
permet des livraisons plus rapides et fiables et
elle assure une meilleure adaptation aux
besoins changeants des clients.
7
DevOps
- DevOps est la contraction des deux
termes anglais development (développement) et operations IT
(exploitation).
- DevOps vise à réduire la friction organisationnelle entre les
développeurs et l’équipe opérationnelle.
- L’approche DevOps vise une meilleure communication entre les
deux équipes en automatisant les fonctions souvent distinctes de ces
équipes en un seul processus intégré et continu afin d’optimiser la
production des livrables.
8
DevOps
- Qui utilise DevOps ?
9
DevOps
• 99% des organisations déclarent avoir eu un impact positif
après la mise en œuvre de DevOps dans leur organisation en
2020.
• 61% des entreprises ont déclaré que DevOps les avait aidées
de la meilleure façon possible à produire des livrables de
meilleure qualité.
• Près de 49% des organisations ont signalé une réduction des
délais de mise sur le marché des logiciels et des services.
10
DevOps
• Les revenus mondiaux de la gestion des conteneurs
devraient passer d'une petite base de 465,8 millions de
dollars en 2020 à 944 millions de dollars en 2024.
• 70 % des organisations exécuteront efficacement deux
applications conteneurisées ou plus.
11
DevOps
Quels sont les problèmes qui ont donné naissance à DevOps ?
- Ça marche chez moi et pas chez toi!
- Les déploiements risqués
- La peur du changement
- Quel est le problème ?
- Retardons la livraison à la semaine prochaine (Corrigeons nos
bugs !)
- Nous devons refaire les taches de ces 3 derniers jours !
12
DevOps - Dev vs. Ops
- 3 équipes sont indispensables pour la bonne conduite d’un projet : équipe business, équipe
développement et équipe opérationnel.
- L’interaction entre ces 3 équipes est loin d’être évidente
13
DevOps - Dev vs. Ops
14
DevOps - Dev vs. Ops
Développement Opérations
Planning et la date de livraison Qualité de service et disponibilité
Couts de développement Cout d’exploitation
Releases planning Changements, Incidents
Dernières technologies Technologies standards
Environnement de développement Environnements de production
Fréquents et Minimise le changement
importants changements en production
Méthodes agiles Organisation et processus structurés
Les objectifs et les visions des deux équipes développement
et opérations sont différentes.
15
DevOps - Dev vs. Ops
Equipe développement Equipe opérations
Modification aux moindres coûts,
Stabilité du système, qualité
le plus rapidement possible
L'automatisation est au cœur de l'approche DevOps
16
DevOps - Dev vs. Ops
17
DevOps - Dev & Ops
E. Développement E. Opérationnelle
DevOps joue le rôle de médiateur entre les deux équipes. L’objectif est de
transformer la tension entre les deux équipes en une collaboration saine.
18
DevOps - Dev & Ops
DevOps est la solution parfaite à intérêt mutuelle entre les deux parties
(dev et ops). Cette approche coordonne les efforts pour que tous les
objectifs des équipes soient réalisés avec moindre cout et dans le plus
bref des délais.
19
XOps
- À la suite du DevOps, plusieurs cultures
d’automatisation de déploiement sont créées selon le
domaine d’activité :
- DevSecOps: (Development, Security, Operations) :
Intègre la sécurité dès les premières étapes du cycle
de vie du développement logiciel, en harmonisant
les équipes de développement, de sécurité et
d'exploitation.
20
XOps
- GitOps: Étend les pratiques DevOps en utilisant Git
comme source pour la gestion des infrastructures et le
déploiement d'applications, favorisant une gestion
déclarative et automatisée.
21
XOps
- AiOps: (Artificial Intelligence for IT Operations) : Utilise
l'intelligence artificielle et le machine learning pour
améliorer la gestion des opérations IT, y compris la
surveillance, la corrélation des événements et les
analyses prédictives.
22
XOps
- NoOps: (No Operations) : Vise à automatiser
entièrement l'infrastructure et les opérations, réduisant
ainsi la nécessité d'équipes d'exploitation
traditionnelles.
23
XOps
– DataOps: Améliore la collaboration, l'intégration et
l'automatisation des flux de travail entre les équipes de données,
d'analyse et d'opérations IT. Il met l'accent sur l'optimisation des
processus de gestion des données, y compris l'acquisition, le
nettoyage, l'intégration, la préparation, la gouvernance et la
sécurité des données.
24
XOps
25
MLOps
Si on travaille sur un projet Machine Learning :
- A quoi servira le modèle développé, comment nous
allons l’exploiter ?
- Qui est l’utilisateur final ? A quelle fréquence les
prédictions doivent-elles être générées ?
- De quelles données/modèles/paramètres a-t-on
apriori besoin ?
- Peut-on se fier aux données collectées ?
26
MLOps
- Raisons de l’échec des projets de Machine Learning
1. Manque de collaboration au sein de l'équipe
- Les data scientists doivent collaborer avec plusieurs
équipes.
Problème : Travailler en isolation mène à des échecs.
Conséquence : Manque de communication et de synergie.
27
MLOps
- Raisons de l’échec des projets de Machine Learning
2. Manque d'améliorations continues
- La performance des modèles se dégrade avec le temps.
Problème : Absence de mises à jour régulières.
Conséquences :
- Les modèles ne sont pas optimisés en continu.
- Nécessité de reconstruire, tester et redéployer avec
chaque cycle de données.
28
MLOps
- Raisons de l’échec des projets de Machine Learning
3. Manque d’expertise
- Les projets nécessitent des data scientists qualifiés.
Problème : Pénurie d'experts compétents dans le domaine.
Conséquences : Difficultés à mener à bien les projets ML.
Difficultés à mener à bien les projets ML.
29
MLOps
- Raisons de l’échec des projets de Machine Learning
4. La qualité et la quantité des données
- Grandes quantités de données nécessaires pour de
bonnes prédictions.
Problème : Complexité accrue avec l’augmentation du
volume de données.
Conséquences : Mauvaise qualité des données, formats
variés, problèmes de synchronisation et contraintes de
sécurité.
30
MLOps
- MLOps = Machine Learning Operations
- C'est une méthodologie qui vise à industrialiser et à automatiser le
cycle de vie des modèles de machine learning, depuis leur
développement jusqu'à leur déploiement et leur gestion en
production.
31
MLOps
- La validation rigoureuse des modèles garantit leur conformité aux
exigences métier et réglementaires, tout en assurant la
transparence et la traçabilité des décisions prises par les modèles
de machine learning.
- MLOps combine des pratiques de développement logiciel
(DevOps) avec des processus spécifiques au machine learning
pour assurer la reproductibilité, la sécurité, la surveillance continue
et la scalabilité des modèles.
32
MLOps
33
MLOps - DevOps vs. MLOps
34
MLOps - DevOps vs. MLOps
Aspect DevOps MLOps
Accélérer le développement et Optimiser le cycle de vie des
le déploiement d'applications modèles de machine learning,
avec une intégration et un depuis l'entraînement jusqu'au
Objectif déploiement continu (CI/CD), en déploiement en production, en
principal améliorant la collaboration entre garantissant la reproductibilité, la
les équipes de développement performance et l'adaptabilité des
et d'exploitation. modèles face à l'évolution des
données.
- Intégration continue - Entrainement continu et validation
Processus - Livraison et déploiement continue
continue
Cycle de Itérations fréquentes par étapes Cycles d’entraînement longs et
déploiement continus
- Software Development - Machine Learning Engineers
Composition
- DevOps - Data Engineers/Scientist
d'équipe
- QA Team
35
Les acteurs de l'approche MLOps
Data scientist
- Responsable de la création de modèles
de machine learning.
- Analyse des données et interprétation
des résultats.
Data engineer
- Gère l'infrastructure de données.
- Conçoit et maintient des pipelines de
données pour assurer la qualité et la
disponibilité des données
36
Les acteurs de l'approche MLOps
ML Engineer
- Spécialiste de l'intégration des modèles
de ML dans les environnements de
production.
- Automatise le déploiement et la gestion
des modèles.
DevOps Engineer
- Assure l'intégration et le déploiement
continu (CI/CD) pour les projets de
machine learning.
- Gère l'infrastructure cloud et les
conteneurs (Docker, Kubernetes).
37
Les acteurs de l'approche MLOps
Domain Expert
- Fournit des connaissances spécifiques
au secteur pour guider le
développement et l’évaluation des
modèles.
- S'assure que les solutions sont alignées
avec les objectifs métier.
Product Owner
- Définit la vision du produit et les priorités
du backlog.
- Assure la liaison entre les équipes
techniques et les parties prenantes.
38
Les acteurs de l'approche MLOps
QA Engineer
- Établit des tests pour vérifier la
performance et la robustesse des
modèles.
- Assure la qualité des livrables.
39
Les acteurs de l'approche MLOps
40
Utilité MLOps
Peut nécessiter une
Peut nécessiter un
mise en cache des
versionning
fonctionnalités
Récupération Data Entrainement Stockage
Déploiement
des données Engineer et test des des du modèle
modèles données
Peut nécessiter Peut nécessiter une Peut nécessiter une
plusieurs bases recherche optimale surveillance
de données, d'hyperparamètres attentive et un
vérifications et déploiement en
transformation continue
41
Utilité MLOps
Défis dans la création de modèles ML performants
- Construire un modèle capable de prédire des résultats à partir des
données fournies est relativement simple. Cependant, créer un modèle à
la fois fiable, rapide, précis et adapté à un grand nombre d'utilisateurs est
beaucoup plus complexe. C'est là que le MLOps devient essentiel. Voici
pourquoi :
• Gestion des données volumineuses : Les modèles ML dépendent
d'énormes quantités de données, difficiles à gérer par une seule
personne.
• Suivi des paramètres : Les ajustements de paramètres dans les
modèles ML peuvent sembler minimes, mais ils peuvent entraîner des
variations importantes dans les résultat.
42
Utilité MLOps
Défis dans la création de modèles ML performants
• Ingénierie des fonctionnalités : Le choix des bonnes fonctionnalités est
une tâche clé qui influence directement la performance du modèle.
• Surveillance spécifique : La surveillance d'un modèle ML ne s'effectue
pas de la même manière que celle d'un logiciel traditionnel ou d'une
application Web déployée.
• Débogage complexe : Corriger les erreurs dans un modèle ML est un
processus délicat et souvent difficile à maîtriser.
• Évolution des données : Les modèles ML se basent sur des données du
monde réel, qui évoluent constamment. Par conséquent, les modèles
doivent être ajustés en permanence pour refléter ces changements et
rester pertinents.
43
Outils MLOps
44
Outils MLOps
• Gestion cycle de vie ML:
• Orchestration des workflows :
• Gestion des conteneurs :
• Gestion des pipelines :
• Déploiement des modèles :
• Gestion des données :
• Monitoring : ou bien
45
Pipeline MLOps
• Les pipelines MLOps sont des étapes séquentielles déclenchées pour
concevoir, déployer et gérer automatiquement les workflows de
modèles. Les pipelines CI/CD de Machine Learning sont composés des
sous-pipelines suivants :
• Pipeline de données : ce pipeline est responsable de l'exécution d'ETL
(Extraction, Transformation et Chargement) et d'amener
automatiquement les données nécessaires dans le modèle.
• Pipeline d'environnement : ce pipeline garantit que les bonnes
dépendances sont toujours chargées et disponibles.
46
Pipeline MLOps
• Pipeline d'entraînement : ce pipeline est responsable de
l'entraînement du modèle. En fonction de la conception de votre
pipeline MLOps, il pourrait avoir besoin du pipeline de données et du
pipeline d’environnement pour importer les données et les
dépendances.
• Pipeline de test : ce pipeline est responsable de la vérification du
modèle entraîné. Il peut souvent tirer parti de cas de tests automatisés
qui sont déclenchés selon un calendrier prédéfini.
• Pipeline de déploiement : ce pipeline est utilisé pour déployer votre
modèle de Machine Learning dans un environnement de pré-
production ou de production.
47
Composants MLOps
48
WorkFlow MLOps
Un workflow MLOps présente l’enchainement utilisé le plus souvent pour un
projet dans le domaine de machine Learning. Cet ordre peut être modifié
bien sur selon la nature et la spécificité du projet
49
WorkFlow MLOps
Pour développer des solutions de Machine Learning, le cycle de vie
standard se déroule comme suit :
• Identifier les besoins et les objectifs de son entreprise
• Collecter les données nécessaires
• Préparer les données
• Créer le modèle
• Réglage des hyperparamètres du modèle
• Entraîner et évaluer le modèle
• Tester et déployer le modèle
• Recyclage, si nécessaire
• Automatiser le lancement des étapes
• Assurer le suivi du modèle
50
WorkFlow MLOps
L’objectif final est de créer un modèle permettant non seulement de faire
des prédictions mais surtout que le modèle soit rapide, fiable, précis et
exploitable par les utilisateurs potentiels. Pour réaliser un pipeline complet,
nous devons passer par des niveaux :
• Niveau 0 : Implémenter manuellement la solution désirée
• Niveau 1 : Automatiser les étapes liées au traitement du modèle
• Niveau 2 : Automatiser l’ensemble du process sur l’environnement final
de production
51
WorkFlow MLOps
Toutes les étapes liées à la partie Machine Learning peuvent être faites
d’une façon 100% manuelle
Niveau 0
52
WorkFlow MLOps
Une fois l’ensemble des étapes est prêt, il faut penser à faire la partie
training automatiquement le plus souvent possible et se baser sur les
métriques collectées pour améliorer le modèle
Niveau 1
53
WorkFlow MLOps
Pour le passage à l’environnement de production, il faut suivre le
comportement du modèle pour donner suite à l’alimentation de la
dataset par de nouvelles données ( capacité de s’entrainer en prenant
en considération les nouveaux paramètres, utilisation multiple du
modèle). Nous nous basons sur les composants suivants :
- Metadata Store : contient les enregistrements de chaque étape du
pipeline. Une fois qu'une étape est terminée, l'étape suivante
recherche la liste des enregistrements, trouve les enregistrements de
l'étape précédente, reprend à partir de là.
54
WorkFlow MLOps
- Feature Store : récupère les données de diverses sources et transforme
les données en fonctionnalités requises par le modèle
55
WorkFlow MLOps
- Model Registry : stocke les modèles. Ce registry contient un tas de
modèles avec différentes précisions stockées. En fonction de
l'exigence, le modèle approprié est ensuite envoyé à un pipeline
CI/CD qui le déploie en tant que service de prédiction
56
WorkFlow MLOps
Niveau 2 57
Architecture de la solution
58
Introduction
Si vous avez des questions, n’hésitez pas à nous
contacter :
Département Informatique
UP Architectures des Systèmes d'Information
Bureau E204 /E304
59