Machine Learning : les méthodes de déploiements techniques

Pour déployer un modèle de Machine Learning en production, différentes techniques existent. Carriere-info fait le point sur les approches en vogue. 

Machine Learning : quelques rappels 

  • On définit le Machine Learning comme une technologie d’intelligence artificielle qui va permettre aux machines d’apprendre sans programmation préalable à cet effet. 
  • Explicitement lié au Big Data, le Machine Learning implique en effet que pour apprendre et se développer, les ordinateurs ont besoin de flux de données à analyser, en guise d’entraînement. C’est un “concept qui tend à rendre une machine capable d’apprendre de ses expériences”. 
  • Descendant par essence du Big Data, le Machine Learning en a besoin pour fonctionner, créant entre eux une réelle interdépendance. 
  • La machine va ainsi récupérer des quantités gigantesques d’informations, réutilisées pour s’adapter, voire anticiper de nouvelles situations. 
  • Le principe : l’algorithme construit seul une “représentation interne”, qui correspond à une espèce de conscience de la situation à laquelle il a affaire, en vue d’exécuter la tâche demandées (prédiction, identification, etc.). 
  • A cette fin, il va donc commencer par s’entraîner sur des exemples en vue de son amélioration : d’où la notion d’apprentissage et de “Machine Learning”. 
  • La source principale de récupération de Big Data : les bases de données, via une multitude de technologies permettant d’en assurer la récupération et le stockage, tels qu’Hadoop ou SQL. 
  • Le catalogue d’un site de e-commerce ou les données relatives au comportement des utilisateurs sont des exemples d’informations récupérées et stockées. 
  • Parmi les exemples les plus connus d’utilisation de Machine Learning : l’application Photos d’Apple (identification de visages, d’objets voire d’animaux après plusieurs reconnaissances successives), les enceintes connectées Amazon Echo ou Google Home qui apprennent en permanence des requêtes des utilisateurs et de leurs interactions. 

Déploiement en production : zoom sur les différentes approches 

Pour se démarquer, il faut être capable de déployer rapidement des modèles de Machine Learning, avec une mise en production permettant aux équipes d’utiliser les apports du système utilisé dans la vie réelle. On utilise alors des données réelles pour résoudre des problèmes réelles pour tout ou partie de l’organisation. 

Il n’existe pas de méthode unique pour y parvenir. Au contraire, différentes approches peuvent être utilisées selon les affinités et les objectifs de chacun. En matière d’intelligence artificielle, on va compter trois modèles principaux pour déployer des modèles de production à différents degrés de maturité. 

  • Le mode manuel. Il est souvent retenue pour tester un concept ou apporter la preuve de la valeur ou de l’utilité d’un modèle. Le principe : prendre un fichier de données, calculer les prédictions via un logiciel spécialisé ou un script interne (codé en Python, R, SAS…), puis l’exploiter en réponse à son besoin. 
    • Ses avantages : rapidité de mise en place, grandes compétences IT non nécessaires. 
    • Ses inconvénients : son manque de pérennité en raison d’erreurs et d’aspect chronophage sur le long terme. L’automatisation peut alors s’avérer plus pertinent. 
  • Le mode batch. Une fréquence est définie à l’avance pour scorer les données automatiquement, et rendre ensuite le score accessible par les outils opérationnels. 
    • Ses avantages : l’effort limité requis efficace pour les données volumineuses. 
    • Ses inconvénients : une fraîcheur de scores dépendante de la fréquence des mises à jour à même de limiter l’utilisation et la pertinence du modèle. 
  • Le mode à la demande. On cherche ici à obtenir en temps réel le résultat d’un scoring. L’objectif traditionnel : implémenter le modèle au plus près des données en vue de bénéficier des meilleures performances possibles, directement au sein des outils internes sur la base de langage comme le Java ou le C. 
    • Ses avantages : l’utilisation depuis quelques années de la méthode par API (Application Programming Interfaces) pour créer une interface normalisée entre deux logiciels sans intervention humaine, ce qui la rend très maintenable et donc plus pérenne. 
    • Ses inconvénients : une mise en oeuvre souvent plus compliquée que les modes manuel et batch avec transcription du modèle dans d’autres langages générant des erreurs et des difficultés de maintenance ou d’évolution. 

Chef de Projet Déploiement, Technicien Déploiement informatique, PMO Deploiement… Retrouvez tous les métiers autour du déploiement IT ici !

Comment choisir la bonne approche ?

  • L’enjeu de toute entreprise : rester compétitive et prendre en compte l’hétérogénéité des déploiements. 
  • L’entreprise devra ainsi, pour choisir la bonne méthode à employer, évaluer trois facteurs principaux : maturité data de l’entreprise, contexte et besoin. 
  • La politique de l’entreprise et la question du management interne définissent en effet le choix des outils et des techniques retenus sur ces éléments. 
  • Il faudra donc y réfléchir dès le début du projet, pour être en mesure de répondre avec pertinence aux enjeux de la mise en production : disponibilité, vitesse et bien sûr coût. 
  • On retrouve ainsi généralement une grande variété de mises en production, qui doivent reposer sur une grande agilité et une flexibilité sans faille pour répondre aux besoins de chaque département ou service de l’organisation. 

Et vous, quelle est votre approche préférée de déploiement en Machine Learning ? Partagez vos trucs et astuces !

Suivez au quotidien l’actualité du marché informatique sur notre blog, et trouvez votre prochain job sur Carriere-info !

Proudly powered by WordPress   Premium Style Theme by www.gopiplus.com