Introduction au Machine Learning

Passer d'une problématique business à la mise en production d'un modèle ML

P1C5 : Passez d’une problématique business à la mise en production

Étape 1 : définir les spécifications à partir de la problématique business

Le processus itératif d’un projet data science, de la traduction de l’objectif business en problématique data à la mise en production dans un produit en passant par le modélisation ML. ## Etape 2 : concevoir le prototype et la faisabilité du projet
On se concentre sur les étapes ML qui consistent en: collecte des données + sélection du modèle et de l’objectif + entraînement + optimisation + prédictions.
Illustration de chaque brique avec scikit-learn ## Etape 3 : mettre le projet en production
MLops: Les challenges de la mise en production; drift des modèles, majs automatiques, optimisation des coûts; resilience;
quels sont les outils; le rôle du ML engineer
Du notebook au script; les plateformes de gestion des expériences, détection du drift et hosting. Le but est de montrer que le ML ne se limite pas a des notebooks python et a scikit-learn mais que derrière il y a tout un  écosystème que le  ML engineer doit connaître. sans faire peur.

Étape 1 : définir les spécifications à partir de la problématique business

Prenons un peu de recul avant de clore cette partie plutôt théorique.

Un projet de data science à 3 grandes phases: conception, modélisation et production.

La phase de conception a pour but de traduire une problématique business, un besoin ou un produit en projet ML.

De façon très générique, il faut au minimum:

Une simple série de règles apporte souvent une solution plus simple et parfois d’efficacité comparable. En anglais on parle de rule based solutions.

Un projet de ML est complexe. Avant de se lancer, il faut pouvoir calculer le gain réellement apporté par une démarche ML. Cela implique de réaliser une étude de benchmark au préalable. Cette étude préliminaire permet aussi de définir ce qui constitue le succès du projet. Comment mesurer la performance du système, la métrique, et quel score est nécessaire d’obtenir pour réaliser les objectifs du projet.

Voici quelques exemple de benchmark:

Dans tous ces cas, on pourra choisir comme métrique de scoring une mesure de la différence entre la valeur estimée et la valeur observée.

Par contre, les projets suivant auront du mal à voir le jour sans une bonne dose de ML

La collecte préalable des données va permettre de s’assurer de leur disponibilité. Au-delà des contraintes apportées par les règlements européens (RGPD) et français (CNIL), les données bancaires, de santé ou relatives aux savoir-faire industriels seront plus difficiles d’accès que d’autres. Enfin, la propriété des données doit aussi être prise en compte. Des données scrapées d’un site ne pourront constituer la base d’une offre commerciale. Donc de nombreux obstacles avant de pouvoir entrainer le moindre modèle.

Enfin, une fois ces données collectées, il faut s’assurer qu’elles soient bien exploitables.

Donc tout un travail en amont pour pouvoir aboutir enfin à l’étape de modélisation et de machine learning.

Etape 2 : concevoir le prototype et la faisabilité du projet

Une fois fixée une version du jeu de données, et une indication de benchmark de performance à dépasser, le but de l’étape de machine learning est d’obtenir un modèle qui soit

Les étapes de machine learning vont constituer en une série d’itérations des étapes suivantes:

Nous reviendrons en détail sur ces différentes étapes dans les prochains chapitres. Il s’agit d’un processus itératif. avec des va et viens entre la colecte des données, la reprise des objectifs et leur quantification, la mise en forme des données, le choix des algo etc

##Etape 3 : mettre le projet en production

Le modèle une fois optimisé a vocation à être mis en production, cad intégré dans le produit / le service. C’est alors le travail des MLOps et des DEVOps qui vont prendre en charge la mise en production dans le cloud, la maintenance informatique et la surveillance des modèles.

Pour bien comprendre l’importance de cette étape, pensez à la mise en production de centaines voir de milliers de modèles, qui doivent être automatiquement et en parallèl:

Le MLOps est la contraction de DevOps (développement et opérations) et de ML. Le rôle du MLOps consiste à opérationnaliser les modèles de ML en production.

Au-delà des tâches d’intégration et de systématisation, le MLOPs va devoir surveiller / monitorer les modèles en production. « Rien n’est permanent, sauf le changement », il est donc probable que les conditions sous-jacentes aux données d’entraînement du modèle ne seront que transitoires. Les modèles risquent à un moment de perdre de leur efficacité et il faudra les ré-entraîner, les modifier (nouvelles variables) et les redéployer.

On parle alors de drift du modèle.

Pensez aux crises mondiales récentes, guerres, pandémies, bouleversement climatique, qui ont et continuent de chambouler de nombreux modèles de prédiction.