Raccourcis

Le MLOps, qu'est-ce que c'est ?

Copier l'URL

Acronyme de Machine Learning Operations, le MLOps désigne un ensemble de pratiques de gestion des workflows qui vise à rationaliser le déploiement et la maintenance des modèles d'apprentissage automatique (AA).

S'inspirant des principes DevOps et GitOps, le MLOps a pour but d'établir une évolution continue pour l'intégration des modèles d'AA au développement logiciel. Grâce à l'adoption du MLOps, les équipes informatiques, d'ingénierie et de data scientists peuvent veiller de manière synchronisée à l'exactitude et à la mise à jour des modèles d'AA en rationalisant la boucle d'entraînement itératif. Les phases de surveillance, de réentraînement et de déploiement peuvent ainsi être continues, ce qui permet aux modèles de s'adapter à l'évolution des données et de fournir des performances maximales de manière durable.

 

Consulter l'infographie sur le MLOps

Les modèles d'apprentissage automatique réalisent des prédictions à partir de schémas identifiés au sein des données. À mesure que le modèle évolue et reçoit de nouvelles données pour lesquelles il n'a pas été entraîné se pose un problème appelé « dérive des données ». Ce phénomène se produit inévitablement au fil du temps, lorsque les propriétés statistiques utilisées pour entraîner un modèle d'AA deviennent obsolètes. Il peut avoir des répercussions négatives sur l'entreprise s'il n'est pas traité et corrigé.

Pour éviter cette dérive, il est primordial de surveiller les modèles et de maintenir un haut niveau de justesse des prédictions. L'adoption des pratiques MLOps est bénéfique pour les équipes, parce qu'elles améliorent la qualité et la précision des modèles prédictifs. De plus, elles contribuent à simplifier la gestion, à éviter la dérive des données et à renforcer l'efficacité des data scientists.

Une entreprise qui applique les principes MLOps profite notamment des avantages suivants :

Reproductibilité : parce qu'il permet de suivre et gérer les modifications apportées au code, aux données et aux fichiers de configuration associés aux différents modèles, le framework MLOps assure la reproductibilité constante des expériences d'AA. 

Intégration et déploiement continus (CI/CD) : les frameworks MLOps s'intègrent aux pipelines CI/CD, ce qui permet d'automatiser les tests, la validation et le déploiement. Cette approche accélère le développement et la distribution, et favorise une culture de l'amélioration continue.

Amélioration de la collaboration et accélération des cycles : grâce à l'adoption des principes MLOps, les membres de l'équipe peuvent collaborer plus efficacement, être plus productifs et éviter les goulets d'étranglement. En outre, grâce à l'automatisation des tâches manuelles, l'entreprise peut déployer davantage de modèles plus rapidement et les itérer plus fréquemment, avec à la clé une précision optimale.

Réduction des coûts : la mise en place des ajustements et des améliorations nécessaires pour préserver la précision d'un modèle d'AA est une tâche fastidieuse, notamment s'il s'agit d'un processus manuel. L'automatisation avec le MLOps permet aux entreprises d'économiser des ressources qui auraient autrement été allouées à des tâches manuelles chronophages. Cette approche minimise également le risque d'erreurs manuelles et réduit le délai de rentabilisation grâce à la rationalisation du processus de déploiement.

Renforcement de la gouvernance et du niveau de conformité : les pratiques MLOps facilitent l'application des mesures de sécurité et la mise en conformité avec les réglementations en matière de protection des données. Le suivi des performances et de la précision permet de surveiller la dérive du modèle lors de l'ingestion de nouvelles données, et aussi de maintenir de façon proactive un haut niveau de justesse au fil du temps.

L'adoption d'une approche MLOps élimine le travail manuel fastidieux qu'implique la maintenance d'un modèle d'apprentissage automatique, et permet aussi d'assurer les performances et la fiabilité de ce modèle dans le temps. Grâce à la rationalisation de la collaboration entre les différentes équipes, cette approche MLOps favorise l'agilité du développement et la prise de décision basée sur des données au sein des entreprises. 

Dans de nombreux secteurs, le MLOps permet d'automatiser et de simplifier le processus de développement de l'AA. Voici quelques exemples de cas d'utilisation du MLOps.

Maintenance prédictive : pour prédire les pannes des équipements et planifier la maintenance de manière proactive.

Détection des fraudes : pour concevoir et déployer des modèles qui surveillent les transactions en continu à la recherche d'activités suspectes.

Traitement du langage naturel : pour garantir l'efficacité et la fiabilité des applications telles que les chatbots, les outils de traduction et autres grands modèles de langage.

Vision par ordinateur : pour prendre en charge des tâches telles que l'analyse d'images médicales, la détection d'objets et la conduite autonome. 

Détection des anomalies : pour détecter les variations inhabituelles dans divers contextes, parmi lesquels la sécurité du réseau, les processus industriels et les appareils IoT (Internet des objets).

