MLOps : comment déployer et maintenir un modèle d’intelligence artificielle

TL;DR

  • Créer un modèle d’intelligence artificielle performant dans un environnement de développement ne suffit pas pour l’utiliser durablement en entreprise.
  • Le MLOps applique des pratiques inspirées du DevOps au cycle de vie des modèles d’apprentissage automatique. Il permet notamment de structurer la préparation des données, l’expérimentation, le versionnage, la validation, le déploiement, la surveillance et le réentraînement des modèles.
  • Un environnement MLOps bien conçu aide aussi les équipes à savoir quelle version d’un modèle est utilisée, avec quelles données elle a été entraînée et comment ses performances évoluent après son déploiement.

Un développeur crée un modèle d’intelligence artificielle capable d’effectuer des prédictions avec une excellente précision.

Les tests fonctionnent.

Le prototype semble prêt.

Mais que se passe-t-il ensuite?

Comment mettre le modèle à la disposition d’une application? Comment s’assurer que la bonne version est utilisée? Comment détecter une baisse de performance six mois plus tard? Et comment revenir à une version précédente si une mise à jour pose problème?

C’est là qu’intervient le MLOps.

Le MLOps, pour Machine Learning Operations, regroupe des pratiques permettant de transformer un modèle expérimental en une solution d’intelligence artificielle pouvant être déployée, surveillée et maintenue dans un environnement réel.

Qu’est-ce que le MLOps?

Le MLOps applique plusieurs principes issus du DevOps au développement et à l’exploitation de systèmes d’apprentissage automatique.

Dans un projet logiciel traditionnel, le code constitue généralement l’élément principal à tester et à déployer.

Dans un projet d’apprentissage automatique, plusieurs composantes doivent évoluer ensemble :

  • le code;
  • les données;
  • les paramètres du modèle;
  • les environnements logiciels;
  • les modèles entraînés;
  • les mesures de performance;
  • les configurations de déploiement.

Microsoft décrit notamment le MLOps comme l’application de principes DevOps au cycle de vie de l’apprentissage automatique afin de rendre les expérimentations, les déploiements et la gestion des modèles plus reproductibles et plus faciles à automatiser.

Le défi ne consiste donc plus uniquement à créer un bon modèle.

Il faut pouvoir le reproduire, le déployer, le surveiller et le remplacer de manière contrôlée.

Pourquoi entraîner un modèle ne suffit-il pas?

Prenons une entreprise québécoise qui développe un modèle capable de prévoir la demande pour certains produits.

Pendant les essais, les résultats sont satisfaisants.

Pour que le modèle devienne réellement utile, l’équipe doit encore déterminer :

comment lui transmettre de nouvelles données;

comment exposer ses prédictions à une application;

comment suivre ses performances;

comment identifier une anomalie;

comment gérer une nouvelle version;

comment revenir à l’ancienne version si nécessaire.

Le passage entre un carnet d’expérimentation et un système utilisé quotidiennement par une organisation représente souvent une grande partie du travail.

Le MLOps cherche précisément à structurer ce passage.

Étape 1 : préparer et contrôler les données

Les modèles d’apprentissage automatique dépendent fortement de leurs données.

Une modification dans les sources, les formats ou la qualité des données peut influencer directement leurs résultats.

Un processus MLOps doit donc permettre de savoir notamment :

d’où proviennent les données;

comment elles ont été transformées;

quelle version a été utilisée;

quelles règles de qualité ont été appliquées.

Cette traçabilité devient particulièrement importante lorsqu’une équipe doit reproduire un modèle plusieurs mois après sa création.

Sans documentation et versionnage, il peut être difficile de déterminer exactement pourquoi deux modèles entraînés avec un code similaire produisent des résultats différents.

Étape 2 : expérimenter sans perdre la trace des essais

Le développement d’un modèle implique généralement de nombreux essais.

L’équipe peut tester :

différents algorithmes;

plusieurs ensembles de variables;

des paramètres différents;

plusieurs versions des données.

Un environnement MLOps permet d’enregistrer les caractéristiques et les résultats de chaque expérimentation.

L’objectif est de pouvoir répondre à des questions simples, mais essentielles :

Quel modèle fonctionne le mieux?

Avec quelles données a-t-il été entraîné?

Quels paramètres ont été utilisés?

Qui a effectué cette expérimentation?

Cette capacité à retracer l’origine d’un modèle facilite ensuite sa validation et son déploiement.

Étape 3 : versionner le code, les données et les modèles

Dans un projet logiciel, Git permet par exemple de suivre les versions du code.

En intelligence artificielle, cela ne suffit pas toujours.

Une modification de données peut changer le comportement du modèle même si le code demeure identique.

