MLOps
Dans le monde du développement logiciel traditionnel, un ensemble de pratiques connues sous le nom de DevOps a permis d’envoyer des logiciels en production en quelques minutes et d’en assurer le fonctionnement de manière fiable. DevOps s’appuie sur des outils, l’automatisation et des flux de travail pour éliminer la complexité accidentelle et permettre aux développeurs de se concentrer sur les problèmes réels à résoudre. Cette approche a connu un tel succès que de nombreuses entreprises la maîtrisent déjà. Dès lors, pourquoi ne pouvons-nous pas simplement continuer à faire la même chose pour le Machine Learning ?
Un processus où se mêlent code et données
La raison principale est qu’il existe une différence fondamentale entre le langage évolué et les logiciels traditionnels : Le Machine Learning n’est pas seulement du code, c’est du code et des données. Un modèle Machine Learning, l’artefact que vous finissez par mettre en production, est créé en appliquant un algorithme à une masse de données d’entraînement, qui affectera le comportement du modèle en production. De manière cruciale, le comportement du modèle dépend également des données d’entrée qu’il recevra au moment de la prédiction, ce que vous ne pouvez pas savoir à l’avance.
Alors que le code est élaboré dans un environnement de développement contrôlé, les données proviennent de cette source d’entropie sans fin qu’est « le monde réel ». Une façon utile d’envisager leur relation est de dire que le code et les données vivent dans des plans séparés, qui partagent la dimension temporelle mais sont indépendants dans tous les autres. Le défi d’un processus de ML consiste à créer un pont entre ces deux plans de manière contrôlée.
Cette déconnexion fondamentale est à l’origine de plusieurs défis importants qui doivent être résolus par quiconque tente de mettre un modèle ML en production avec succès, par exemple : un déploiement lent, fragile et incohérent, le manque de reproductibilité, la réduction des performances (biais de formation).
L’ingénierie des données fournit des outils et des concepts importants qui sont indispensables pour résoudre l’énigme du machine learning en production. Pour le résoudre, nous devons combiner des pratiques issues de DevOps et de l’ingénierie des données, en ajoutant certaines pratiques propres au machine learning.
Définition et points forts des MLOps
Nous pourrions définir ML Ops comme suit : il s’agit d’un ensemble de pratiques combinant le Machine Learning, le DevOps et le Data Engineering, qui vise à déployer et à maintenir les systèmes ML en production de manière fiable et efficace.
Parmi les nombreux aspects positifs du ML, quelques avantages de premier ordre sont directement liés à la capacité de toute organisation à rester pertinente et à se développer dans ce monde axé sur la technologie et l’information.
La plupart des experts s’accordent sur les impacts positifs du ML :
– Innovation rapide grâce à une gestion robuste du cycle de vie de l’apprentissage automatique.
– Création de flux de travail et de modèles reproductibles.
– Déploiement facile de modèles de haute précision en tout lieu.
– Gestion efficace de l’ensemble du cycle de vie de l’apprentissage machine. Système de gestion et de contrôle des ressources d’apprentissage automatique.