Santé : pour déployer des modèles spécialisés dans le diagnostic de maladies, la prédiction de l'évolution de l'état des patients et l'analyse d'images médicales. 

Vente au détail : pour gérer les inventaires, prévoir la demande, optimiser les prix et améliorer l'expérience d'achat des clients.

Le MLOps peut être considéré comme une évolution du DevOps. Il repose sur les mêmes concepts fondamentaux de collaboration, d'automatisation et d'amélioration continue que ceux appliqués au développement des modèles d'apprentissage automatique. Le MLOps et le DevOps partagent le même objectif : améliorer la collaboration avec l'équipe d'exploitation informatique pour faciliter la gestion et la maintenance d'un logiciel ou d'un modèle d'AA tout au long de son cycle de vie. 

Le DevOps s'axe davantage sur l'automatisation des tâches d'exploitation courantes et la rationalisation des environnements pour le développement et le déploiement. Plus expérimental, le MLOps explore différentes manières de gérer des pipelines de données et d'en assurer la maintenance. Dans la mesure où les données utilisées dans les modèles d'AA évoluent en permanence, le modèle doit aussi évoluer au même rythme, ce qui nécessite une adaptation et un ajustement constants. 

Les opérations de test, de déploiement et de production du MLOps sont aussi différentes de celles du DevOps. Pour cette raison, les équipes au sein d'un projet d'AA incluent souvent des data scientists qui ne sont pas nécessairement spécialisés dans l'ingénierie logicielle, mais qui concentrent leurs efforts sur l'analyse de données d'exploitation, ainsi que sur le développement et l'expérimentation de modèles. Le MLOps couvre des tâches qui ne sont généralement pas prises en compte dans le modèle DevOps, notamment :

  • les tests pour la validation de données, l'évaluation de la qualité du modèle entraîné et la validation du modèle ;
  • la création d'un pipeline à plusieurs étapes pour réentraîner et déployer automatiquement un modèle d'AA dès qu'il reçoit de nouvelles données ;
  • le suivi des statistiques récapitulatives des données et la surveillance des performances en ligne du modèle pour identifier les valeurs non conformes aux attentes.

Il existe aussi des différences au niveau de l'approche CI/CD entre les deux modèles. Dans le cadre du MLOps, l'intégration continue ne consiste plus simplement à tester et valider le code et les composants (comme dans le cadre du DevOps). Il faut aussi tester et valider les données, les schémas de données et les modèles. Et le déploiement continu ne se limite plus à un paquet logiciel ou à des services, mais inclut un système (un pipeline d'entraînement d'AA) qui doit automatiquement déployer un autre service (service de prédiction de modèle).

Il n'existe pas de méthode unique pour créer et mettre en œuvre des modèles d'apprentissage automatique, mais il existe toutefois un besoin constant de rassembler et préparer des données, de développer des modèles, de transformer des modèles en applications basées sur l'IA et d'en dégager du chiffre d'affaires.

La solution Red Hat® OpenShift® inclut des fonctionnalités clés qui permettent d'appliquer les principes MLOps de manière cohérente dans les datacenters, dans le cloud public et sur les sites d'edge computing. Ce processus comprend cinq étapes :

Étape 1 : collecte/préparation des données
Les données structurées ou non structurées sont recueillies, nettoyées et étiquetées dans un format adapté à l'entraînement et au test des modèles d'apprentissage automatique.

Étape 2 : entraînement des modèles

Les modèles d'AA sont testés sur des notebooks Jupyter sur Red Hat OpenShift.

Étape 3 : automatisation

La solution Red Hat OpenShift Pipelines fournit une fonctionnalité d'intégration continue basée sur les événements qui permet de mettre en paquet des modèles d'AA sous forme d'images de conteneurs.

Étape 4 : déploiement

L'opérateur Red Hat OpenShift GitOps automatise le déploiement à grande échelle des modèles d'AA dans les clouds publics, privés et hybrides, ainsi qu'en périphérie du réseau.

Étape 5 : surveillance

Grâce aux outils mis à disposition via notre écosystème de partenaires, les équipes peuvent surveiller les modèles et les mettre à jour si besoin, en relançant un nouveau cycle d'entraînement et de déploiement. À mesure que de nouvelles données sont ingérées, le processus revient à l'étape 1, puis suit indéfiniment les cinq étapes de manière continue et automatique. 

Que vous étudiez les solutions pour adopter l'apprentissage automatique ou que vous travailliez déjà avec des pipelines d'AA, il peut être utile de comprendre comment vos workflows et processus s'intègrent au MLOps d'un point de vue global. La maturité d'un processus d'apprentissage automatique est généralement évaluée selon trois niveaux, en fonction du degré d'automatisation du workflow. 

Niveau 0 du MLOps : processus entièrement manuel

