Bonnes pratiques dans le monde de la data
MLOps (du cafouillage au bricolage)
Nastasia Saby
@saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8067037/path_learn.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8067051/1fd536e0-9dea-496f-a5c6-b9b5d9ae614a.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8329061/pasted-from-clipboard.png)
Des exemples de systèmes sur lesquels j'ai travaillé :
- Prédire des pannes
- Détecter des anomalies
- Modèles commerciaux
- etc
AlpesCraft @saby_nastasia
Il était une fois une histoire de data qui m'a appris à promouvoir des techniques craft et qui m'a permis d'en découvrir de nouvelles.
AlpesCraft @saby_nastasia
La mission était la suivante :
Mettre en production un modèle de machine learning au départ expérimental
#MLOps
AlpesCraft @saby_nastasia
Tout commence par une guerre
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8608641/guerre.png)
Data Ings
Data Scientistes
AlpesCraft @saby_nastasia
Ginette est data ingénieure et pense qu'on fait un programme de data science comme n'importe quel autre programme en informatique
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8608618/ginette.png)
AlpesCraft @saby_nastasia
Lucette est data scientiste et n'a jamais mis en production quoi que ce soit. Elle se dit que ça doit pas être bien sorcier.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8608626/lucette.png)
AlpesCraft @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613693/argument_giette.png)
Easy-peasy l'industrialisation du machine learning
AlpesCraft @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613768/arguments_lucette.png)
No test, no versionning, no monitoring !
AlpesCraft @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613879/Argument_ginette_stressée.png)
Tu veux dire no futur en fait ! (~_~;)
AlpesCraft @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613879/Argument_ginette_stressée.png)
doc_old_copie(1).py, c'est pas possible ! (~_~;)
AlpesCraft @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613768/arguments_lucette.png)
Oui, mais tu sais moi j'ai déjà beaucoup de choses à penser.
AlpesCraft @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613693/argument_giette.png)
?
Comment vendre le versionning ?
AlpesCraft @saby_nastasia
Comment vendre le versionning ?
AlpesCraft @saby_nastasia
Tu versionnes déjà en fait. Je te propose juste de le faire automatiquement.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613693/argument_giette.png)
Comment vendre le versionning ?
On va faire simple, enfin essayer.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613693/argument_giette.png)
AlpesCraft @saby_nastasia
Comment vendre le versionning ?
Si tu collabores avec d'autres personnes, c'est plus simple.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613693/argument_giette.png)
AlpesCraft @saby_nastasia
Comment vendre le versionning ?
On en a besoin pour la prod.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613693/argument_giette.png)
Argument du "pas le choix"
AlpesCraft @saby_nastasia
Comment vendre le versionning ?
En conclusion
- Présenter le concept
- Faire le plus simple possible
- Avancer la notion de besoin concret pour la prod
AlpesCraft @saby_nastasia
Comment vendre les tests ?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613693/argument_giette.png)
?
AlpesCraft @saby_nastasia
Comment vendre les tests ?
Pourquoi c'est compliqué ?
Le code est déjà prêt quand vous voulez ajouter des tests.
AlpesCraft @saby_nastasia
Comment vendre les tests ?
Les tests permettront d'éviter des régressions pour les prochaines mises en prod
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613693/argument_giette.png)
AlpesCraft @saby_nastasia
Comment vendre les tests ?
Y'a pas que les tests unitaires dans la vie
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613693/argument_giette.png)
Ouvrir les horizons !
AlpesCraft @saby_nastasia
Comment vendre les tests ?
En conclusion
- Présenter d'autres formes de tests pour susciter l'appétence des tests
- Avancer l'argument de la prod
AlpesCraft @saby_nastasia
Comment faire comprendre l'importance des données ?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613768/arguments_lucette.png)
?
AlpesCraft @saby_nastasia
Comment faire comprendre l'importance des données ?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613768/arguments_lucette.png)
La data détient la vérité, la data détient la vérité, la data détient la vérité, la data détient la vérité, ...
Répéter
AlpesCraft @saby_nastasia
Comment faire comprendre l'importance des données ?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613768/arguments_lucette.png)
Je te l'avais dit ;).
Laisser les gens se planter
AlpesCraft @saby_nastasia
Comment faire comprendre l'importance des données ?
En conclusion
- Répéter
- Laisser les personnes se planter
AlpesCraft @saby_nastasia
Comment vendre le monitoring de modèles ?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613768/arguments_lucette.png)
?
AlpesCraft @saby_nastasia
Comment vendre le monitoring de modèles ?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613768/arguments_lucette.png)
Le modèle est le programme, le modèle est le programme, le modèle est le programme, le modèle est le programme, ...
Répéter
AlpesCraft @saby_nastasia
Comment vendre le monitoring de modèles ?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613768/arguments_lucette.png)
On fait ça pour les sous !
AlpesCraft @saby_nastasia
Comment vendre le monitoring de modèles ?
En conclusion :
- Répéter
- Business impact
- Production
AlpesCraft @saby_nastasia
Un outil, différents points de vue : le notebook
AlpesCraft @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613879/Argument_ginette_stressée.png)
Les notebooks, c'est inmaintenable ! (~_~;)
AlpesCraft @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613768/arguments_lucette.png)
Oui, mais les notebooks c'est tellement pratique pour faire de la data viz et de la data exploration.
AlpesCraft @saby_nastasia
Solutions : un mix des deux à différentes phases de vie
Séparation poc et prod
AlpesCraft @saby_nastasia
- Argument de la prod encore
- Besoins de chacun respectés
AlpesCraft @saby_nastasia
Être flexible pour avancer.
AlpesCraft @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8608581/mix.png)
Lucette et Ginette se comprennent maintenant et fusionnent pour devenir Gilou.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8608641/guerre.png)
AlpesCraft @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613889/gilou_arguments.png)
Euh, mais les données qu'on reçoit, c'est n'importe quoi !
AlpesCraft @saby_nastasia
C'est parti pour des tests unitaires de données pour vérifier la qualité de celles-ci.
Demo Time.
AlpesCraft @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613889/gilou_arguments.png)
Au secours, on a un bug de modèle !
AlpesCraft @saby_nastasia
Versioning du modèle
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613972/pasted-from-clipboard.png)
AlpesCraft @saby_nastasia
Le versionning de code ne suffit pas pour remonter dans le temps.
Il nous faut du versionning de données.
Demo Time.
AlpesCraft @saby_nastasia
Réentraîner à chaque déploiement est bon pour la santé.
AlpesCraft @saby_nastasia
L'intégration continue s'agrandit
Le versionning s'agrandit
AlpesCraft @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613889/gilou_arguments.png)
Sur ma machine, ça (le modèle) marche !
AlpesCraft @saby_nastasia
La vraie vie, c'est ça qui compte ! Mesurez l'impact de votre modèle dans la vraie vie.
AlpesCraft @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8609689/modele_local__1_.png)
La mission est finie. Tout est au mieux dans le meilleur des mondes possibles
En vrai, c'est juste mieux qu'avant.
AlpesCraft @saby_nastasia
Comment vendre des techniques craft en résumé ?
AlpesCraft @saby_nastasia
Conclusions :
- Aspect business
- Aspect production, déploiement
Sinon :
- Répéter
- Montrer d'autres manières de réaliser un concept pour susciter le désir en général
- Accepter de laisser les potes se planter
AlpesCraft @saby_nastasia
Quelles techniques craft on peut apprendre dans la data ?
AlpesCraft @saby_nastasia
Conclusions :
- Ouvrir ses horizons sur les tests, versionning et monitoring
- Ouvrir ses horizons sur l'intégration continue en général
AlpesCraft @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8067037/path_learn.jpg)
Bonnes pratiques dans le monde de la data
By nastasiasaby
Bonnes pratiques dans le monde de la data
- 673