À travers ma propre expérience dans le domaine du Machine Learning (ML), j'ai pu constater que, malgré l’immense potentiel des produits ML, leur transition vers une phase de production réussie représente souvent un défi considérable. Cette observation me remémore les conclusions du rapport Chaos de 1994, qui indiquait que seulement 16% des projets logiciels aboutissaient à un succès. Il apparaît clairement que les produits ML sont susceptibles de suivre cette même tendance, de par leur nouveauté et un manque généralisé de compréhension. Franchir ce seuil exige une définition rigoureuse et structurée du produit. Autrement dit, consolider la vision du produit ML est essentiel pour naviguer avec succès du concept à la concrétisation. Cette approche est fondamentale pour convertir le potentiel innovant de ces produits en réalisations concrètes.
Les statistiques récentes dans le domaine du big data et du Machine Learning soulignent l'ampleur du défi :
- 85 % des projets de big data échouent, selon Gartner en 2017;
- en 2019, VentureBeat rapportait que 87 % des projets de data science ne parvenaient jamais à la phase de production.
Ces chiffres témoignent des obstacles significatifs à surmonter pour réussir dans le ML. Dans cet article, je souhaite partager mon analyse des différents types de projets data, examiner les obstacles qui empêchent leur aboutissement en production et souligner l'importance vitale d'une vision produit bien articulée.
Je vais également aborder comment identifier efficacement les opportunités, mettre en place des “objectifs et résultats clés” (dit OKR, Objectives Key Results) ainsi que des “indicateurs clés de performance” (dit KPI, Key Performance Indicator) et distinguer les divers critères de succès. Mon objectif est de présenter une perspective éclairée sur les défis et les stratégies clés pour réussir dans les projets de ML, transformant ainsi les obstacles en véritables leviers de succès, basés sur mon parcours et mon expérience dans ce secteur en constante évolution.
Qu’est ce que le machine learning (ML)
Le ML est une branche de l'intelligence artificielle qui confère aux systèmes informatiques la capacité d'apprendre et de s'améliorer à partir de l'expérience sans être explicitement programmés. Cette amélioration se manifeste non seulement à travers l'apprentissage supervisé, où le système apprend à partir d'exemples étiquetés, mais aussi via l'apprentissage non supervisé, qui permet au système de découvrir des patterns et des structures dans des données non étiquetées.
Le ML se repose sur des algorithmes traitant et analysant de vastes volumes de données pour déceler des schémas sous-jacents. Ces algorithmes sont conçus pour apprendre de ces données et, sur cette base, effectuer des prédictions. L'objectif final est de construire un modèle qui, confronté à de nouvelles données, peut générer des résultats cohérents avec les comportements et les tendances observés dans les données d'entraînement, permettant ainsi une application pratique et précise de ces prédictions dans des situations réelles.
En somme, le ML représente une avancée majeure, offrant aux systèmes informatiques la capacité d'apprendre et de s'améliorer de manière autonome.
Grâce à l'apprentissage supervisé et non supervisé, les algorithmes peuvent reconnaître des modèles et extraire des insights à partir de vastes ensembles de données, sans nécessiter une programmation explicite pour chaque nouvelle tâche.
Cette capacité transformative rend le ML indispensable pour un éventail impressionnant d'applications, depuis l'amélioration de la reconnaissance d'image jusqu'à l'affinement de l'analyse prédictive, en passant par l'optimisation de la prise de décision stratégique.
Le potentiel du ML pour révolutionner pratiquement tous les secteurs d'activité est immense, annonçant une ère où les machines ne se contentent pas d'exécuter des tâches, mais apprennent, s'adaptent et offrent des solutions innovantes aux défis complexes du monde réel.
Différence entre produit de data decision, data engineering et produit ML
Un produit data a pour mission principale de convertir des données brutes en informations pertinentes et exploitables, répondant ainsi à des besoins spécifiques. Pour y parvenir, ce type de produit intègre une combinaison de programmation, de mathématiques et de statistiques. Il s'attache à nettoyer, transformer et visualiser divers types de données, qu'il s'agisse de nombres, de textes, d'images, de vidéos ou d'audio. Ainsi, grâce à ces transformations, le produit data facilite la prise de décision en offrant des insights clairs et actionnables, tirés d'une multitude de données complexes.
Nous pouvons principalement parler de 3 produits data : la data decision, le data engineering et le ML.
Data engineering
Les produits de data engineering visent à établir et à maintenir une infrastructure de données robuste et interconnectée, essentielle pour une organisation. Leur rôle principal est de créer des ponts entre différents outils et systèmes, permettant ainsi un accès fluide et efficace aux données pour diverses applications telles que la business intelligence ou la data science. Ces produits constituent donc la fondation sur laquelle repose la gestion et l'analyse de données au sein de l'organisation.
Les projets de data engineering jouent un rôle crucial dans la création et la maintenance d'une infrastructure de données à la fois robuste et interconnectée, qui est indispensable pour toute organisation. Elles ne se limitent pas simplement à la dimension technique mais s'étendent à la transformation de données brutes en informations accessibles et exploitables par tous les acteurs de l'entreprise. Ce portail ne se destine pas uniquement aux spécialistes tels que les data analysts et les data scientists, mais s'ouvre également aux profils non techniques.
L'objectif de ces démarches est de mettre à disposition une plateforme data stable et évolutive, capable non seulement de raffiner les données pour les transformer en informations claires et utilisables, mais aussi d'alimenter d'autres outils et services au sein du système d'information de l'entreprise. Ce faisant, la plateforme data s'inscrit dans un contexte opérationnel, facilitant l'utilisation de la donnée pour tous les utilisateurs, qu'ils possèdent ou non une expertise technique.
Data decision
Le produit data decision est conçu pour fournir à l'utilisateur des informations pertinentes qui facilitent le processus de prise de décision. Il est important de noter que le produit lui-même ne prend pas de décisions, mais plutôt fournit aux utilisateurs des données analysées et présentées de manière intuitive pour les aider dans leur processus décisionnel.
Des exemples typiques de ce type de produit incluent des outils de visualisation de données, des tableaux de bord interactifs et des systèmes de monitoring. Ces outils associent une analyse de données approfondie à des techniques de visualisation avancées, rendant les informations complexes accessibles et compréhensibles.
Le livrable d'un produit data decision se manifeste généralement sous la forme d'une interface utilisateur interactive qui affiche des informations clés sous un format visuel facile à interpréter. Ils peuvent inclure des dashboards personnalisables, des rapports détaillés, des graphiques et des cartes, tous conçus pour mettre en évidence des insights et des tendances significatives dans les données. Ces interfaces permettent aux utilisateurs de filtrer, d'explorer et d'analyser les données en temps réel, facilitant ainsi une prise de décision éclairée basée sur des données actualisées et pertinentes.
Le data analyst porte cette responsabilité et est essentiel pour valoriser les produits de data decision. Il analyse et interprète les données pour extraire des informations clés, aidant ainsi les entreprises à prendre des décisions stratégiques. À l'aide d'outils de visualisation et d'analyse, le data analyst transforme les données complexes en insights compréhensibles, jouant un rôle vital dans la stratégie des opérations d'une entreprise.
Machine learning
Un produit de Machine Learning (ML) est une solution logicielle qui utilise des algorithmes et des modèles mathématiques pour analyser, interpréter et faire des prédictions ou des classifications à partir de grandes quantités de données. Ces produits s'appuient sur l'apprentissage automatique, où le système apprend et s'améliore de manière autonome en se basant sur les données qu'il traite.
On distingue deux phases principalement : la phase d’apprentissage et la phase de prédiction/classification. Dans la phase d'apprentissage, le produit ML utilise soit des données étiquetées pour apprendre à prédire ou classer des résultats basés sur des exemples connus, soit des données non étiquetées pour détecter des modèles ou des structures sans direction explicite (on parle également de clustering). Après cette phase, le modèle entraîné est capable d'appliquer ses connaissances à de nouvelles données, réalisant ainsi des prédictions ou des classifications.
Un exemple concret d’un produit ML pourrait être un système de recommandation pour une plateforme de e-commerce, où le modèle ML analyse les habitudes d'achat des utilisateurs pour recommander des produits pertinents. On peut aussi citer un outil de détection de fraude pour une institution financière, où le modèle apprend à identifier des transactions suspectes basées sur des patterns historiques. Ces produits transforment les données brutes en insights actionnables, offrant ainsi une valeur ajoutée significative pour les utilisateurs et les entreprises.
Pourquoi la plupart des projets de ML ne partent pas en production
La majorité des projets de ML peinent à atteindre la phase de production. Voici une liste non exhaustive de ce que j’en pense être la cause.
Vision business du produit ML
Un défi fréquent dans les projets de data et de machine learning est de s'attaquer au bon problème. Parfois, il y a un décalage entre ce sur quoi les équipes travaillent et ce dont l'entreprise a réellement besoin. Cela peut arriver si les objectifs du projet ne sont pas en phase avec les enjeux réels de l'entreprise. Il est donc crucial de bien comprendre le véritable problème à résoudre pour s'assurer que la solution développée apporte une réelle valeur ajoutée à l'entreprise.
Avant de lancer un projet, il est important de discuter clairement avec votre équipe ou vos collaborateurs sur les objectifs mais aussi des utilisateurs finaux. Interrogez-vous sur les défis précis que votre projet cherche à relever : Quel problème spécifique cherchons-nous à résoudre pour nos utilisateurs et comment cela résonne-t-il avec les objectifs de l'entreprise ? En quoi le Machine Learning représente-t-il la solution idéale pour ces besoins ? Comment évaluons-nous l'impact et le succès de notre projet en termes de bénéfices tangibles pour les utilisateurs et pour l'entreprise ? Et quel serait le critère pour un résultat jugé satisfaisant par les utilisateurs ?
Ces questions sont essentielles pour comprendre pleinement les attentes des utilisateurs finaux et pour s'assurer que le projet est véritablement aligné sur leurs besoins réels et ceux de l'entreprise. Ce processus collaboratif permet de s'éloigner d'une approche en silo pour adopter une vision plus holistique et orientée utilisateur, garantissant que le développement du produit est guidé par un impact business mesurable et significatif.
Une approche plus judicieuse serait de vérifier d'abord si la solution envisagée correspond à un enjeu majeur pour l'entreprise. Il est important de bien choisir les problèmes à résoudre, afin de bien utiliser les ressources pour la maintenance des systèmes, la mise en place des améliorations nécessaires et assurer une utilisation efficace en continu. Si un projet de data science ou de machine learning ne contribue pas à améliorer les processus de l'entreprise ou à augmenter ses revenus, alors malgré le succès technique, il ne sera pas considéré comme bénéfique pour l'entreprise.
Dans l'engouement actuel pour le ML, il est crucial de rappeler que les projets de ML ne sont pas une fin en soi. Bien que l'attrait pour ces technologies soit compréhensible, étant donné leur potentiel révolutionnaire et leur capacité à résoudre des problèmes complexes, il est important de garder à l'esprit que le ML n'est pas toujours la solution la plus appropriée. Parfois, des méthodes moins complexes peuvent suffire à répondre aux besoins spécifiques d'un projet sans recourir à des modèles de ML plus sophistiqués et potentiellement plus coûteux en termes de temps et de ressources.
La responsabilité de déterminer l'adéquation d'une solution de ML repose en grande partie sur les épaules du data scientist ou du lead data scientist. En tant qu'experts, ils doivent évaluer minutieusement chaque situation pour décider si le ML est vraiment la meilleure approche. Cette démarche critique est essentielle pour éviter de céder à la tendance du "faire ML pour faire du ML" et garantir que l'adoption de ces technologies apporte une réelle valeur ajoutée.
Ainsi, poser la question "Pourquoi pensons-nous que le ML est la solution adaptée à ce problème ?" devient un exercice fondamental dans la définition de tout projet de ML.
Limitations techniques
Un des gros problèmes rencontrés est souvent le manque de bonnes données. Pour que tout fonctionne bien, il faut des données de qualité et vraiment adaptées au sujet. Si on utilise des données qui ne sont pas vraiment représentatives ou qui sont de mauvaise qualité, cela peut conduire à des erreurs dans les modèles créés et à des prédictions qui ne sont pas fiables.
Il est également crucial d'avoir des données d'entraînement qui reflètent fidèlement la réalité. Si les données utilisées pour former votre modèle ne correspondent pas à ce qu'il rencontrera dans des situations réelles, il y a un grand risque que le modèle ne fonctionne pas correctement lorsqu'il sera testé ou utilisé en conditions réelles. Autrement dit, si vous entraînez votre modèle avec des données qui ne sont pas vraiment représentatives de la réalité, il risque de ne pas être efficace une fois en action. C'est un peu comme préparer quelqu'un pour une course en lui apprenant à marcher sur un chemin plat, puis s'attendre à ce qu'il puisse courir sans problème sur un terrain accidenté.
Des données de qualité et pertinentes sont vitales car elles influencent directement la fiabilité et l'efficacité des modèles de machine learning. Une analyse approfondie en amont pour s'assurer de la qualité et de la pertinence des données peut faire la différence entre un projet réussi et un projet qui ne livre pas les résultats escomptés.
Constitution de l’équipe
Un obstacle majeur dans les projets de data science et de machine learning est la difficulté à assurer une transition fluide vers la production et à maintenir les systèmes opérationnels. Souvent, le travail d'un data scientist se concentre sur les premières étapes du projet, comme la recherche, l'analyse des données, et la création de modèles préliminaires ou de preuves de concept (POC). Cependant, la réussite d'un projet ne s'arrête pas là.
Après la phase initiale menée par le data scientist, les rôles des data engineers et des ML engineers deviennent importants. Ils intègrent ces modèles dans l'environnement de production réel. Cette phase est souvent négligée ou sous-estimée, conduisant à des difficultés dans la mise en œuvre effective et l'exploitation à long terme des solutions de ML.
Cependant, penser que le déploiement d'un projet est sa dernière étape est une idée fausse courante. Une fois le modèle déployé, il entre dans une phase importante de son cycle de vie : la maintenance continue. Cette maintenance est essentielle pour assurer que le modèle reste performant et pertinent sur le long terme. Les données évoluent, les conditions du marché changent et le modèle doit s'adapter en conséquence. Sans une attention régulière et des ajustements, un modèle de ML peut rapidement devenir obsolète, perdant ainsi son efficacité et sa valeur pour l'entreprise.
D'après ma propre expérience, j'ai observé que les équipes de ML sont généralement composées en grande partie de spécialistes en data science. Or, la transition entre POC, déploiement et maintenance, nécessite une expertise qui va au-delà de la data science. Il est donc impératif d'adopter une approche multidisciplinaire en constituant des équipes mixtes, incluant non seulement des data scientists, mais aussi des ML engineers, des développeurs, et des dev ops, pour n'en nommer que quelques-uns.
La présence d'une équipe diversifiée assure non seulement une transition plus fluide du prototype à la production, mais contribue également à la mise en place d'un processus robuste pour la maintenance continue du modèle. Sans cette collaboration étroite entre différents profils, les projets de ML risquent de rencontrer des obstacles considérables, rendant l'industrialisation douloureuse et compromettant la durabilité des solutions déployées.
Méthodologie et organisation
L'utilisation d'une méthode de gestion de projet inadéquate peut mener à l'échec, surtout dans les projets de data science et de machine learning. Une approche Agile est souvent préférable pour ces projets en raison de sa flexibilité et de son accent sur l'itération rapide. C’est justement la mise en place d’une démarche agile qui permettra les ajustements nécessaires pour répondre aux défis spécifiques du ML, comme la gestion des grandes quantités de données et la complexité technique. Cette démarche (agile) favorise aussi une planification plus souple et une collaboration accrue entre les différents acteurs du projet.
La collaboration entre les équipes métier et les experts en data est un défi important. Les différences de langage et d'objectifs entre ces groupes peuvent créer des malentendus. Il est donc capital de favoriser une communication efficace en introduisant des experts comme un data product owner par exemple. En effet, les équipes techniques, bien que compétentes, ont souvent une vision limitée de la réalité des utilisateurs métier. Pour pallier cela, il est impératif de former des équipes mixtes, combinant des ressources en data avec un data product owner qui oriente la conception en fonction des besoins métier. Cette approche permet de questionner et de comprendre les besoins des utilisateurs cibles, en sortant la conception des produits data du périmètre des acteurs techniques.
Ces défis soulignent l'importance d'adopter une stratégie réfléchie et bien planifiée dans la mise en œuvre de projets de ML, afin de maximiser les chances de succès et d'avoir un impact positif et durable sur l'entreprise.
Importance d’une vision produit pour un produit ML
L'importance d'avoir une vision claire pour un produit de ML est cruciale pour plusieurs raisons. Tout d'abord, elle fournit une orientation stratégique, garantissant que le produit apporte une valeur ajoutée significative. Ensuite, une vision produit en ML permet de se concentrer sur la résolution des problèmes réels des utilisateurs, en comprenant et en répondant à leurs besoins, augmentant ainsi les chances de succès et d'adoption du produit sur le marché.
Du point de vue de la gestion, la vision du produit aide à prioriser et à allouer efficacement les ressources. Les équipes peuvent se concentrer sur les aspects les plus importants, optimisant le temps et le budget. Cette vision offre également la flexibilité et l'adaptabilité nécessaires pour répondre aux changements du marché et aux retours des utilisateurs, permettant au produit de rester pertinent et efficace.
Enfin, une vision claire améliore la communication et la collaboration au sein de l'équipe et avec les parties prenantes, assurant que tous travaillent vers un objectif commun. En résumé, la vision d'un produit ML est fondamentale pour le succès du projet, orientant le développement du produit et assurant son alignement avec les besoins du marché et les objectifs de l'entreprise.
Identification des besoins et opportunités
L'identification des besoins et des opportunités est une étape cruciale dans le processus de développement de projets, particulièrement en ML. Cela consiste à analyser et comprendre en profondeur les défis spécifiques auxquels une entreprise est confrontée et à identifier les domaines où l'application du ML peut apporter une amélioration significative ou créer de nouvelles possibilités. Ce processus implique souvent de recueillir des informations auprès des parties prenantes pour cerner leurs attentes et objectifs, suivie d'une évaluation rigoureuse des ressources disponibles et des données existantes. L'objectif est de s'assurer que le projet envisagé répond efficacement aux besoins identifiés tout en exploitant les opportunités disponibles pour apporter une valeur ajoutée maximale à l'entreprise.
Lors de la planification d'un projet de ML, il est crucial d'identifier un défi spécifique ou une opportunité d'affaires que le ML peut efficacement adresser. Cela nécessite une compréhension approfondie des domaines où le ML peut apporter une réelle différence. Voici quelques exemples :
- amélioration de l’expérience client : utiliser le ML pour développer des algorithmes de recommandation personnalisés peut améliorer significativement l'expérience des clients en proposant des produits ou services plus adaptés à leurs besoins;
- tri d’emails dans la relation client : les systèmes de ML peuvent aider à trier et à répondre efficacement aux emails des clients, ce qui améliore la gestion du service client et sa réactivité;
- optimisation de campagnes marketing : grâce à l'analyse des tendances de consommation et des comportements d'achat, le ML peut rendre les campagnes marketing plus ciblées et efficaces.
Pour assurer le succès d'un projet de ML, il est essentiel de s'assurer que son objectif est bien aligné avec les objectifs globaux de l'entreprise. Cela garantit que le projet apporte une valeur ajoutée et reçoit le soutien nécessaire de la part de l'entreprise. Identifier et cibler le bon défi ou la bonne opportunité est donc une étape fondamentale dans la réussite de tout projet de ML.
OKR, KPI et construction de la vision produit
OKR (Objective key results) et KPI (Key performance indicator) sont deux outils stratégiques essentiels dans la construction de la vision d'un produit, notamment dans les projets de ML.
OKR
Les OKR aident à définir des objectifs clairs et mesurables à court terme pour une équipe ou une entreprise.
Ils se composent d'un objectif et de plusieurs résultats clés qui sont des indicateurs spécifiques de la progression vers cet objectif. Par exemple, dans un projet de ML, un objectif pourrait être "Améliorer l'expérience utilisateur grâce à la personnalisation" et les résultats pourraient inclure "Augmenter le taux de clics sur les recommandations de 20%" ou "Réduire le taux de rebond de 15%".
Pour être aligné avec la stratégie globale de l'entreprise, les OKR au niveau de l'équipe Data doivent s'appuyer lors de leur conception sur les OKR stratégiques de l'entreprise.
KPI
Les KPI sont des mesures quantitatives utilisées pour évaluer la performance globale d'une entreprise ou d'un produit sur le long terme.
Ils sont souvent utilisés pour suivre la performance continue, comme le retour sur investissement (ROI), la satisfaction client, ou la part de marché.
Dans un projet de ML, des KPI pourraient inclure des mesures comme l'exactitude du modèle, le temps de réponse du système ou le coût total de fonctionnement.
Construction de la vision produit
Les OKR et les KPI sont intégrés dans la construction de la vision d'un produit en fournissant une feuille de route claire et des mesures pour suivre les progrès.
La vision du produit définit où l'entreprise veut aller, tandis que les OKR et les KPI fournissent les étapes concrètes et les critères de réussite pour y parvenir.
L'utilisation efficace des OKR et des KPI garantit que toutes les actions et décisions prises au cours du développement du produit sont alignées sur la réalisation de la vision globale du produit.
En résumé, les OKR aident à définir et à atteindre des objectifs spécifiques à court terme, tandis que les KPI permettent de suivre la performance globale sur le long terme, tous deux contribuant de manière significative à la réalisation de la vision du produit.
Critère de succès
Pour évaluer si un projet de ML est réussi, il est important de bien choisir et comprendre les critères de succès. Il y a deux types de mesures à considérer : celles qui regardent comment le modèle de ML fonctionne et celles qui montrent l'impact du projet sur l'entreprise.
Dans un premier temps, considérons les mesures techniques. Celles-ci se concentrent sur les détails du fonctionnement du modèle de ML. Par exemple, elles peuvent mesurer à quel point les prédictions du modèle sont précises. Ce sont des mesures importantes pour les spécialistes de la data qui travaillent directement sur le modèle, car elles aident à comprendre et à améliorer le modèle.
Pour évaluer la performance des modèles de ML, voici quelques mesures fréquemment utilisées :
- précision : elle indique la fréquence à laquelle les prédictions du modèle sont correctes. C'est un bon moyen de mesurer l'exactitude globale du modèle;
- rappel : cette mesure évalue la capacité du modèle à identifier correctement les cas pertinents. Elle est particulièrement importante dans les situations où ne pas manquer un cas positif est crucial;
- valeur F1 : c'est une combinaison de la précision et du rappel. Cette mesure est utile pour équilibrer ces deux aspects, surtout quand ils sont également importants pour le projet;
- erreur quadratique moyenne : utilisée en régression, elle calcule la différence moyenne entre les valeurs prédites par le modèle et les valeurs réelles. Cela aide à comprendre à quel point les prédictions du modèle sont proches de la réalité.
Ces mesures fournissent des informations cruciales sur la performance et la fiabilité d'un modèle de ML.
Ensuite, il y a les indicateurs de performance (vus précédemment), qui regardent l'effet du projet ML sur l'entreprise de manière plus globale. Par exemple, est-ce que le projet aide à augmenter les ventes, à réduire les coûts, ou à rendre les clients plus satisfaits ? Ces mesures montrent si le projet atteint ses objectifs commerciaux et s'il aide l'entreprise dans son ensemble.
Pour vraiment savoir si un projet de ML est un succès, il faut donc regarder à la fois comment le modèle se comporte (mesures techniques) et quel impact il a sur l'entreprise (indicateurs de performance). Cela permet de s'assurer que le projet est non seulement techniquement solide, mais aussi qu'il apporte une vraie valeur ajoutée.
Conclusion
En conclusion, le ML est en train de transformer radicalement le paysage des affaires et des technologies. Avec sa capacité à apprendre de grandes quantités de données et à fournir des insights précieux, le ML est devenu un outil indispensable dans une variété de domaines, allant de l'amélioration de l'expérience client à l'optimisation des processus opérationnels.
Cependant, pour que les projets de ML réussissent et apportent une véritable valeur ajoutée, il est crucial d'adopter une approche stratégique. Cela implique de choisir les bons problèmes à résoudre, d'avoir une vision produit claire, et de mettre en place une infrastructure et une méthodologie adaptées. Les défis liés aux données, à la constitution des équipes, à la mise en production et à la collaboration interne doivent être adressés avec soin.
En fin de compte, le succès d'un projet ML ne se mesure pas seulement par la performance technique du modèle, mais aussi par son impact sur l'entreprise et sa contribution aux objectifs globaux. L'avenir du ML est prometteur, à condition que les projets soient menés avec une vision claire.