Model Deployment
Apprends comment déployer des modèles de machine learning dans le cloud ou en périphérie. Découvre comment la plateforme Ultralytics rationalise l'exportation et la production pour YOLO26.
Le déploiement de modèle est la phase critique où un modèle d'apprentissage automatique entraîné est intégré dans un environnement de production pour prendre des décisions ou des prédictions pratiques basées sur de nouvelles données. Il représente la transition d'un cadre de recherche ou expérimental — souvent réalisé dans des notebooks isolés — vers une application en direct où le modèle interagit avec des utilisateurs et des systèmes du monde réel. Ce processus transforme un fichier statique de poids et d'architecture en un AI agent actif capable de générer de la valeur, comme l'identification d'objets dans un flux vidéo ou la recommandation de produits sur un site web.
Un déploiement efficace nécessite de relever des défis distincts de model training, notamment la latence, l'évolutivité et la compatibilité matérielle. Les organisations utilisent souvent la Ultralytics Platform pour rationaliser ce cycle de vie, garantissant que les modèles entraînés dans le cloud peuvent être livrés de manière transparente à divers environnements, allant de serveurs puissants à des appareils de périphérie aux ressources limitées.
Le paysage du déploiement#
Les stratégies de déploiement se répartissent généralement en deux catégories : le déploiement cloud et le déploiement en périphérie (edge). Le choix dépend fortement des exigences spécifiques en matière de vitesse, de confidentialité et de connectivité.
- Déploiement Cloud : Le modèle réside sur des serveurs centralisés, souvent gérés par des services comme AWS SageMaker ou Google Vertex AI. Les applications envoient des données sur Internet au modèle via une REST API, qui traite la requête et renvoie le résultat. Cette méthode offre une puissance de calcul pratiquement illimitée, ce qui la rend idéale pour les grands modèles complexes, mais elle repose sur une connectivité Internet stable.
- Déploiement en périphérie : Le modèle s'exécute localement sur l'appareil où les données sont générées, tel qu'un smartphone, un drone ou une caméra d'usine. Cette approche, connue sous le nom de edge computing, minimise la latence et améliore la confidentialité des données puisque les informations ne quittent pas l'appareil. Des outils comme TensorRT sont fréquemment utilisés pour optimiser les modèles pour ces environnements.
Préparation des modèles pour la production#
Avant qu'un modèle ne puisse être déployé, il subit généralement une optimisation pour garantir qu'il s'exécute efficacement sur le matériel cible. Ce processus implique le model export, où le format d'entraînement (comme PyTorch) est converti en un format adapté au déploiement tel que ONNX (Open Neural Network Exchange) ou OpenVINO.
Des techniques d'optimisation telles que la quantization réduisent la taille du modèle et son empreinte mémoire sans sacrifier significativement la précision. Pour garantir la cohérence entre différents environnements informatiques, tu utilises souvent des outils de containerization comme Docker, qui regroupent le modèle avec toutes ses dépendances logicielles nécessaires.
Voici un exemple de la façon d'exporter un YOLO26 model au format ONNX, une étape courante dans la préparation du déploiement :
from ultralytics import YOLO
# Load the YOLO26 nano model
model = YOLO("yolo26n.pt")
# Export the model to ONNX format for broad compatibility
# This creates a file suitable for various inference engines
path = model.export(format="onnx")
print(f"Model successfully exported to: {path}")Applications concrètes#
Le déploiement de modèles alimente des systèmes de computer vision largement utilisés dans divers secteurs.
- Contrôle qualité dans la fabrication : Dans la smart manufacturing, les modèles déployés surveillent les bandes transporteuses en temps réel. Un système de caméra exécutant un modèle optimisé pour les appareils NVIDIA Jetson peut détecter instantanément les défauts dans les produits, déclenchant un bras robotique pour retirer les articles défectueux. Cela nécessite une latence ultra-faible que seul le déploiement edge AI peut offrir.
- Analytique pour le commerce de détail : Les magasins utilisent des modèles déployés pour analyser le trafic piétonnier et le comportement des clients. En intégrant des modèles d'object tracking dans les flux des caméras de sécurité, les détaillants peuvent générer des cartes thermiques des allées populaires. Ces informations aident à optimiser l'agencement des magasins et à améliorer l'inventory management, en utilisant souvent un déploiement basé sur le cloud pour agréger les données de plusieurs emplacements.
Déploiement vs Inférence vs Entraînement#
Il est important de distinguer le Déploiement de modèle des termes associés dans le cycle de vie de l'apprentissage automatique :
- L'entraînement de modèle est la phase éducative où l'algorithme apprend des modèles à partir d'un ensemble de données.
- Le déploiement de modèle est la phase d'intégration où le modèle entraîné est installé dans une infrastructure de production (serveurs, applications ou appareils).
- L'inférence est la phase opérationnelle — l'acte réel du modèle déployé traitant des données en direct pour produire une prédiction. Par exemple, l'inference engine exécute les calculs définis par le modèle déployé.
Surveillance et maintenance#
Le déploiement n'est pas la fin du parcours. Une fois en ligne, les modèles nécessitent un model monitoring continu pour détecter des problèmes tels que le data drift, où les données du monde réel commencent à diverger des données d'entraînement. Des outils tels que Prometheus ou Grafana sont souvent intégrés pour suivre les métriques de performance, garantissant que le système reste fiable au fil du temps. Lorsque les performances chutent, le modèle peut devoir être réentraîné et redeployé, complétant ainsi le cycle de MLOps.






