Qu’est-ce que le déploiement de modèles ?

Auteurs

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

Qu’est-ce que le déploiement de modèles ?

Le déploiement de modèles consiste à placer un modèle de machine learning (ML) dans un environnement de production. Le passage d'un modèle du stade de développement à celui de la production le met à la disposition des utilisateurs finaux, des développeurs de logiciels et d'autres applications logicielles et systèmes d'intelligence artificielle (IA).

Déployer les modèles de machine learning est une phase cruciale du cycle de vie de l'IA. Les data scientists, les développeurs d'IA et les chercheurs en IA travaillent généralement sur les premières étapes des projets de science des données et de ML, notamment la collecte et la préparation des données, le développement de modèles, l'entraînement de modèles et l'évaluation de modèles. Le déploiement de modèles est la prochaine étape qui permet d’intégrer la recherche dans le monde réel. Une fois déployé, un modèle IA est véritablement testé, non seulement en termes d'inférence ou de performance en temps réel sur de nouvelles données, mais aussi sur la façon dont il résout les problèmes pour lesquels il a été conçu.

Selon une enquête de Gartner, l' IA générative est la solution d'IA la plus fréquemment déployée dans les entreprises, mais à peine la moitié (environ 48 %) des projets d'IA sont mis en production.1 Ce n’est que lorsqu’un modèle de machine learning est déployé que sa valeur réelle peut émerger. Les utilisateurs peuvent interagir avec un modèle et bénéficier de ses informations, tandis que les entreprises peuvent employer l’analyse et les prévisions d’un modèle pour la prise de décision et gagner en efficacité grâce à l'automatisation.

Les dernières tendances en matière d’IA, vues par des experts

Obtenez des informations sur les actualités les plus importantes et les plus intrigantes en matière d’intelligence artificielle. Abonnez-vous à notre newsletter hebdomadaire Think. Lire la Déclaration de confidentialité d’IBM.

Merci ! Vous êtes abonné(e).

Vous recevrez votre abonnement en anglais. Vous trouverez un lien de désabonnement dans chaque newsletter. Vous pouvez gérer vos abonnements ou vous désabonner ici. Consultez la Déclaration de confidentialité d’IBM pour plus d’informations.

Méthodes de déploiement des modèles

Les entreprises peuvent choisir entre différentes approches de déploiement en fonction des applications et des cas d’utilisation qu’elles envisagent pour leurs nouveaux modèles. Voici quelques méthodes courantes de déploiement de modèles :

  • En temps réel
  • Par lots
  • Streaming
  • Edge

En temps réel

Le déploiement en temps réel implique l'intégration d'un modèle pré-entraîné dans un environnement de production capable de gérer immédiatement les entrées et les sorties de données. Cette méthode permet de mettre à jour en permanence les modèles de ML en ligne et de générer des prédictions rapidement à mesure que de nouvelles données arrivent.

Les prévisions instantanées peuvent conduire à une meilleure expérience utilisateur et à une augmentation de l’engagement des utilisateurs. Mais le déploiement en temps réel nécessite également une infrastructure informatique haute performance avec des temps de réponse rapides et une mise en cache pour gérer les requêtes synchrones à faible latence.

Le déploiement en temps réel peut être mis en œuvre pour les applications d'IA telles que les moteurs de recommandation diffusant rapidement des suggestions ou les chatbots fournissant une assistance en direct aux clients.

Par lots

Le déploiement par lots implique un traitement hors ligne des entrées de données. Les jeux de données sont regroupés en lots, puis appliqués périodiquement à des algorithmes de machine learning. Ainsi, le déploiement par lots n’a pas besoin d’une infrastructure aussi robuste que le déploiement en temps réel.

Cette méthode convient aux énormes volumes de données qui peuvent être traités de manière asynchrone, tels que les transactions financières, les dossiers médicaux ou les documents juridiques. Les cas d’utilisation du déploiement incluent l’analyse de documents, forecasting, la génération de descriptions de produits, la classification d’images et l’analyse des sentiments.

Streaming

Le déploiement en continu transmet des flux réguliers de données à un système de machine learning pour des calculs continus et des prévisions en temps quasi réel. Ils nécessitent généralement la même infrastructure que les déploiements en temps réel.

Cette méthode peut être utilisée pour la détection des fraudes et les applications de l’Internet des objets (IdO) comme la surveillance des centrales électriques et la gestion du trafic qui reposent sur des flux de données de capteurs.

Edge

Le déploiement périphérique fait référence au déploiement de modèles d’IA sur des appareils périphériques tels que les smartphones et les appareils portables. Cette méthode peut être utilisée pour les applications d’edge IA de pointe, notamment la surveillance de la santé, les expériences mobiles personnalisées, la maintenance prédictive et le routage prédictif sur les véhicules autonomes.

