Comment construire des produits à forte valeur ajoutée intégrant du Machine Learning ?
La révolution de l’Intelligence Artificielle, commencée depuis quelques années, transforme progressivement la quasi-totalité des secteurs d’activité. Si l’engouement pour le Machine Learning est aisément perceptible, force est de constater qu’aujourd’hui encore peu d’entreprises arrivent à proposer à leurs clients des produits intégrant des fonctionnalités ML. Par contre, les entreprises qui parviennent aujourd’hui à rentabiliser leurs investissements sont celles qui font preuve d’une certaine maturité dans la gestion de tels projets.
Qualité et disponibilité des données, industrialisation, compétences de l’équipe… nous verrons dans cet article les principaux enjeux derrière la création d’un produit intégrant du Machine Learning. Dans les prochains articles, nous verrons quelles solutions peuvent répondre à ces enjeux.
Afin de tirer une valeur réelle du Machine Learning, les entreprises doivent parvenir à proposer à leurs marchés un produit ou un service IT dont une ou plusieurs fonctionnalités s’appuient sur un modèle de Machine Learning. Aujourd’hui encore, la majeure partie des solutions logicielles s’appuient sur des algorithmes reposant sur un ensemble d’instructions prédéfinies. Le recours au Machine Learning permet d’aborder des problèmes plus complexes.
Prenons l’exemple de la détection de fraude au virement bancaire : s’il est possible de définir quelques règles qui permettent de classer un virement comme étant frauduleux, celles-ci peuvent rapidement s’avérer complexes. Le recours à un estimateur capable d’apprendre des comportements frauduleux à partir d’un historique de données de virements frauduleux peut permettre de mieux résoudre ce problème.
Actuellement, les entreprises font face à plusieurs enjeux :
- La disponibilité et la qualité des données
- Le choix des problèmes à traiter par le Machine Learning
- L’industrialisation du Machine Learning
- L’équipe dédiée au Machine Learning
La disponibilité et la qualité des données
Dans le but de créer des modèles offrant des performances pertinentes pour l’activité, l’entreprise doit avant tout disposer de données de qualité. Une donnée de qualité est une donnée qui répond à un ensemble de critères d’exigence dictés par son usage.
Différentes caractéristiques sont souvent prises en compte lorsqu’on parle de qualité de données :
- L’unicité garantit que la donnée ne puisse pas être confondue et qu’elle réponde à un identifiant unique;
- La complétude vérifie la présence de données significatives au niveau d’un attribut
- L’exactitude vérifie la validité de l’information;
- La cohérence vérifie l’absence d’informations en conflit entre plusieurs informations;
- L’intégrité vérifie que la donnée possède les liens/les relations nécessaires pour être exploitable;
- La fraîcheur qualifie le rapport entre les données et le temps;
- L’accessibilité vérifie la facilité d’accès aux données;
- La pertinence renvoie à l’utilité de la donnée pour un usage donné.
L’entreprise doit mettre en place un ensemble de processus pour garantir que les caractéristiques des données sont respectées. Tous les modèles d’apprentissage automatique ne nécessitent pas le même niveau de qualité de données. Par exemple, la création d’un modèle de fraude au virement nécessitera des données fraîches (c’est-à-dire récentes) sur les derniers virements, quand un modèle prédisant la Life Time Value d’un client pourra facilement se baser sur des données historiques plus anciennes.
Plusieurs applications ML peuvent bénéficier du cercle vertueux de la donnée. Plus un modèle est performant, meilleur sera le produit qui suscitera l’intérêt et l’interaction des utilisateurs. Cette interaction va générer davantage de données qui pourront être utilisées pour entraîner un modèle encore plus performant.
Le choix des problèmes à traiter
Le choix de problèmes à traiter par le ML et le niveau de maturité ML sont des enjeux qui influent sur la création de produits ML.
Comme tous les projets de l’entreprise, il est important que les projets ML puissent montrer un ROI au bout d’un certain temps, évidemment variable d’une entreprise à l’autre. Les projets ML ont en général un plus grand taux d’échec que les autres projets IT.
Parmi les raisons, mentionnons que certains projets ML sont parfois mal cadrés, quand ils ne sont pas tout simplement techniquement impossibles. Dans d’autres cas, ces projets viennent résoudre des problèmes dont l’impact ne justifie pas la complexité ajoutée par la solution ML. Souvent, les diverses parties prenantes ne sont pas alignées.
Comme tout projet, un projet ML avec un impact élevé et un faible coût sera à privilégier. Plusieurs questions peuvent aider à identifier les projets avec un impact élevé :
- Identifier les besoins du produit
- Identifier les types de problème pour lesquels les solutions ML sont disponibles
- Regarder à ce qui est fait par d’autres acteurs de l’industrie
Le coût du projet ML sera souvent influencé par :
- La disponibilité de la donnée
- Les exigences de précision : combien coûtent les mauvaises prédictions ? Quelles sont les implications éthiques des mauvaises prédictions ?
- La difficulté du problème : le problème est-il bien défini ? Y a-t-il des solutions dans la littérature ? Quelles capacités de calcul sont nécessaires ?
L’industrialisation du Machine Learning
Ces dernières années, les entreprises se sont focalisées sur la création de modèles de Machine Learning. Aujourd’hui l’industrialisation des modèles est le principal enjeu dans la mise en œuvre du Machine Learning.
La création de modèles est un enjeu moins complexe car pour de nombreuses applications, les algorithmes sont disponibles en littérature et tendent à se standardiser. En général, ces algorithmes peuvent être réutilisés en respectant quelques bonnes pratiques. Lorsque de tels algorithmes ne sont pas disponibles, en général, le sujet relève plus de la recherche et peu d’entreprises auraient un intérêt à s’y aventurer d’un point de vue ROI.
Par ailleurs, la méthodologie pour développer un POC est aussi relativement simple et linéaire. À partir d’un jeu de données et d’une problématique bien identifiée, les phases souvent mises en œuvre sont l’exploration des données, la modélisation, l’évaluation et la rédaction d’un compte rendu. Les talents pouvant intervenir sur ces phases sont de plus en plus nombreux, puisque de nombreuses formations enseignent aujourd’hui les bases de la création de modèles. Cependant, les jeunes diplômés manquent souvent de connaissance sur les algorithmes à l’état de l’art, sur les bonnes pratiques de réglage des paramètres et de création de caractéristiques pour l’entraînement des modèles.
L’industrialisation du Machine Learning est le principal sujet de difficulté de mise en œuvre actuel au sein des entreprises. Par industrialisation, nous entendons, la mise en production, l’intégration au reste de l’infrastructure IT et le maintien des performances dans le temps des modèles de Machine Learning. Les produits ML sont plus complexes que les produits IT traditionnels. Les performances des modèles dépendent des données, de la qualité des caractéristiques créées pour entraîner le modèle et de l’entraînement du modèle.
Dans la plupart des cas, les modèles ML perdent leur performance au fil du temps et ont besoin d’être constamment ré-entraînés. Comment développer un produit ML avec le moins de friction ? Alors que les produits IT traditionnels s’appuient sur le DevOps, les produits ML s’appuient de plus en plus sur le ML Ops (voir également nos articles sur le ML Ops).
L’une des difficultés dans l’industrialisation de modèles ML est la grande diversité des outils et l’absence de méthodologies standardisées. À cela, s’ajoute la rareté des talents qui devront en général avoir une connaissance dans le fonctionnement des modèles ML, l’ingénierie de données, le Cloud et le DevOps.
L’équipe ML
Un enjeu majeur pour les entreprises est la création d’équipes capables de créer des produits Machine Learning.
Les principaux rôles d’une équipe ML sont :
- ML Product Manager
- MLOps/ML Platform Engineer
- ML Task Engineer
- Data Scientist
- ML Researcher
À côté les rôles complémentaires seront :
- Data Engineer
- Cloud Architect
- Software/DevOps Engineer
La création d’une équipe ML reste coûteuse et difficile à structurer pour de nombreuses entreprises. La tendance sera à rechercher des profils polyvalents pouvant porter plusieurs de ces casquettes.
Dans cet article, nous avons vu les enjeux posés par la création de produits ML. Dans nos prochains articles, nous aborderons les pistes de solutions pour répondre efficacement à ces enjeux.