Le MLOps ajoute donc généralement des mécanismes permettant de suivre différentes versions :

Code → données → expérimentation → modèle → déploiement

Les plateformes MLOps peuvent enregistrer des métadonnées comme l’expérience ayant produit un modèle, son environnement d’entraînement ou l’endroit où il est déployé.

Cette traçabilité aide aussi à comprendre les changements lorsqu’une nouvelle version produit des résultats inattendus.

Étape 4 : valider le modèle avant son déploiement

Le modèle ayant obtenu le meilleur résultat pendant l’entraînement n’est pas automatiquement prêt pour la production.

Il faut aussi vérifier :

sa performance sur de nouvelles données;

sa stabilité;

sa consommation de ressources;

son temps de réponse;

ses dépendances;

les exigences de sécurité;

les critères propres à l’organisation.

Une entreprise peut définir des seuils minimaux avant qu’un modèle puisse passer à l’étape suivante.

Par exemple :

Précision suffisante? → Oui

Tests automatisés réussis? → Oui

Temps de réponse acceptable? → Oui

Validation humaine obtenue? → Oui

Déploiement autorisé.

Cette logique permet de réduire les déploiements improvisés.

Étape 5 : déployer le modèle

Une fois validé, le modèle doit être rendu accessible aux systèmes qui l’utiliseront.

Il peut notamment être déployé derrière une interface de programmation d’applications (API).

Une application pourrait alors envoyer des données au modèle :

Entrée → modèle → prédiction → application

Prenons un exemple.

Une entreprise développe un modèle permettant d’évaluer la probabilité qu’un client cesse d’utiliser un service.

Son système de gestion de la relation client peut envoyer certaines données à l’API du modèle.

Le modèle retourne ensuite un résultat.

Ce résultat peut être utilisé par l’application pour aider un employé à déterminer les prochaines actions à envisager.

Le MLOps aide à rendre ce déploiement reproductible plutôt qu’à dépendre d’une série d’étapes manuelles difficiles à reproduire.

Spécialiste IA analysant la performance et la dérive d’un modèle d’apprentissage automatique en production
Le MLOps applique plusieurs principes issus du DevOps au développement et à l’exploitation de systèmes d’apprentissage automatique.

Qu’est-ce qu’un pipeline MLOps?

Un MLOps pipeline, ou chaîne de traitement MLOps, automatise plusieurs étapes répétitives du cycle de vie d’un modèle.

Une chaîne simplifiée peut ressembler à ceci :

Données → préparation → entraînement → évaluation → validation → déploiement → surveillance

Chaque étape peut comporter ses propres tests et conditions.

Par exemple, si le modèle n’atteint pas un certain seuil de performance, le processus peut s’arrêter automatiquement avant le déploiement.

Les chaînes d’apprentissage automatique reproductibles peuvent automatiser des étapes comme la préparation des données, l’entraînement et l’évaluation des modèles.

Cette automatisation réduit les tâches manuelles et facilite la répétition des mêmes procédures lorsqu’une nouvelle version doit être créée.

Étape 6 : surveiller un modèle après son déploiement

La mise en production ne constitue pas la fin du projet.

C’est même souvent le début d’une nouvelle phase.

Un modèle peut parfaitement fonctionner aujourd’hui et devenir moins performant dans quelques mois.

Pourquoi?

Parce que le monde réel change.

Les comportements des utilisateurs changent.

Les produits changent.

Les conditions économiques changent.

Les données utilisées par le système peuvent aussi évoluer.

Microsoft souligne que le comportement d’un système d’apprentissage automatique ne dépend pas uniquement de son code : les modifications dans la distribution des données, leur qualité ou l’environnement peuvent progressivement réduire la performance d’un modèle.

Une stratégie MLOps doit donc surveiller à la fois le système et le modèle.

Qu’est-ce que la dérive d’un modèle?

La notion de dérive est particulièrement importante en MLOps.

La dérive des données se produit lorsque les données rencontrées en production deviennent différentes de celles ayant servi à entraîner le modèle.

Imaginons un modèle entraîné à partir des habitudes d’achat observées pendant plusieurs années.

Une modification importante du marché pourrait changer les comportements des consommateurs.

Les nouvelles données ne ressemblent alors plus suffisamment aux données historiques.

La performance du modèle peut diminuer.

Les outils de surveillance peuvent comparer les distributions des nouvelles données avec celles utilisées comme référence et produire une alerte lorsqu’un écart important apparaît.

Attention toutefois : une dérive ne signifie pas automatiquement qu’un modèle doit être remplacé.

Elle indique plutôt qu’une analyse devient nécessaire.

Étape 7 : réentraîner et valider une nouvelle version

