Data Science Done Wrong - Les 5 idées reçues qui condamnent votre projet Data Science à l'échec, et les changements de perspectives qui peuvent vous aider à l'éviter.
Proofs of Concepts interminables, algorithmes complexes impossibles à déployer en production, résultats échouant à créer de la valeur…
Bercés par la croyance largement répandue que l’exploitation d’une grande quantité de données, combinée avec des algorithmes de pointe, suffisent à créer de la valeur, beaucoup se lancent dans des projets Data Science tous azimuts en réunissant les deux ingrédients clés : un Data Lake qui contiennent toutes les données possible et une équipe de Data Scientists de pointe. Et autant se le dire, le chemin à parcourir pour réussir ses projets est souvent très long, voire inaccessible.
Au cours de cette présentation, nous allons vous inviter à prendre du recul sur ces incroyables promesses rattachées à l’Intelligence Artificielle, et à réfléchir en termes de produit complet. De la découverte des problèmes pertinents au développement itératif de la solution, nous vous invitons à découvrir une méthodologie permettant de développer un produit Data Science qui délivre réellement de la valeur aux utilisateurs.
Par Yoann Benoît, Data Scientist et Technical Officer et Nathan Chauliac, Lead Data Product Manager chez Thiga
Toutes les informations sur xebicon.fr
XebiCon'18 - Orchestration : Conteneurs vs Musique
XebiCon'18 - Data Science Done Wrong
1. @Xebiconfr #Xebicon18
Build the future
Data Science Done Wrong
Les 5 idées reçues qui condamnent votre projet DS à l'échec
et les changements de perspectives qui peuvent vous aider à l'éviter
Yoann Benoit, Nathan Chauliac
Xebia / Thiga
1
5. @Xebiconfr #Xebicon18 5
La réalité
12 mois (en cours)
Data Lake
6 mois
Data Lake Modélisation
1 mois3 mois
Industrialisation
Plan initial
6. @Xebiconfr #Xebicon18 6
La réalité
12 mois (en cours)
Data Lake
6 mois
Data Lake Modélisation
1 mois3 mois
6 mois
Modélisation
Industrialisation
Plan initial
7. @Xebiconfr #Xebicon18 7
La réalité
12 mois (en cours)
Data Lake
6 mois
Data Lake Modélisation
1 mois
Industrialisation
3 mois
6 mois 6 mois
Industrialisation
6 mois
Modélisation
Plan initial
8. @Xebiconfr #Xebicon18 8
La réalité
12 mois (en cours)
Data Lake
6 mois
Data Lake Modélisation
1 mois
Industrialisation
3 mois
6 mois 6 mois
Industrialisation
6 mois
Modélisation
Plan initial
9. @Xebiconfr #Xebicon18 9
La réalité
12 mois (en cours)
Data Lake
6 mois
Data Lake Modélisation
1 mois
Industrialisation
3 mois
6 mois 6 mois
Industrialisation
6 mois
Idée Reçue 5 Idée Reçue 1Idée Reçue 3Idée Reçue 2 Idée Reçue 4
Modélisation
Plan initial
10. @Xebiconfr #Xebicon18
Idée Reçue n°1
Le succès d’un cas d’usage Data Science dépend essentiellement
de la performance du modèle
10
12. @Xebiconfr #Xebicon18 12
Ingestion Modélisation Prédiction Utilisateur Activation
Performances du modèle
Qualité des prédictions du modèle
13. @Xebiconfr #Xebicon18 13
Ingestion Modélisation Prédiction Utilisateur Activation
Performances du modèle Performances de l’activation
Qualité des prédictions du modèle Capacité à tirer de la valeur des prédictions
14. @Xebiconfr #Xebicon18 14
Ingestion Modélisation Prédiction Utilisateur Activation
Performances du modèle
Performances du produit
Performances de l’activation
Qualité des prédictions du modèle Capacité à tirer de la valeur des prédictions
Capacité du produit à répondre au besoin
20. @Xebiconfr #Xebicon18
Idée Reçue n°2
Pour s’assurer de la faisabilité technique d’un cas d’usage,
il faut réaliser un POC qui atteint les performances cibles
20
21. @Xebiconfr #Xebicon18
Objectifs d’un POC
21
➢ Avoir levé toutes les incertitudes sur le
Use Case avant de faire un GO sur la
mise en production
➢ Avoir un modèle qui atteint les
performances cibles
22. @Xebiconfr #Xebicon18
Objectifs d’un POC
22
➢ Avoir levé toutes les incertitudes sur le
Use Case avant de faire un GO sur la
mise en production
➢ Avoir un modèle qui atteint les
performances cibles
POC : 6 mois
23. @Xebiconfr #Xebicon18
Objectifs d’un POC
23
➢ Avoir levé toutes les incertitudes sur le
Use Case avant de faire un GO sur la
mise en production
➢ Avoir un modèle qui atteint les
performances cibles
➢ Lever les hypothèses les plus critiques qui
impliqueraient un échec du projet
➢ Valider la faisabilité technique du Use
Case
POC : 6 mois
24. @Xebiconfr #Xebicon18
Objectifs d’un POC
24
➢ Avoir levé toutes les incertitudes sur le
Use Case avant de faire un GO sur la
mise en production
➢ Avoir un modèle qui atteint les
performances cibles
➢ Lever les hypothèses les plus critiques qui
impliqueraient un échec du projet
➢ Valider la faisabilité technique du Use
Case
POC : 6 mois Prototype : 2 semaines
26. @Xebiconfr #Xebicon18
Avantages à réduire drastiquement la durée d’un POC
26
Prototypage rapide
Favoriser le Fail Fast
Limiter la durée du développement
détaché des conditions réelles
Éviter les effets tunnel
29. @Xebiconfr #Xebicon18
Que se passe-t-il après ?
29
Finduprototypage
Concluant
Pas concluant
Autres pistes à
explorer
Prototypage n°2
Go production !
30. @Xebiconfr #Xebicon18
Que se passe-t-il après ?
30
Finduprototypage
Concluant
Pas concluant
Autres pistes à
explorer
Pas de potentiel
Prototypage n°2
Stop
Go production !
32. @Xebiconfr #Xebicon18
Idée Reçue n°3
La meilleure organisation possible, c’est d’avoir deux équipes :
une équipe de Data Scientists et une équipe de Data Engineers
32
35. @Xebiconfr #Xebicon18
Ce qui a longtemps été vu comme l’équipe idéale
35
Data Scientist
orienté mathématiques
Data Engineer pur
Back-end
Machine Learning Engineer
36. @Xebiconfr #Xebicon18
Ce que l’on s’est résolu à faire
36
Data Scientist
orienté mathématiques
Data Engineer pur
Back-end
Data Scientist Team Data Engineer Team
37. @Xebiconfr #Xebicon18
Ce que l’expérience révèle comme l’équipe idéale
37
Data Scientist
orienté mathématiques
Data Engineer pur
Back-end
Machine Learning Engineer
40. @Xebiconfr #Xebicon18
Product Team
A la product Team
40
Product Owner
Profils Data
Data Ops, Sécurité,
Dev Front-End
Développements orientés valeur utilisateur
Pair programming / Pair Review croisés
Une story est terminée quand elle est en
production et qu’elle apporte de la valeur à
l’utilisateur
41. @Xebiconfr #Xebicon18
Idée Reçue n°4
Ajouter les contraintes de production fait perdre du temps dans
l’innovation et l’amélioration des modèles
41
42. @Xebiconfr #Xebicon18
Les propriétés d’une bonne Usine Logicielle Data Science
Une Usine Logicielle Data Science doit permettre de faire bénéficier l’équipe
d’une mise en production rapide, tout en favorisant l’amélioration et l’innovation.
Elle doit donc allier :
➢ Robustesse pour s’assurer de la qualité sans compromis des développements faits
➢ Souplesse pour faciliter le travail itératif et l’ajout incrémental de complexité
42
45. @Xebiconfr #Xebicon18
Usine Logicielle Data Science
45
Réutiliser les briques industrialisées pour accélérer l’exploration
➢ Création d’une librairie interne
➢ Réutilisation des classes de transformation packagées
46. @Xebiconfr #Xebicon18
Usine Logicielle Data Science
46
Optimiser le choix et la comparaison des modèles
➢ Serving du modèle à penser dès le départ (on-demand ? batch ? streaming ?)
➢ Model repository
➢ Capacité à relancer l’expérience dans les mêmes conditions
47. @Xebiconfr #Xebicon18
Usine Logicielle Data Science
47
➢ Monitoring des performances (globales et locales) du/des modèle(s)
○ Priorisation des prochains développements
➢ Monitoring de la qualité des données et des features
○ Contrôle de la chaîne de traitement
48. @Xebiconfr #Xebicon18
Idée Reçue n°5
Le sujet est tellement critique qu’on ne peut pas utiliser le produit en
conditions réelles si les performances cibles ne sont pas atteintes
48
49. @Xebiconfr #Xebicon18 49
Comment faire un MVP en
Data Science ?
Comment tester en conditions réelles
lorsque la solution est critique ?
51. @Xebiconfr #Xebicon18
Prototype vs MVP
51
MVP (Minimum Viable Product)
Amont à la réalisation et jetable
Étapes critiques uniquement
N’est pas utilisable en conditions réelles
Permet de vérifier les hypothèses en
récupérant des retours utilisateurs
Première brique du produit cible
Propose un parcours simple mais complet
Est utilisé en conditions réelles
Permet de vérifier les hypothèses en
récupérant des retours utilisateurs
Prototype
54. @Xebiconfr #Xebicon18 54
Ingestion et
préparation des
données
Activation
Modélisation
Priorisation
Récolte de
feedbacks
L’approche MVP
Etape 1
55. @Xebiconfr #Xebicon18 55
Ingestion et
préparation des
données
Activation
Modélisation
Priorisation
Récolte de
feedbacks
Etape 2+
Ingestion de
nouvelles données
Amélioration
itérative du modèle
Amélioration de
l’activation
L’approche MVP
Etape 1
57. @Xebiconfr #Xebicon18
Comment tester en conditions réelles lorsque la solution est critique ?
57
Solution 1: Restreindre le périmètre
Prédire les ventes de tous
les produits d’une chaîne de
magasins
Périmètre cible
58. @Xebiconfr #Xebicon18
Comment tester en conditions réelles lorsque la solution est critique ?
58
Solution 1: Restreindre le périmètre
Prédire les ventes de tous
les produits d’une chaîne de
magasins
Périmètre cible
Certains
produits
Certains
magasins
Périmètre Test 1
Périmètre Test 2
59. @Xebiconfr #Xebicon18
Comment tester en conditions réelles lorsque la solution est critique ?
59
Solution 1: Restreindre le périmètre
Échantillon représentatif
Bonnes performances du
modèle
Mauvaises
performances actuelles
Prédire les ventes de tous
les produits d’une chaîne de
magasins
Périmètre cible
Certains
produits
Certains
magasins
Périmètre Test 1
Périmètre Test 2
60. @Xebiconfr #Xebicon18
Comment tester en conditions réelles lorsque la solution est critique ?
60
Field Museum is a must see in
Chicago, here is the adress...
People rave about Mobster
diner, do you want me to take
a reservation ?
Type here another message
Solution 2 : Garder une activation manuelle