AI Academy

Devenir un expert en IA

Obtenez les connaissances nécessaires pour privilégier les investissements dans l’IA qui favorisent la croissance commerciale. Lancez-vous dès aujourd’hui avec notre AI Academy gratuite et menez l’avenir de l’IA au sein de votre organisation.

Déploiement de modèles et MLOps

Les opérations de machine learning (MLOps) sont un ensemble de pratiques pensées pour créer une ligne d’assemblage pour déployer, surveiller, gérer et améliorer les modèles de machine learning dans les environnements de production. Le MLOps s’appuie sur les principes du DevOps, qui visent à rationaliser le développement, les tests et le déploiement d’applications logicielles traditionnelles, et les applique au cycle de vie du machine learning.

Le déploiement de modèles n’est qu’un composant du pipeline MLOps. Cependant, certaines étapes du processus de déploiement de modèles se recoupent avec celles du MLOps.

Fonctionnement du déploiement du modèle

Le déploiement du modèle peut varier selon les systèmes informatiques d'une entreprise et des procédures DevOps ou MLOps déjà en place. Mais le processus comprend généralement la série d’étapes suivante :

  1. Planification
  2. Configuration
  3. Packaging et déploiement
  4. Tests
  5. Surveillance
  6. Intégration continue et déploiement continu (CI/CD)

Planification

Avant même que le déploiement ne commence, les entreprises doivent préparer le processus. Voici comment les entreprises peuvent se préparer sur le plan technique au cours de la phase de planification :

  • Assurez-vous que le modèle de ML est prêt pour la production.
  • Créez un registre de modèles pour magasin, suivre et gérer les versions du modèle.
  • Choisissez une méthode de déploiement.
  • Sélectionnez le type d’environnement de déploiement, qu’il soit sur site, via des services de cloud computing ou sur des appareils périphériques d'edge.
  • Évaluez la disponibilité et l’adéquation des ressources de calcul telles que les processeurs, les GPU, la mémoire et le stockage.

C’est également le moment d’élaborer un calendrier de déploiement, de définir les rôles et les responsabilités des personnes concernées et de créer des lignes directrices claires et des workflows standardisés pour le processus de déploiement du modèle.

Configuration

Tout comme la planification, la configuration est une phase à plusieurs étapes. Voici ce qui se passe généralement à ce stade :

  • Toutes les dépendances nécessaires, telles que les cadres et les bibliothèques, sont installées.
  • Les paramètres de l’environnement de production sont configurés pour optimiser les performances du modèle.
  • Des mesures de sécurité, telles que le contrôle d’accès, l’authentification et le chiffrement, sont établies pour protéger les données et les modèles.
  • Les stratégies actuelles de sauvegarde et de reprise après sinistre sont modifiées pour intégrer les modèles de ML ainsi que les données et l’infrastructure qui les accompagnent.

Documenter toutes les procédures d’installation et tous les paramètres de configuration est essentiel pour identifier et résoudre les problèmes futurs.

Conditionnement et déploiement

Le modèle et ses dépendances sont empaquetés dans un conteneur (une technique appelée conteneurisation) afin de maintenir la cohérence, quelle que soit la méthode de déploiement et l’environnement choisis. Le modèle empaqueté est ensuite chargé dans l’environnement de production.

Tests

Des tests approfondis sont essentiels pour valider que le modèle déployé fonctionne comme prévu et est capable de gérer les cas edge et les instances erronées. Les tests consistent à vérifier les prédictions du modèle par rapport aux résultats attendus à l’aide d’un échantillon de jeux de données et à s’assurer que les performances du modèle correspondent aux indicateurs d’évaluation et aux critères de référence clés.

Les tests d'intégration sont un autre composant nécessaire de la suite de tests. Ces tests vérifient que le modèle fusionne de façon fluide avec l’environnement de production et interagit avec d’autres systèmes. De plus, des tests de charge sont effectués pour observer comment le modèle gère les workloads élevées.

Comme pour la phase de configuration, il est important de documenter les tests qui ont été effectués et leurs résultats. Cela permet d’identifier les améliorations qui peuvent être apportées avant de livrer ou de mettre le modèle à disposition des utilisateurs.

Surveillance

Le suivi de la performance des modèles, en particulier de la dérive, est la tâche critique de la surveillance des modèles. Les informations obtenues grâce à la surveillance continue alimentent le réentraînement itératif des modèles, dans lequel les modèles sont mis à jour avec des algorithmes améliorés ou de nouvelles données d’entraînement contenant des échantillons plus récents et plus pertinents, permettant d’affiner leurs performances.

Les indicateurs essentiels tels que les taux d’erreur, la latence, l’utilisation des ressources et le débit doivent également être enregistrés à l’aide d’outils de surveillance. La surveillance des modèles intervient immédiatement après le déploiement, mais relève généralement du MLOps à long terme.