Lorsqu’un modèle perd en pertinence, l’équipe peut décider de le réentraîner avec de nouvelles données.

Mais il ne suffit pas de lancer automatiquement un nouvel entraînement et de remplacer immédiatement la version précédente.

Une approche plus prudente consiste à :

Nouvelle donnée → réentraînement → évaluation → comparaison → validation → nouveau déploiement

La nouvelle version doit généralement être comparée à celle déjà en production.

Microsoft recommande notamment que le réentraînement repose sur un processus répétable et que le nouveau modèle soit comparé à l’ancien selon des critères prédéfinis avant son remplacement.

Étape 8 : retirer un modèle lorsqu’il n’est plus nécessaire

Tous les modèles ne doivent pas rester en production indéfiniment.

Une organisation peut retirer un modèle lorsque :

son usage n’est plus pertinent;

une autre solution le remplace;

ses données ne sont plus disponibles;

son coût d’exploitation devient trop élevé;

il ne respecte plus les exigences de l’organisation.

Le retrait fait donc lui aussi partie du cycle de vie MLOps.

L’équipe doit pouvoir identifier les applications qui utilisent le modèle, gérer la transition et conserver les informations nécessaires à la traçabilité.

MLOps vs DevOps : quelle différence?

Le MLOps s’inspire fortement du DevOps, mais les deux approches ne gèrent pas exactement les mêmes objets.

Le DevOps vise principalement à améliorer la façon dont les équipes développent, testent et déploient des logiciels.

Le MLOps ajoute les particularités de l’apprentissage automatique.

Un logiciel traditionnel dépend surtout de son code et de sa configuration.

Un modèle d’IA dépend également des données qui lui ont permis d’apprendre.

C’est une différence importante.

Deux versions utilisant exactement le même code peuvent produire des modèles différents si elles sont entraînées sur des données différentes.

Le MLOps doit donc assurer une traçabilité beaucoup plus large.

MLOps, DevOps et DevSecOps : comment les distinguer?

On peut les voir comme trois approches complémentaires.

DevOps
Automatiser et fiabiliser le développement et le déploiement logiciel.

DevSecOps
Intégrer la sécurité directement aux processus de développement et de déploiement.

MLOps
Appliquer des pratiques opérationnelles au cycle de vie des modèles d’apprentissage automatique.

Dans un projet réel, ces concepts peuvent se chevaucher.

Une plateforme utilisant un modèle d’intelligence artificielle peut nécessiter :

DevOps pour l’application;

MLOps pour le modèle;

DevSecOps pour intégrer les contrôles de sécurité.

Pour approfondir cette dernière approche, consultez notre article sur le DevSecOps au Québec.

Quel est le rôle des environnements infonuagiques?

Les environnements infonuagiques sont souvent utilisés pour exécuter les processus MLOps.

Ils peuvent fournir :

des ressources de calcul pour l’entraînement;

des environnements reproductibles;

du stockage;

des registres de modèles;

des interfaces de déploiement;

des systèmes de surveillance.

L’utilisation de l’infonuagique n’est toutefois pas obligatoire.

L’enjeu principal reste de disposer d’une infrastructure permettant de reproduire, contrôler et surveiller les différentes étapes.

La sécurité fait aussi partie du MLOps

Un modèle utilisé en production devient une composante d’un système informatique.

Il doit donc être protégé.

Les équipes doivent notamment gérer :

les accès aux données;

les identités et autorisations;

les secrets et clés d’accès;

les API;

les environnements d’entraînement;

les modèles stockés;

les journaux;

les dépendances logicielles.

Les modèles et les données ne devraient pas être accessibles à toute l’organisation simplement parce qu’ils font partie d’un projet d’intelligence artificielle.

Le principe du moindre privilège demeure pertinent : chaque personne ou système reçoit uniquement les accès nécessaires à son rôle.

Pourquoi la documentation est-elle essentielle?

Le MLOps cherche aussi à éviter une situation assez classique :

« Le modèle fonctionne, mais la seule personne qui savait comment l’entraîner a quitté l’entreprise. »

Une documentation adéquate devrait notamment permettre de comprendre :

l’objectif du modèle;

les données utilisées;

ses principales limites;

les critères de validation;

la procédure de déploiement;

les indicateurs surveillés;

les conditions pouvant déclencher une réévaluation.

La documentation contribue donc à la continuité du projet autant qu’à sa gouvernance.

Professionnels travaillant au déploiement, la surveillance et le réentraînement d’un modèle IA
Le DevOps vise à améliorer la façon dont les équipes développent, testent et déploient des logiciels.

Exemple : une équipe québécoise met un modèle en production

Imaginons une entreprise québécoise qui développe un modèle permettant de prévoir le volume de demandes reçues par son service à la clientèle.

