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 de machine learning (ML)

S'inspirant des principes DevOps et GitOps, le MLOps a pour but d'établir une évolution continue pour l'intégration des modèles de ML 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 de ML 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 de machine learning 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 de ML 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 de ML. 

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 de ML 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.

Lire l'étude Total Economic Impact™

Ressources Red Hat

L'adoption d'une approche MLOps élimine le travail manuel fastidieux qu'implique la maintenance d'un modèle de machine learning, 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 ML. 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.

5 principales façons d'adopter des pratiques MLOps dans votre entreprise

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 de machine learning. 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 de ML 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 de ML é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 de ML 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 de ML 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 de ML) 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 de machine learning, 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 intelligentes 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 de machine learning.

Étape 2 : entraînement des modèles

Les modèles de ML 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 de ML 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 de ML 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. 

En savoir plus sur la solution d'IA de Red Hat

Que vous étudiez les solutions pour adopter le machine learning ou que vous travailliez déjà avec des pipelines de ML, 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 de machine learning 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 le machine learning 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 de ML 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 de ML 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 de ML 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. 

Comment choisir une plateforme pour l'IA et le MLOps

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 de machine learning. L'exécution de Kubeflow sur OpenShift aide à standardiser les opérations de machine learning 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.

En savoir plus sur le ML sur OpenShift

Hub

Le blog officiel de Red Hat

Découvrez les dernières informations concernant notre écosystème de clients, partenaires et communautés.

Tous les essais de produits Red Hat

Profitez de nos essais gratuits de produits Red Hat pour renforcer votre expérience pratique, préparer une certification ou évaluer l'adéquation d'un produit avec les besoins de votre entreprise.

En savoir plus

La famille de modèles Granite, qu'est-ce que c'est ?

La famille Granite regroupe des grands modèles de langage qui ont été créés par IBM pour les applications d'entreprise. Les modèles de fondation Granite peuvent prendre en charge les cas d'utilisation de l'intelligence artificielle générative qui reposent sur un langage spécifique et du code.

Génération augmentée de récupération et réglage fin

La génération augmentée de récupération (RAG) et le réglage fin sont deux méthodes différentes qui permettent d'améliorer les grands modèles de langage (LLM). Avec la RAG, le modèle n'est pas altéré, tandis que le réglage fin nécessite d'en ajuster les paramètres.

Kubernetes au service de l'IA/AA

Kubernetes peut assurer la portabilité, l'évolutivité et la reproductibilité cohérente du code dans divers environnements, un avantage clé pour les charges de travail d'IA/AA.

IA/ML : ressources recommandées