Post Mortem · Épisode 08
#8 When the facts change, I change my model
Écouter cet épisode
Épisode 8 · When the facts change, I change my model
Sommaire
Une conversation avec Hamza Sayah, Data Scientist à Ponicode

Résumé des protips abordés
- Monitorer en continu l’écart entre les données d’entraînements et les données obersvés à l’inférence
Pour suivre la distribution de données d’entraînement vs données utilisées pour générer des prédictions, on peut monitorer en continu une métrique comme la Kullback Leibler divergence entre ces deux distributions et les stocker dans votre DB timeseries préférée. Ne pas négliger le pouvoir de l’investigation à l’oeil nu — i.e., représenter les inputs dans l’espace d’embeddings pour comprendre si un résultat aberrant pour une prédiction peut s’expliquer par un manque de données d’entraînements aux environs du point considéré.
2. Avoir un pre-processing iso entre phase de training et inférence
3. Bien réfléchir à sa fonction objectif car après on a la tête dans le guidon.
Si on part sur une métrique classique comme le score F1 oula précision, il faut garder en tête que ce n’est probablement qu’un proxy de notr objectif véritable et qu’il faudra réajuster dès les premiers retours terrains.
→ Voir la doc developers.google.com sur les “Properties of a good output:": "The Output Must Be Quantifiable with a Clear Definition that the Machine can Produce” https://developers.google.com/machine-learning/problem-framing/framing
→ Au sujet des conséquences du choix des m;etriques dans les systèmes de recommendation, écouter l’excellent épisode du podcast Your Undivided Attention, “4 — Down the Rabbit Hole by Design” https://www.humanetech.com/podcast/4-down-the-rabbit-hole-by-design
Notes de l'épisode
“When the Facts Change, I Change My Mind. What Do You Do, Sir?” disait JM Keynes. L’économiste souligne l’importance de réajuster ses a priori et sa représentation du monde lorsqu’on on est confronté à de nouveaux éléments.
C’est la même chose lorsqu’on entraîne un modèle de machine learning et qu’on le déploie.
Les données que l’on va rencontrer en production suivent-elles une distribution similaire aux données sur lesquelles on a entraîné le modèle? Si non, comment peut-on ajuster le tir?
Témoignage et retour d’expérience avec Hamza Sayah, Data Scientist @ Ponicode.
Références et concepts mentionnés
- Kullback-Leibler divergence, en un mot: une quantité qui mesure la dissimilarité de deux distributions de probabilités.
Pour une excellente vidéo donnant l’intuition derrière le lien entre l’entropie, l’entropie croisée et la KL divergence, se référer à la vidéo d’Aurélien Géron “A Short Introduction to Entropy, Cross-Entropy and KL-Divergence” https://www.youtube.com/watch?v=ErfnhcEV1O8 - Pour l’intuition derrière le concept d’embedding, voir le blog post de Jay Alammar, “The Illustrated Word2Vec”, https://jalammar.github.io/illustrated-word2vec/
- AST — Abstract Syntax Tree, https://en.wikipedia.org/wiki/Abstract_syntax_tree
- La recommandation de Hamza: le livre “La Formule Du Savoir”, de Lê Nguyên Hoang
L'ensemble des épisodes de Post Mortem est disponible ici 👇