L’équipe expérimente plusieurs modèles.

La meilleure version est enregistrée avec ses données, son code et ses paramètres.

Des tests automatisés vérifient ensuite sa performance.

Le modèle est déployé derrière une API.

Une application interne utilise ses prédictions pour aider les gestionnaires à prévoir les besoins en personnel.

Après le déploiement, l’équipe surveille :

la qualité des données;

la performance du modèle;

le temps de réponse;

les erreurs techniques.

Quelques mois plus tard, les habitudes des clients changent.

La surveillance détecte une variation importante des données.

L’équipe lance un nouvel entraînement, compare la nouvelle version au modèle actuel et ne la déploie qu’après validation.

Voilà le principe du MLOps :

un cycle continu plutôt qu’un déploiement unique.

MLOps : du prototype à une solution IA durable

Le MLOps répond à une réalité simple : créer un modèle d’intelligence artificielle n’est qu’une étape.

Pour qu’un système puisse réellement être utilisé dans une organisation, il faut pouvoir :

reproduire → tester → déployer → surveiller → améliorer → retirer

Les pratiques MLOps permettent de structurer ce cycle et de réduire la dépendance aux opérations manuelles.

Elles aident également les organisations à mieux comprendre quelles versions de leurs modèles sont utilisées, comment elles ont été créées et si leurs performances demeurent acceptables.

Pour découvrir d’autres façons d’intégrer ces technologies dans un contexte organisationnel, consultez notre article sur l’IA en entreprise.

Développez vos compétences techniques en intelligence artificielle

Comprendre le MLOps demande de combiner plusieurs compétences : programmation, données, apprentissage automatique, intégration, API, automatisation, déploiement et surveillance.

Ces connaissances permettent de passer de la création d’un modèle à son utilisation dans un véritable environnement technologique.

Développez des compétences techniques en programmation, apprentissage machine, API, intégration et déploiement responsable de l’intelligence artificielle grâce à l’AEC Spécialiste en intelligence artificielle du Collège Cumberland.

FAQ

Qu’est-ce que le MLOps?

Le MLOps, ou Machine Learning Operations, regroupe des pratiques permettant de gérer le cycle de vie des modèles d’apprentissage automatique, de leur développement jusqu’à leur déploiement, leur surveillance et leur mise à jour.

Quelle est la différence entre MLOps et DevOps?

Le DevOps porte principalement sur le développement et l’exploitation de logiciels. Le MLOps applique certains de ces principes aux systèmes d’apprentissage automatique, qui nécessitent également de gérer les données, les expériences, les modèles et leur performance dans le temps.

Qu’est-ce qu’un pipeline MLOps?

Un MLOps pipeline est une chaîne automatisée reliant différentes étapes comme la préparation des données, l’entraînement, l’évaluation, la validation et le déploiement d’un modèle.

Comment déployer un modèle d’apprentissage machine?

Un modèle peut notamment être enregistré, empaqueté et déployé dans un environnement capable de recevoir des données et de retourner ses prédictions. Une API est souvent utilisée pour permettre à d’autres applications d’interagir avec le modèle.

Pourquoi surveiller un modèle après son déploiement?

Les données et les comportements peuvent changer après la mise en production. Cette évolution peut réduire progressivement la qualité des prédictions. La surveillance aide à détecter la dérive des données, la baisse de performance ou certains problèmes techniques.

Quelles compétences faut-il pour travailler en MLOps?

Les compétences peuvent inclure la programmation, l’apprentissage automatique, la gestion des données, les API, l’infonuagique, les chaînes automatisées, le versionnage, la surveillance des modèles et certaines pratiques DevOps.

Facebook
Twitter
LinkedIn

Remplissez ce formulaire pour
Recevoir plus d'informations

En soumettant ce formulaire, vous acceptez de recevoir des communications relatives au Collège Cumberland par courriel. Vous pouvez vous désinscrire à tout moment.

Related Articles

Gestionnaire utilisant un agent IA pour automatiser plusieurs étapes d’un processus d’affaires

Agents IA en entreprise : comment automatiser des tâches et des décisions

Découvrez le fonctionnement de l’IA agentique et cinq

hem_valentin 2 semaines ago

Professionnel en cybersécurité utilisant un outil DAST pour tester une application Web en fonctionnement

SAST vs DAST : quelles différences entre les tests de sécurité des applications?

Comparez les tests SAST et DAST : fonctionnement,

hem_valentin 3 semaines ago

Propriétaire d’une boutique québécoise configurant ses produits dans Google Merchant Center

Google Merchant Center : comment présenter les produits d’une boutique sur Google

En bref Google Merchant Center est l’outil qui permet à

hem_valentin 3 semaines ago