Machine learning : comment industrialiser vos modèles ?

À l’heure actuelle, une multitude de modèles de machine learning sont en gestation ou en phase de test. Pourtant, peu d’entre eux seront réellement utilisés. L’industrialisation et le déploiement des modèles est un véritable défi trop souvent négligé. Nous revenons dans cet article sur les principes de base à respecter pour donner les meilleures chances d’émancipation à votre modèle de machine learning.

woman-projection-html-cccs-1300px

Qu’est-ce que le machine learning ?

De nombreuses personnes confondent intelligence artificielle et machine learning. Néanmoins, ce sont deux choses différentes.

 

La dénomination intelligence artificielle représente le concept selon lequel une machine serait capable d’effectuer des taches de manière autonome et intelligente. Le graal en matière d’IA est de parvenir à créer des systèmes capables d’utiliser un mode de réflexion propre pour exécuter n’importe quelle tâche. À l’heure actuelle, la plupart des intelligences artificielles abouties se concentrent plutôt sur un type de compétence, on parle d’intelligence artificielle appliquée. L’exemple classique est celui des IA de trading qui vise à dominer les aléas des marchés financiers.

 

Le machine learning, quant à lui, n’est qu’un aspect de l’intelligence artificielle qui part du principe que les machines doivent être capables d’apprendre par elles-mêmes pour autant qu’on leur donne suffisamment de données. Si beaucoup considèrent le machine learning comme un sous-ensemble de l’intelligence artificielle, d’autres estiment que le machine learning est une étape vers la création d’une intelligence artificielle omnipotente. Le Machine learning fait donc plutôt référence à un mode d’apprentissage. Le fondement du machine learning est le principe selon lequel les machines doivent être capables d’apprendre de manière autonome et d’utiliser par exemple un processus de déduction, à l’instar des humains.

Approche multilatérale pour déployer un modèle de machine learning

Les modèles de machine learning ont le vent en poupe. On promet aux entreprises une rationalisation des coûts, une efficacité accrue ou encore un marketing performant ; le tout pour améliorer l’organisation et bien évidemment les rendements. Voilà pour la théorie.

 

En pratique, force est de constater que la plupart de ces modèles ne sont jamais industrialisés et terminent donc aux oubliettes.

 

Une entreprise qui souhaite utiliser le potentiel de l’IA et du machine learning doit prendre le temps de développer les modèles mais doit surtout les déployer ensuite. Cela implique une coopération à différents niveaux de l’entreprise et une vision globale dès la création du modèle.

 

En effet, déployer un modèle sans adopter une approche multilatérale et associer différents acteurs au sein de l’entreprise, c’est un peu comme rédiger un best-seller et ne pas trouver l’éditeur adéquat. L’œuvre restera dans vos cartons et ne sera jamais connue du grand public.

screen-code-1300px

Développer efficacement son modèle de machine learning

Bien que brillants, beaucoup de modèles de machine learning s’avèrent inutiles pour les entreprises. Avant de développer un modèle, il est donc primordial de comprendre le pourquoi du modèle et les besoins de l’entreprises.

 

Les questions suivantes sont essentielles :

  • Quels sont les besoins en matière de disponibilités ? En d’autres termes, est-ce que le modèle doit être disponible à la demande ? Quelles personnes vont l’utiliser et à quelles fins ? ;
  • Quels sont les besoins en matière de vitesse ? Est-ce que l’information doit-être fournie en temps réel ou est-ce qu’un intervalle de plusieurs heures voire plusieurs jours est acceptable ? ;
  • Quelles sont les contraintes en matière de coûts mais également en matière d’infrastructure (stockage et autres) ? Quel est le budget alloué par l’entreprise ? Comment va-t-on maintenir le modèle sur le long terme ? Comment peut-on organiser des mises à jour ou des contrôles de sa fiabilité ? Peut-on assurer la scalabilité du modèle ?

 

Bien qu’un modèle qui produit des résultats en temps réel (généralement par le biais d’une API) soit souvent considéré comme idéal (on parle de modèle à la demande), il n’est pas toujours nécessaire. Dans certains cas, il importe donc de procéder à certaines concessions « esthétiques » pour ne pas perdre de vue les objectifs de rentabilité et d’efficacité. Des modèles en mode manuel ou en mode batch (par lot) peuvent très bien convenir pour toutes une série d’applications pratiques. En revanche, des modèles sophistiqués capables de produire des résultats en temps réel avec une architecture edge adaptée sont nécessaires dans certains contextes.  

 

Dans tous les cas, un modèle ne sera jamais déployé correctement s’il ne rencontre pas une acceptation transversale au sein de l’entreprise. Cela implique donc également un travail de communication important afin de faire comprendre la valeur ajoutée du modèle.

La difficile transition vers le grand bain

Industrialiser un modèle de machine learning, c’est un peu comme apprendre à un enfant à passer de la pataugeoire au grand bain. Ce passage est indispensable pour apprendre à nager correctement. Pour les amateurs de sensations fortes, vous pouvez comparer cela à un saut en parachute en solo. Pendant votre formation, on vous donnera toutes les clés pour réaliser votre saut dans les meilleures conditions et réagir en fonction des imprévus. Néanmoins, une fois que vous aurez sauté dans le vide, la réussite de votre saut sera de votre seule responsabilité.

 

La vérité est que l’entrainement ne sera jamais parfait. Personne n’est à l’abri d’un accident ou d’une erreur de jugement. C’est le cas également pour un modèle de machine learning. Il faut donc accepter une certaine part de risque mais il est essentiel de contrôler ce risque. Il importe donc de mettre en place des signaux d’alertes en cas de résultats « anormaux », de données « atypiques » et d’exercer des contrôles et des mises à jour régulières.  On parle d’intégration ou d’industrialisation continue.

 

À ce stade, une question s’impose : est-ce que ces modèles de machine learning ne rajoutent pas un degré de complexité inutile ? Lorsqu’on mesure l’ampleur des différents paramètres à prendre en compte, la migraine pointe à l’horizon. Cependant, ces modèles s’avèrent indispensables dans bon nombre de cas où la puissance de calcul informatique est nécessaire afin d’obtenir un résultat adéquat. On en revient donc au point de départ : l’importance de bien comprendre les besoins avant de se lancer dans le développement de modèles de machine learning à tout va. 

De l’importance d’une sélection adéquate des données

Un facteur trop souvent négligé est celui des sources de données. Les modèles de machine learning utilise les flux de données à disposition. Si ces flux sont inadaptés, le résultat ne sera jamais correct. Imaginez que vous utilisiez les données des senseurs météo de Bamako pour déterminer le temps à Paris et vous aurez une idée de l’influence d’une mauvaise sélection des données sur la performance d’un modèle de machine learning.

 

L’industrialisation efficace d’un modèle de machine learning doit donc respecter certains principes :

  • Identification adéquate des besoins et des coûts ;
  • Communication et efforts d’apprentissage transversal ;
  • Acceptation du caractère faillible du modèle de machine learning ;
  • Identification desdites failles et mises à jours et contrôles réguliers ; et
  • Sélection appropriée des données utilisées.

 

Chez Ryax, notre plateforme vise à industrialiser vos algorithmes et vos modèles de machine learning plus rapidement. De cette façon, vous ne perdez pas de vue l’essentiel, en l’occurrence apporter une valeur ajoutée au projet d’entreprise.

 

Si vous voulez une démonstration de notre plateforme ou si vous souhaitez plus d’informations, n’hésitez pas à nous contacter.

La Ryax Team.