Produits Data Science - 6 approches de modélisation pour créer rapidement votre MVP

Produits Data Science - 6 approches de modélisation pour créer rapidement votre MVP

Notre conviction est qu’un modèle de Machine Learning (ML) n’a que très peu de valeur en soi, c’est son utilisation en production et en réponse à une problématique métier précise qui est importante. Et pour cela, rien de mieux que de rapidement passer à la création d’un MVP de bout en bout.

Dans cet article, nous vous proposons 6 propositions d’approches afin d’avoir des premières versions de modèles simples à mettre en place et permettant donc d’implémenter rapidement un MVP plutôt que de rester trop de temps sur le modèle en lui-même.

Nous nous focalisons donc sur la partie modélisation dans cet article, mais les composants essentiels d’un MVP de Produit Data Science sont bien plus nombreux. Pour mieux comprendre cela, nous vous invitons à lire notre article expliquant pourquoi il ne faut pas attendre d’avoir un modèle parfait avant de penser à l’industrialisation.

Notre Use Case :

Pour illustrer chacune de ces approches, nous partirons d’un Use Case de catégorisation de mails en “à traiter d’urgence” versus “peu urgent”, dans une optique de création d’un outil d’aide à la gestion des boites mail de ses utilisateurs.

Approche 1 - #NoML : Le retour des règles métier

Il se peut que votre égo de Data Scientist en prenne un coup, mais il n’est pas rare de se rendre compte que le simple fait de croiser, nettoyer et mettre à disposition des informations via des règles métier bien pensées réponde déjà de manière très satisfaisante à des points de douleur de vos utilisateurs. Alors pourquoi s’en priver ?

En allant à la rencontre de vos utilisateurs, si vous constatez que certaines choses sont faites à la main depuis des années et qu’il y a un potentiel d’automatisation par des heuristiques simples, vous avez l’opportunité de leur faire faire un gain de temps considérable. Et cerise sur le gâteau, c’est une manière simple et rapide de gagner la confiance et l’adhésion de vos interlocuteurs, ce qui rendra beaucoup plus simple l’adoption de modélisations beaucoup plus complexes.

Mise en application pour notre Use Case

  • Mise en place de règles sur des notions temporelles : repérer les tournures du type “avant le” ou “réponse attendue pour le”, etc.
  • Récolte d’une liste de contacts prioritaires pour qui un délai de réponse minimal est un enjeu majeur

Approche 2 - Human Learning : La prise de décision par un être humain

Pour certains cas d’usage, il se peut qu’aucune règle métier simple n’existe pour faire une première version simple d’algorithme, alors que vous avez besoin d’un niveau de confiance et de performance élevé dès le début. Dans ce cas, il peut être pertinent d’étudier l’option de déléguer complètement la partie habituellement traitée par une IA à un être humain.

Cette approche permet 2 choses :

  • Vérifier que cela apporte vraiment de la valeur d’avoir un tel produit avant de se lancer dans du Machine Learning
  • Avoir des premières données labélisées qui serviront pour entraîner un futur algorithme de Machine Learning pour apprendre des patterns à partir des classifications faites pas les humains.

Mise en application pour notre Use Case

  • Industrialisation de toute la pipeline d’ingestion et de préparation de la donnée jusqu’à fournir une donnée qu’un être humain devra classifier, pour qu’il fournisse ensuite le résultat au reste de la pipeline.
  • Réincorporation progressive de Machine Learning, afin de classifier automatiquement les textes pour lesquels la certitude est très élevée, et d’envoyer ceux pour lesquels l’incertitude est la plus élevée à l’expert humain.

Approche 3 - Keep It Simple : Un modèle de ML simple

Une simple régression linéaire ou logistique peut vous permet d’atteindre un niveau de performance tout à fait acceptable et apportant déjà de la valeur à vos utilisateurs en termes de prise de décision. Ces modèles ont le mérite d’être simples à comprendre, rapide à implémenter, voir même transposables en règles métier si nécessaire. Le gain en valeur peut déjà être colossal.