Intégration continue et déploiement continu (CI/CD)

Les pratiques combinées d’intégration continue et de déploiement continu (appelées CI/CD) permettent d’automatiser et de rationaliser le déploiement et le test des modèles de ML. L’implémentation de pipelines CI/CD permet de garantir que les mises à jour et les améliorations des modèles peuvent être facilement et rapidement appliquées, ce qui se traduit par un déploiement plus efficace et des cycles de livraison accélérés.

Plateformes et outils de déploiement de modèles

Une multitude de plateformes et d’outils sont disponibles pour aider les entreprises à accélérer les workflows de déploiement de modèles. Avant d’adopter ces technologies, les organisations doivent évaluer leur compatibilité avec leur pile technologique et leur écosystème informatique existants.

Contrôle des versions

Les systèmes de contrôle des versions et les registres de modèles enregistrent les versions des modèles et les sources de données et métadonnées associées. Les choix incluent Data Version Control (DVC), Git, GitLab et Poids et biais.

Conditionnement

Docker est une plateforme open source largement utilisée pour la conteneurisation. Il est compatible avec les fournisseurs de services cloud tels qu’Amazon Web Services (AWS), Google Cloud, IBM Cloud et Microsoft Azure. Les alternatives incluent l'interface de ligne de commande Buildah (CLI), Podman et Rancher Desktop.

Orchestration

Kubernetes est une plateforme d’orchestration de conteneurs open source bien connue pour planifier et automatiser le déploiement d’applications conteneurisées. Kubernetes et Docker sont généralement utilisés en tandem. Des outils d'orchestration similaires incluent Red Hat OpenShift, Amazon Elastic Container Service (ECS) et des solutions Kubernetes gérées comme Azure Kubernetes Service (AKS) et IBM Cloud Kubernetes Service.

Déploiement

Il existe plusieurs plateformes pour déployer des modèles. Par exemple, BentoML est une plateforme basée sur Python qui permet de servir des modèles de ML comme points de terminaison d’interface de programmation d’application (API) et même de grands modèles de langage (LLM) comme points de terminaison d’API. Kubeflow facilite le déploiement des modèles sur Kubernetes, tandis que TensorFlow Serving est un système de service open source pour les modèles TensorFlow.

Pendant ce temps, d’autres plateformes facilitent non seulement le déploiement, mais aussi la gestion des workflows de machine learning. Il s'agit notamment d'Amazon SageMaker, d'Azure Machine Learning, de Google Vertex AI Platform, d'IBM Watson Studio et de MLflow.

CI/CD

Les outils CI/CD automatisent le déploiement et les tests des modèles. Parmi les outils courants, citons le machine learning continu (CML), les actions GitHub, le CI/CD de GitLab et Jenkins.

Les défis du déploiement de modèles

Déployer des modèles d'apprentissage profond comporte de nombreuses composantes, ce qui peut en faire une entreprise complexe. Voici quelques défis associés au déploiement de modèles :

  • Coût
  • Complexité
  • Intégration
  • Évolutivité

Coût

Le déploiement de modèles peut s’avérer coûteux, les coûts d’infrastructure et de maintenance représentant la majeure partie du budget. Les entreprises doivent être prêtes à investir dans une infrastructure et des ressources robustes pour un déploiement efficace.

Complexité

L’automatisation du déploiement des modèles peut contribuer à réduire la complexité, mais les équipes doivent tout de même comprendre les bases du machine learning et se familiariser avec les nouvelles technologies de déploiement. Combler ce fossé nécessite une formation et un perfectionnement professionnel. 

Intégration

L'intégration de modèles IA dans les systèmes informatiques actuels peut être un défi. Une évaluation détaillée peut aider les entreprises à déterminer si des API, des middlewares ou des mises à niveau sont nécessaires pour une connexion et une communication transparentes entre les modèles et d’autres systèmes.

Évolutivité

Adapter les modèles à la demande sans dégrader les performances peut s’avérer délicat. L'implémentation de mécanismes d'Auto-Scaling et d'équilibrage de charge permet de prendre en charge plusieurs requêtes et différents workloads.

Solutions connexes
IBM watsonx.ai

Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.

Découvrir watsonx.ai
Solutions d’intelligence artificielle

Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.

Découvrir les solutions d’IA
Conseils et services en matière d’IA

Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.

Découvrir les services d’IA
Passez à l’étape suivante

Bénéficiez d’un accès centralisé aux fonctionnalités couvrant le cycle de développement de l’IA. Produisez des solutions IA puissantes offrant des interfaces conviviales, des workflows et un accès à des API et SDK conformes aux normes du secteur.

Découvrir watsonx.ai Réserver une démo en direct