Les équipes qui commencent seulement à utiliser l'apprentissage automatique ont souvent recours à un workflow entièrement manuel. À ce stade, les data scientists qui créent le modèle ne collaborent pas avec l'équipe d'ingénierie qui le met en œuvre, et chaque étape du processus (préparation des données et entraînement, automatisation, déploiement et surveillance du modèle) est exécutée sans automatisation. Il n'y a ni intégration continue (CI), ni déploiement continu (CD). Les nouvelles versions du modèle sont déployées de manière irrégulière, et chaque nouveau modèle déployé présente le risque de ne pas pouvoir s'adapter aux changements. 

Niveau 1 du MLOps : pipeline d'AA automatisé

Il est judicieux de commencer à automatiser le workflow si le modèle a besoin de s'adapter de manière proactive à de nouveaux facteurs. Avec un pipeline automatisé, les nouvelles données sont mises en boucle pour l'entraînement continu, ce qui permet au modèle d'accéder aux informations les plus pertinentes pour les services de prédiction. 

Niveau 2 du MLOps : système CI/CD automatisé

À ce niveau, les mises à jour du modèle d'AA sont fiables et rapides. Le modèle est réentraîné chaque jour, voire chaque heure avec de nouvelles données, et les mises à jour sont déployées simultanément sur des milliers de serveurs. Ce système permet aux équipes d'ingénierie et de data scientists de travailler en harmonie dans un environnement unifié et collaboratif. 

Concevoir ou acheter une plateforme

Les entreprises peuvent choisir de concevoir leur propre plateforme MLOps ou d'en acheter une prête à l'emploi. Au moment de choisir, il faut prendre en compte les ressources et le temps disponibles. Il peut falloir parfois plus d'une année pour concevoir une infrastructure d'AA opérationnelle, et il peut être encore plus long de déterminer la manière de concevoir un pipeline capable de générer de la valeur pour l'entreprise. En outre, la maintenance d'une infrastructure nécessite un workflow de gestion du cycle de vie ainsi qu'une équipe spécialisée. Si votre équipe ne dispose pas des compétences requises ni de la possibilité de se former, il peut être pertinent d'investir dans une plateforme MLOps prête à l'emploi. 

Notre gamme de produits OpenShift AI associe les capacités éprouvées de Red Hat OpenShift et de Red Hat OpenShift Data Science. Elle fournit aux entreprises une plateforme d'applications unique qui simplifie l'intégration de l'IA aux applications à grande échelle, de manière sécurisée et cohérente. Les équipes de développement d'applications et de data scientists peuvent ainsi collaborer plus facilement.

La gamme Red Hat OpenShift AI inclut des fonctionnalités clés qui permettent d'appliquer les principes MLOps de manière cohérente dans les datacenters, dans le cloud public et sur les sites d'edge computing. 

Kubeflow est un framework Open Source natif pour Kubernetes destiné au développement, à la gestion et à l'exécution des charges de travail d'apprentissage automatique. L'exécution de Kubeflow sur OpenShift aide à standardiser les opérations d'apprentissage automatique sous forme de projets, tout en exploitant la puissance du cloud computing. Le framework Kubeflow est principalement utilisé pour la préparation des données, ainsi que l'entraînement, l'évaluation, l'optimisation et le déploiement de modèles.

Pour aller plus loin

Article

Tout savoir sur les opérateurs Red Hat OpenShift

Red Hat OpenShift Operators automate the creation, configuration, and management of instances of Kubernetes-native applications.

Article

Pourquoi choisir le service Red Hat OpenShift Serverless ?

Red Hat OpenShift Serverless étend les capacités de Kubernetes pour le déploiement et la gestion des charges de travail severless.

Article

Pourquoi choisir Red Hat OpenShift Service Mesh ?

Avec la solution Red Hat OpenShift Service Mesh, vous disposez d'un outil unique pour connecter, gérer et surveiller vos applications basées sur des microservices.

En savoir plus sur OpenShift

Produits

Une plateforme d'applications d'entreprise comprenant un ensemble unifié de services testés conçus pour distribuer des applications sur votre choix d'infrastructure.

Système de stockage logiciel qui héberge les données de façon permanente en parallèle de la mise en route et de l'arrêt des conteneurs et entre plusieurs environnements.

Solution de sécurisation des conteneurs native pour Kubernetes et adaptée aux entreprises, qui permet de créer, de déployer et d'exécuter des applications cloud-native de manière sécurisée.

Console unique pour le contrôle des clusters et applications Kubernetes, avec des politiques de sécurité intégrées.

Ressources

Formations

Cours gratuit

Présentation technique de l'exécution de conteneurs avec Red Hat

Cours gratuit

Développement d'applications cloud-native avec des architectures de microservices

Cours gratuit

Présentation technique du déploiement d'applications conteneurisées