Ce modèle simple peut vous permettre de vous concentrer sur les autres briques de votre chaîne de traitement pour votre MVP afin de délivrer de la valeur directement en production. Il est entendu que faire simple n’est pas toujours si simple !

Mise en application pour notre Use Case

  • Feature Engineering basé sur du “Bag of Word”, voir du TF-IDF
  • Modélisation via une Régression Logistique (éventuellement avec de la régularisation)
  • Interprétation métier des poids de chaque mot ou groupement de mots

Approche 4 - Be Lazy : Les services managés des cloud providers

Que ce soit pour l’analyse d’images, de vidéos ou de textes, de nombreux services haut niveaux proposés par les cloud providers vous permettent d’obtenir des résultats à une vitesse incroyable, en bénéficiant de la force de frappe de ces derniers pour un coût limité. A titre d’exemple, vous retrouverez des services comme Amazon Rekognition ou encore Google AutoML.

Il est probable que le service managé en question ne réponde pas exactement à votre Use Case, mais un retravail des résultats obtenus peut souvent être suffisant pour retomber sur vos petits.

Cette approche a le mérite de vous permettre de “déléguer” la partie Intelligence Artificielle pour le moment et vous concentrer sur le reste de la chaîne de traitement pour la constitution de votre MVP. En fonction de vos priorisations, il sera ensuite temps de reprendre en main la partie IA via vos propres développements.

Mise en application pour notre Use Case

Approche 5 - Big but Simple : Le Transfer Learning

Si vous souhaitez entraîner vos propres réseaux de neurones dans le cadre de votre Use Case et que l’architecture cible de ce modèle est complexe, se tourner vers une approche de type Transfer Learning peut s’avérer efficace. En effet, il existe de nombreux modèles pré-entraînés disponibles en open source (ex: TensorFlow Hub) que vous pouvez utiliser tels quels, ou bien en ne ré-entraînant que les dernières couches de ces derniers.

Cela permet ainsi de capitaliser sur les nombreuses heures d’entraînement de ces réseaux de neurones profonds, et de les spécialiser pour votre tâche précise ensuite. Pour des problématiques de type classification d’images ou de texte, cette approche s’avère souvent très performante dès les premières versions du modèle.

Mise en application pour notre Use Case

Approche 6 - Not Reinventing the Wheel : Capitaliser sur des projets déjà industrialisés

En parlant de capitaliser, il n’est pas toujours nécessaire de regarder à l’extérieur pour développer des premières versions intéressantes de vos modèles. En effet, il est possible que le Use Case sur lequel vous êtes en train de travailler puisse ressembler à un précédent développé par une autre équipe.

Cela peut par exemple être une ressemblance en termes de type de modélisation, ou bien de pre-processing de la donnée. Cela vous permet ainsi d’obtenir des blocs de code testés et industrialisés sur lesquels vous appuyer pour ne pas repartir de zéro.

Mise en application pour notre Use Case

  • Récupération d’un modèle de pré-traitement de texte d’une boite mail catégorisée : détection de langue, gestion des stop-words, lemmatization, stemming, etc.
  • Récupération d’un code industrialisé pour le tuning automatique de modèles

En conclusion : “plus simple” n’est pas synonyme de “moins performant”

Comme on peut le voir, il n’est pas forcément nécessaire de se restreindre à l’option “modèle simple et moins performant” pour créer rapidement un MVP d’un produit Data Science, d’autres approches permettent d’avoir dès le départ des modélisations avancées.

Bien entendu, certaines approches ne seront pas applicables à votre contexte ou votre Use Case. Vous pouvez aussi en combiner, ou bien démarrer par l’une pour enchaîner avec l’autre (ex : démarrer par des règles métier, puis un modèle simple, puis du Transfer Learning).

Et vous ? Quelles sont vos approches pour rapidement apporter de la valeur en production pour votre Produit Data Science ?

🙏 Cliquez ici si vous avez aimé cet article, aidez nous à gagner en visibilité en partageant cet article sur Linkedin 🙏