Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Duck Conf 2020 | Mise en production d'un projet...

Mehdi Houacine
November 28, 2024
14

Duck Conf 2020 | Mise en production d'un projet de Data Science, le jour d'après

Talk de Mehdi Houacine & Emmanuel-Lin Toulemonde (OCTO Technology) à la Duck Conf en 2020

* Speakers : Emmanuel-Lin Toulemonde et Mehdi Houacine, consultants data @ OCTO Technology
* La conférence : https://www.laduckconf.com/
* Captation : https://www.youtube.com/watch?v=neZ4KnfHUtY

Mehdi Houacine

November 28, 2024
Tweet

Transcript

  1. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 1 Monitoring de systèmes de data science Un monde inexploré après leurs mises en production
  2. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 2 Les speakers Mehdi HOUACINE Consultant Data Emmanuel-Lin TOULEMONDE Consultant Data
  3. OCTO Part of Accenture Digital © 2020 - All rights

    reserved ◉ Vous êtes l’association Healthcare qui cherche à aider les patients épileptiques ◉ Votre mission : prédire l’arrivée d’une crise d’ épilepsie 5 minutes avant! ◉ Les patients portent des capteurs qui remontent des constantes utiles pour la prédiction ◉ Le patient met ses capteurs au lever et les retire le soir. 3 Votre mission si vous l’acceptez... Activité dermale Rythme cardiaque Respiration
  4. OCTO Part of Accenture Digital © 2020 - All rights

    reserved Nous avons : ◉ Construit le prototype ◉ Validé l’utilité ◉ Tiré les flux ◉ …. ◉ Mis la solution à disposition des patients. 4 … nous sommes en production …
  5. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 5 ... Mais de nombreux challenges nous attendent encore SPONSOR “ J’ai investi des millions d’euros dans ce système. Est-ce que ça marche ? ” RÉGULATEUR “Je veux m’assurer que le modèle n’est pas biaisé envers certaines populations” UTILISATEUR “Je souhaite recevoir 1 prédiction avec au moins 5 minutes d’avance” DATA SCIENTIST “Je dois savoir si le modèle de machine Learning fonctionne bien en production”
  6. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 6 Ces challenges ne peuvent être adressés directement Le comportement de notre système de data science doit être observé et suivi dans la durée pour cela Nous avons besoin de monitorer notre système (pas juste le modèle) !
  7. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 7 La solution classique Traitement 1 Traitement 2 Traitement 3 Prédiction Moyenne Ecart-type 𝝙 Min Max 𝜎
  8. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 8 La solution classique Nous sommes convaincu que le monitoring de distributions dans tous les sens est inefficace et coûteux
  9. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 10 On peut le monitorer “À FROID” On peut le monitorer “À CHAUD” Investigation en temps réel Indicateurs exposés immédiatement Information historisée Investigation a posteriori
  10. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 11 Le système peut se comporter de façon déterministe mais aussi de façon non-déterministe
  11. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 12 Le monitoring apporte du feedback à différentes vitesses Technique Données € SLA / SLO
  12. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 13 Le système peut être monitoré de façon technique Santé de la carte graphique (GPU) Consommation de la RAM
  13. OCTO Part of Accenture Digital © 2020 - All rights

    reserved Comprendre ce que les utilisateurs attendent réellement du service afin d’ éviter les insatisfactions puis le monitorer. Service Licence Agreement | Objective Monitoring de service CONTRAT
  14. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 15 On peut le monitorer par le prisme du coût ou du gain (financier)
  15. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 16 Le monitoring des coûts / profits CONTRAINTES : 1. Récupérer la vérité 2. Être capable de valoriser une bonne prédiction SOLUTIONS : 1. Il faut toujours récupérer la vérité ! Cela peut-être long, mais il faut ! 1. Il est possible de prendre : ⦿ Des hypothèses ⦿ Des proxys : métrique data science, métrique métier
  16. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 17 On peut le monitorer par le prisme de la donnée
  17. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 19 1ère étape : Tracer le pipeline Stockage Annotation des crises Réentrainement Exposition On / Off Capture de signal Pre- processing Prédiction Amélioration Inférence
  18. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 20 2ème étape : Identifier les sources de non-déterminisme Stockage Annotation des crises Réentrainement Amélioration Inférence Sources de non-déterminisme Exposition On / Off Capture de signal Pre- processing Prédiction
  19. OCTO Part of Accenture Digital © 2020 - All rights

    reserved Non-déterministe car : ◉ Le bouton On / Off est à la main du patient Propriété attendue : ◉ Les capteurs sont allumés de 7h15 à 22h30 > Car ce sont les heures indiqués par le patient Sonde proposée : ◉ Créneaux horaires où les capteurs sont allumés 21 Le On / Off
  20. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 22 Prise de signal Non-déterministe car : ◉ Le contenu du signal n’est pas maîtrisé par le système Propriété attendue : ◉ Il doit y avoir un rythme cardiaque entre 50 et 180 bpm Sonde proposée : ◉ Rythme cardiaque moyen par fenêtre glissantes de 60 sec
  21. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 23 Annotation des signaux Non-déterministe car : ◉ Des annotateurs peuvent avoir des avis divergents ◉ Les annotateurs peuvent changer Propriété attendue : ◉ Les signaux sont annotés par plusieurs annotateurs de manière similaire Sonde proposée : ◉ Mesure de la variance d’annotation entre deux experts (ex : via Intersection over Union) IoU : 0.2 BAD t IoU : 0.75 GOOD t IoU : 0.97 EXCELLENT ! t
  22. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 24 Réentrainement Non-déterministe car : ◉ L’aléa est au cœur des algorithmes d’apprentissages Propriété attendue : ◉ Performance au moins équivalente sinon meilleure au modèle déjà en production Méthode pour les monitorer : ◉ Shadow production pour comparer les performances des modèles candidats par rapport au modèle déployé en production
  23. OCTO Part of Accenture Digital © 2020 - All rights

    reserved Non-déterministe car : Propriétés attendues : Méthode pour les monitorer : Il existe des problèmes ◉ que l’on à pas réussi à formaliser, ◉ que l’on a estimé peu probables, ◉ ou que l’on a simplement pas identifié ◉ La distribution des prédictions est stable dans le temps ◉ Suivre la distribution des prédictions, en bout de pipeline 25 Une distribution monitorée par défaut : La voiture balais
  24. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 27 Positionnement de la sonde Stockage Annotation des crises Réentrainement Exposition On / Off Capture de signal Pre- processing Prédiction Plus une sonde est loin dans le pipeline, plus elle est générique La prédiction n’est pas assez performante à cause de la prise de signal La prédiction n’est pas assez performante
  25. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 28 Cohérence entre les sondes Stockage Annotation des crises Réentrainement Exposition On / Off Capture de signal Pre- processing Prédiction Si une sonde lève une erreur à l’étape N, mais qu’il n’y a pas de problèmes à l’étape N+1, cette sonde mérite d’être challengée
  26. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 29 Monitoring et temps de calculs Stockage Annotation des crises Réentrainement Exposition On / Off Capture de signal Pre- processing Prédiction Attention, la sonde ne doit pas casser les SLA !
  27. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 30 Critères de choix des sondes Stockage Annotation des crises Réentrainement Exposition On / Off Capture de signal Pre- processing Prédiction Seuls les aléas anticipables et probables méritent des sondes
  28. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 31 Monitoring ou feature ? Stockage Annotation des crises Réentrainement Exposition 3 Capteurs ? Capture de signal Pre- processing Prédiction On / Off Si le besoin est critique, la sonde doit faire partie de l’application
  29. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 33 Notre dashboard final 85% Bonnes prédictions ON / OFF Rythme cardiaque Nombre de crises prédites IoU Shadow production
  30. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 34 Take away 01 03 02 04 Tracer le pipeline Poser des sondes Challenger ces sondes Itérer ! ◉ Une fois en production, il faudra monitorer ◉ Il y a 4 prismes de monitoring > Technique, SLA & SLO, data et ROI ◉ La nouveauté, c’est le monitoring sur les données ◉ Monitorer des distributions dans tous les sens est COÛTEUX ET INEFFICACE
  31. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 35 Quelques pistes pour alimenter le backlog Et d’autres pistes pour aller plus loin Faire un atelier monitoring de systèmes de data science Mesurer et historiser les métriques identifiées Construire un Dashboard pour visualiser les sondes Donner accès au Dashboard aux parties prenantes Récolter du feedback ... POUR ALLER PLUS LOIN Se pencher sur l’alerting S’intéresser aux 3 piliers de l’observabilité …
  32. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 37 Vous êtes peut-être comme nous... Votre système de data science est en production ! Vous déployez du ML en continu Vous avez des utilisateurs Vous avez une usine de développement Vous avez tiré des flux de données Vous avez une infrastructure Ce n’a pas été facile mais on y est arrivé ! BRAVO !
  33. OCTO Part of Accenture Digital © 2020 - All rights

    reserved 38 ... Mais de nombreux challenges nous attendent encore Flux d’Annotations Interprétabilité Expérience utilisateur Auditabilité Éviter les biais Ré-entraînement