Model Serving
Apprends comment le service de modèles fait le pont entre les modèles entraînés et la production. Explore les stratégies de déploiement pour Ultralytics YOLO26 sur la plateforme Ultralytics.
Le service de modèles est le processus qui consiste à héberger un modèle d'apprentissage automatique entraîné et à rendre ses fonctionnalités accessibles aux applications logicielles via une interface réseau. Il fait office de pont entre un fichier de modèle statique enregistré sur un disque et un système en direct qui traite des données réelles. Une fois qu'un modèle a terminé la phase d'entraînement machine learning (ML), il doit être intégré dans un environnement de production où il peut recevoir des entrées (telles que des images, du texte ou des données tabulaires) et renoyer des prédictions. Pour ce faire, on enveloppe généralement le modèle dans une Application Programming Interface (API), ce qui lui permet de communiquer avec des serveurs web, des applications mobiles ou des appareils IoT.
Le rôle du service de modèles dans l'IA#
L'objectif principal du service de modèles est d'opérationnaliser efficacement les capacités de modélisation prédictive. Alors que l'entraînement se concentre sur la précision et la miniumisation des pertes, le service se concentre sur les métriques de performance telles que la latence (la vitesse à laquelle une prédiction est renvoyée) et le débit (le nombre de requêtes traitées par seconde). Une infrastructure de service robuste garantit que les systèmes de computer vision (CV) restent fiables sous de fortes charges. Cela implique souvent des technologies comme la conteneurisation à l'aide d'outils tels que Docker, qui empaquète le modèle avec ses dépendances pour assurer un comportement cohérent dans différents environnements informatiques.
Applications concrètes#
Le service de modèles alimente des fonctionnalités d'IA omniprésentes dans diverses industries en permettant une prise de décision immédiate basée sur les données.
- Fabrication intelligente : Dans les contextes industriels, les systèmes d'IA dans l'industrie manufacturière utilisent des modèles servis pour inspecter les lignes d'assemblage. Des images haute résolution des composants sont envoyées à un serveur local, où un modèle YOLO26 détecte les défauts tels que les rayures ou les désalignements, déclenchant des alertes immédiates pour retirer les articles défectueux.
- Automatisation de la vente au détail : Les détaillants utilisent l'IA dans la vente au détail pour améliorer l'expérience client. Des caméras alimentées par des modèles de détection d'objets identifient les produits dans une zone de caisse, calculant automatiquement le coût total sans nécessiter de lecture manuelle de codes-barres.
Mise en œuvre pratique#
Pour servir un modèle efficacement, il est souvent utile d'exporter les modèles vers un format standardisé comme ONNX, ce qui favorise l'interopérabilité entre différents frameworks d'entraînement et moteurs de service. L'exemple suivant montre comment charger un modèle et exécuter une inférence, simulant la logique qui existerait au sein d'un point de terminaison de service à l'aide de Python.
from ultralytics import YOLO
# Load the YOLO26 model (this typically happens once when the server starts)
model = YOLO("yolo26n.pt")
# Simulate an incoming API request with an image source URL
image_source = "https://ultralytics.com/images/bus.jpg"
# Run inference to generate predictions for the user
results = model.predict(source=image_source)
# Process results (e.g., simulating a JSON response to a client)
print(f"Detected {len(results[0].boxes)} objects in the image.")Choisir la bonne stratégie#
Le choix de la stratégie de service dépend fortement du cas d'utilisation spécifique. Le service en ligne fournit des réponses immédiates via des protocoles tels que REST ou gRPC, ce qui est essentiel pour les applications web destinées aux utilisateurs. À l'inverse, le service par lots traite de grands volumes de données hors ligne, ce qui convient à des tâches telles que la génération de rapports nocturnes. Pour les applications nécessitant de la confidentialité ou une faible latence sans dépendance à Internet, l'Edge AI déplace le processus de service directement sur l'appareil, en utilisant des formats optimisés comme TensorRT pour maximiser les performances sur du matériel contraint. De nombreuses organisations s'appuient sur la plateforme Ultralytics pour simplifier le déploiement de ces modèles sur divers points de terminaison, y compris les API cloud et les appareils edge.
Distinction avec les termes associés#
Bien qu'étroitement liés, le « Service de modèles » se distingue du déploiement de modèles et de l'inférence.
- Déploiement de modèles : Cela fait référence à l'étape plus large du cycle de vie consistant à lancer un modèle dans un environnement de production. Le service est le mécanisme ou le logiciel spécifique (comme NVIDIA Triton Inference Server ou TorchServe) utilisé pour exécuter le modèle déployé.
- Inférence : Il s'agit de l'acte mathématique consistant à calculer une prédiction à partir d'une entrée. Le service de modèles fournit l'infrastructure (réseau, évolutivité et sécurité) qui permet à l'inférence de se dérouler de manière fiable pour les utilisateurs finaux.
- Microservices : Le service est souvent conçu comme un ensemble de microservices, où le modèle s'exécute comme un service indépendant que d'autres parties d'une application peuvent interroger, en échangeant souvent des données dans des formats légers comme JSON.






