MLOps (du cafouillage au bricolage)
Nastasia Saby
@saby_nastasia
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
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
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.
AlpesCraft @saby_nastasia
Easy-peasy l'industrialisation du machine learning
AlpesCraft @saby_nastasia
No test, no versionning, no monitoring !
AlpesCraft @saby_nastasia
Tu veux dire no futur en fait ! (~_~;)
AlpesCraft @saby_nastasia
doc_old_copie(1).py, c'est pas possible ! (~_~;)
AlpesCraft @saby_nastasia
Oui, mais tu sais moi j'ai déjà beaucoup de choses à penser.
AlpesCraft @saby_nastasia
?
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.
Comment vendre le versionning ?
On va faire simple, enfin essayer.
AlpesCraft @saby_nastasia
Comment vendre le versionning ?
Si tu collabores avec d'autres personnes, c'est plus simple.
AlpesCraft @saby_nastasia
Comment vendre le versionning ?
On en a besoin pour la prod.
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 ?
?
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
AlpesCraft @saby_nastasia
Comment vendre les tests ?
Y'a pas que les tests unitaires dans la vie
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 ?
?
AlpesCraft @saby_nastasia
Comment faire comprendre l'importance des données ?
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 ?
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 ?
?
AlpesCraft @saby_nastasia
Comment vendre le monitoring de modèles ?
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 ?
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
Les notebooks, c'est inmaintenable ! (~_~;)
AlpesCraft @saby_nastasia
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
Lucette et Ginette se comprennent maintenant et fusionnent pour devenir Gilou.
AlpesCraft @saby_nastasia
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
Au secours, on a un bug de modèle !
AlpesCraft @saby_nastasia
Versioning du modèle
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
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
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