Déploiement du modèle
Découvrez l'essentiel du déploiement de modèles, en transformant les modèles de ML en outils réels pour les prédictions, l'automatisation et les informations basées sur l'IA.
Le déploiement d'un modèle est le processus critique d'intégration d'un modèle d'apprentissage machine (ML) entraîné dans un environnement de production réel où il peut recevoir des données et fournir des prédictions. Il s'agit de l'étape finale du cycle de vie de l'apprentissage automatique, qui transforme un fichier modèle statique en une application fonctionnelle génératrice de valeur. Sans un déploiement efficace, même le modèle le plus précis n'est qu'un exercice académique. L'objectif est de rendre le pouvoir prédictif du modèle accessible aux utilisateurs finaux, aux applications logicielles ou à d'autres systèmes automatisés de manière fiable et évolutive.
Qu'est-ce que le processus de déploiement ?
Le déploiement d'un modèle ne se limite pas à l'enregistrement des poids du modèle entraîné. Il s'agit d'un processus en plusieurs étapes qui garantit l'efficacité et la fiabilité du modèle dans son environnement cible.
- Optimisation des modèles: Avant d'être déployés, les modèles sont souvent optimisés en termes de vitesse et de taille. Des techniques telles que la quantification et l'élagage des modèles permettent de réduire les ressources informatiques nécessaires à l'inférence en temps réel, sans baisse significative de la précision.
- Exportation du modèle: Le modèle optimisé est ensuite converti dans un format adapté à la plateforme cible. Les modèles Ultralytics, par exemple, peuvent être exportés vers différents formats tels que ONNX, TensorRT et CoreML, ce qui les rend très polyvalents.
- Emballage: Le modèle et toutes ses dépendances (telles que les bibliothèques et les cadres spécifiques) sont regroupés. La conteneurisation à l'aide d'outils tels que Docker est une pratique courante, car elle crée un environnement autonome et portable qui garantit que le modèle s'exécute partout de manière cohérente.
- Servir: Le modèle packagé est déployé sur un serveur ou un appareil où il peut accepter des requêtes via une API. Ce composant, connu sous le nom de service de modèle, est chargé de traiter les données entrantes et de renvoyer les prédictions.
- Contrôle: Après le déploiement, il est essentiel d'assurer une surveillance continue du modèle. Il s'agit de suivre les mesures de performance, la latence et l'utilisation des ressources pour s'assurer que le modèle fonctionne comme prévu et pour détecter des problèmes tels que la dérive des données.
Environnements de déploiement
Les modèles peuvent être déployés dans une variété d'environnements, chacun avec ses propres avantages et défis.
- Plateformes en nuage: Des services comme Amazon Web Services (AWS), Google Cloud Platform (GCP) et Microsoft Azure offrent une infrastructure puissante et évolutive pour l'hébergement de modèles complexes.
- Serveurs sur site: Les organisations qui ont des exigences strictes en matière de confidentialité des données ou qui ont besoin d'un contrôle total sur leur infrastructure peuvent déployer des modèles sur leurs propres serveurs.
- Dispositifs d'IA périphérique: L'Edge AI consiste à déployer des modèles directement sur du matériel local, tel que des smartphones, des drones, des capteurs industriels ou des appareils spécialisés comme le NVIDIA Jetson. Cette approche est idéale pour les applications nécessitant une faible latence d'inférence et des capacités hors ligne.
- Navigateurs web: Les modèles peuvent être exécutés directement dans un navigateur web à l'aide de frameworks tels que TensorFlow.js, ce qui permet des expériences d'IA interactives sans traitement côté serveur.
Applications dans le monde réel
- Contrôle de la qualité de la fabrication: Un modèle YOLO d'Ultralytics formé à la détection des défauts peut être déployé sur un appareil périphérique dans une usine. Le modèle, optimisé avec TensorRT pour un débit élevé, est intégré à une caméra surplombant un tapis roulant. Il effectue une détection d'objets en temps réel pour identifier les produits défectueux, signalant instantanément à un bras robotisé de les retirer. L'ensemble du processus se déroule localement, ce qui minimise les délais du réseau et garantit une action immédiate. Pour plus d'informations, voir comment l 'IA est appliquée dans l'industrie manufacturière.
- Analyse intelligente du commerce de détail: Un modèle de vision artificielle pour le comptage et le suivi des personnes est déployé sur des serveurs en nuage. Les caméras d'un magasin de détail diffusent des vidéos vers le cloud, où le modèle traite les flux pour générer des cartes thermiques de flux de clients et analyser les schémas d'achat. L'application est gérée avec Kubernetes pour gérer des charges variables provenant de plusieurs magasins, fournissant des informations précieuses pour la gestion des stocks et l'optimisation de l'agencement des magasins.
Déploiement de modèles, service de modèles et MLOps
Bien qu'étroitement liés, ces termes sont distincts.
- Déploiement du modèle vs. service du modèle: Le déploiement est l'ensemble du processus de bout en bout qui consiste à prendre un modèle formé et à le rendre opérationnel. Le service de modèle est un composant spécifique du déploiement qui fait référence à l'infrastructure responsable de l'exécution du modèle et de la réponse aux demandes de prédiction, souvent par le biais d'une API.
- Déploiement du modèle vs. MLOps: Les opérations d'apprentissage automatique (MLOps) sont un vaste ensemble de pratiques qui englobent l'ensemble du cycle de vie de l'IA. Le déploiement est une phase critique au sein du cadre MLOps, qui comprend également la gestion des données, l'entraînement des modèles, la gestion des versions, ainsi que la surveillance et le recyclage continus. Des plateformes comme Ultralytics HUB offrent un environnement intégré pour gérer l'ensemble de ce flux de travail, de la formation de modèles personnalisés au déploiement et à la surveillance en continu.