Qu’est-ce que le MLOps et pourquoi est-ce important, le MLOps ou opérations d’apprentissage automatique est un élément essentiel pour un déploiement réussi d’un projet de science des données dans l’entreprise.
Il s’agit d’un processus qui se déploie, se gère et surveille à l’aide d’outils appelés solutions MLOps et qui aide les organisations et les chefs d’entreprise à générer de la valeur à long terme et à réduire les risques associés aux initiatives de science des données, d’apprentissage automatique et d’Intelligence artificielle.
Si de manière générale le machine learning vous intéresse, découvrez dans cet article tout ce qu’il y a à savoir sur le MLOps et pourquoi est-ce important pour votre entreprise d’adopter cette discipline d’ingénierie ?
Sommaires
Qu’est-ce que le MLOps ?
MLOps est la contraction de ML (pour « machine learning ») et de DevOps, qui lui-même la contraction de l’anglais « development » et « operations ». Il s’agit d’une discipline d’ingénierie dont l’objectif est l’unification de deux domaines : le développement des systèmes Machine Learning et le déploiement de systèmes de Machine Learning. L’unification de ces derniers aboutit à la normalisation de la livraison de modèles d’apprentissage automatique en production.
Pour information, un modèle mis en production signifie tout simplement un modèle qui est utilisé dans la vie réelle.
Le MLOps peut aussi être vu comme un ensemble de règles visant à déployer et à maintenir des modèles d’apprentissage automatique en production de manière fiable et efficace.
L’application de ces pratiques augmente la qualité, simplifie le processus de gestion et automatise le déploiement des modèles de Machine Learning et Deep Learning dans des environnements de production à grande échelle.
Enfin, on peut aussi définir le MLOpsc comme un travail global pour gérer l’ensemble du cycle de vie de modèles de machine learning. Cela inclut leur développement, leur déploiement et enfin leur suivi.
Les phases clés du MLOps
Voici les phases clés de la gestion des opérations d’apprentissage automatique. Il s’agit d’un processus qui engage de nombreux outils techniques, une organisation des équipes et des processus adaptés. L’ensemble du processus peut ressembler un peu à ce qui suit :
-
Collecter et traiter les données brutes :
les données brutes sont rarement dans un format sur lequel il est facile d’entraîner un modèle de ML. Habituellement, il nécessite un traitement pour supprimer les points de données aberrants tels que les valeurs nulles et les valeurs de données erronées. D’autres fois, vous devrez peut-être traiter les données brutes pour extraire uniquement les informations dont vous avez besoin parmi tout le bruit.
-
Analyser les données :
cette étape consiste à examiner les points de données et à comprendre leurs caractéristiques. Comment est-il structuré ? À quoi ressemble la distribution des points de données ? Existe-t-il des tendances ou des biais identifiables dans les données ? Cette étape est cruciale, car elle dicte la façon dont vous allez aborder le problème.
Si vous avez déjà un modèle que vous souhaitez mettre à jour, il vous indique également s’il existe de nouvelles tendances dans les données que votre modèle doit être mis à jour pour prendre en compte.
-
Traiter les données pour l’apprentissage :
dans cette étape, vous pourriez mettre à l’échelle les données dans une plage plus appropriée et peut-être supprimer les valeurs aberrantes et/ou les anomalies qui pourraient interférer avec les performances du modèle. En outre, vous pouvez également appliquer l’ingénierie des fonctionnalités pour créer de nouvelles fonctionnalités à partir de points de données existants.
-
Construisez, entraînez et testez le modèle :
dans cette étape, vous créez le modèle, définissez des hyperparamètres et entraînez le modèle.
-
Déployer et surveiller le modèle :
à cette étape, le modèle a finalement quitté les mains de l’équipe d’apprentissage automatique/science des données. Il appartient désormais aux équipes d’ingénierie et d’exploitation de l’intégrer dans l’application et de le mettre en service.
Les équipes opérationnelles sont chargées de surveiller en permanence les performances du modèle, les baisses de performances indiquant peut-être que tout ce processus devra peut-être être répété pour mettre à jour le modèle afin de comprendre les nouvelles tendances. Les équipes opérationnelles sont également chargées de signaler tout bogue et prédiction de modèle inattendue à l’équipe de science des données, un retour d’information qui contribue également au démarrage de tout ce cycle car le modèle doit être corrigé.
Pourquoi le MLOps est-il important ?
Comme évoqué plus haut, le MLOps est la normalisation et la rationalisation de la gestion du cycle de vie de l’apprentissage automatique. Mais pourquoi le cycle de vie de l’apprentissage automatique doit-il être rationalisé ?
Il y a trois raisons principales pour lesquelles la gestion des cycles de vie du machine learning à grande échelle est difficile :
- Il existe de nombreuses dépendances. Non seulement les données changent constamment, mais les besoins des entreprises changent également. Les résultats doivent être continuellement transmis à l’entreprise pour s’assurer que la réalité du modèle en production et sur les données de production correspond aux attentes et, surtout, résout le problème d’origine ou atteint l’objectif initial.
- Tout le monde ne parle pas la même langue. Même si le cycle de vie de l’apprentissage automatique implique des personnes issues des équipes métier, data science et informatique, aucun de ces groupes n’utilise les mêmes outils ni même, dans de nombreux cas, ne partage les mêmes compétences fondamentales pour servir de base de communication.
- Les data scientists ne sont pas des ingénieurs logiciels. La plupart sont spécialisés dans la construction et l’évaluation de modèles, et ils ne sont pas nécessairement des experts en rédaction de candidatures.
Les autres défis et objectifs des MLOps
En permettant des opérations sûres et fiables, MLOps est essentiel pour atténuer les risques induits par l’utilisation de modèles ML.
-
MLOps pour atténuer les risques induits par l’utilisation de modèles ML
En matière de modèles d’apprentissage automatique, les risques varient considérablement. Par exemple, les enjeux sont bien moindres pour un moteur de recommandation utilisé une fois par mois pour décider quelle offre marketing envoyer à un client que pour un site de voyage dont la tarification et les revenus dépendent d’un modèle de machine learning.
Les risques sont généralement plus importants pour les modèles largement déployés et utilisés en dehors de l’organisation.
-
MLOps pour une IA responsable
Le MLOps permet aussi une utilisation responsable du machine learning (plus communément appelée IA responsable). Celle-ci recouvre deux dimensions principales :
-
Intentionnalité
Veiller à ce que les modèles soient conçus et se comportent de manière alignée sur leur objectif. Cela inclut l’assurance que les données utilisées pour les projets d’IA proviennent de sources conformes et impartiales, ainsi qu’une approche collaborative des projets d’IA qui garantit de multiples freins et contrepoids sur les biais potentiels du modèle.
L’intentionnalité inclut également l’explicabilité, ce qui signifie que les résultats des systèmes d’IA devraient être explicables par les humains. Idéalement, pas seulement par les humains qui ont créé le système !
-
Responsabilité
La responsabilité consiste à avoir une vue d’ensemble des équipes qui utilisent quelles données, comment et dans quels modèles. Cela inclut également le besoin d’avoir confiance que les données sont fiables et collectées conformément à la réglementation, ainsi qu’une compréhension centralisée des modèles utilisés pour quels processus métier.
-
MLOps pour bénéficier des économies d’échelle
MLOps n’est pas seulement important parce qu’il permet d’atténuer le risque de modèles d’apprentissage automatique en production, c’est aussi un élément essentiel pour déployer massivement les efforts de machine learning et bénéficier à son tour des économies d’échelle correspondantes.
Passer d’un ou une poignée de modèles en production à des dizaines, des centaines ou des milliers qui ont un impact commercial positif nécessite une discipline MLOps.
Comment choisir un bon outil MLOps pour ses projets ?
Se procurer les bons outils pour votre entreprise est une étape critique dans la conception d’une implémentation MLOps réussie.
Voici les fonctionnalités de base qui doivent être présentes dans l’outil MLOps que vous aurez choisi :
- La gestion de données ;
- La gestion des versions et stockage des modèles ;
- La formation et déploiement du modèle ;
- La validation du modèle ;
- L’intégration continue & livraison continue (CI/CD) ;
- Et enfin, le suivi du modèle.
De préférence, choisissez également un outil MLOPs qui permet d’exécuter des tâches dans l’environnement de votre choix et un qui prend en charge des produits IoT.
Sachant que près de 52 % des projets d’IA sont freinés par la qualité, la quantité ou l’accès des données, évitez les solutions qui ne proposent pas une gestion simplifiée des données.
Pour finir, évitez aussi les outils MLOps qui ne permettent pas l’automatisation de la formation du modèle. L’automatisation réduisent le temps de formation des nouveaux modèles en appliquant les principes CI/CD au développement de modèles.
Pour conclure, nous dirons: Que le MLOps se veut être une adaptation du DevOps aux problématiques spécifiques du Machine Learning.
Antonio Rodriguez Directeur Clever Technologies.