Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Service de modèles

Découvrez les bases du service de modèles : déployez des modèles d'IA pour des prédictions en temps réel, une évolutivité et une intégration transparente dans les applications.

Le service de modèle est la phase critique du cycle de vie de l'apprentissage automatique au cours de laquelle un modèle entraîné est hébergé sur un serveur ou un appareil pour traiter les demandes d'inférence en temps réel. serveur ou un appareil pour traiter les demandes d'inférence en temps réel. Une fois qu'un modèle d'apprentissage automatique a été formé et validé, il doit être intégré dans un environnement de production pour apporter une valeur ajoutée. entraîné et validé, il doit être intégré dans un environnement de production pour apporter de la valeur. Le service fait office de entre le fichier de modèle statique et les applications de l'utilisateur final, en écoutant les données entrantes - telles que les images ou le texte - via une API et en renvoyant les données à l'utilisateur final. texte - via une API et renvoie les prédictions du modèle. Ce processus permet aux systèmes logiciels d'exploiter capacités de modélisation prédictive instantanément et instantanément et à grande échelle.

Pour servir efficacement un modèle, il faut une architecture logicielle robuste capable de charger le modèle dans la mémoire, de gérer les ressources matérielles telles que les GPU et d'assurer la gestion des données. ressources matérielles telles que les GPU de traiter efficacement les requêtes. Alors que de simples scripts peuvent effectuer l'inférence, le service de production utilise souvent des frameworks spécialisés tels que des frameworks spécialisés tels que NVIDIA Triton Inference Server ou TorchServe. Ces outils sont optimisés pour gérer un débit élevé et une faible latence d'inférence. latence d'inférence, ce qui garantit que les restent réactives même en cas de fortes charges d'utilisateurs.

Composants essentiels d'une architecture de service

Une configuration de service complète implique plusieurs couches distinctes travaillant à l'unisson pour fournir des prédictions de manière fiable.

  • Moteur d'inférence: le logiciel de base responsable de l'exécution des opérations mathématiques du modèle. Les moteurs sont souvent optimisés pour un matériel spécifique, tel que TensorRT pour les GPU NVIDIA ou OpenVINO pour les CPU Intel , afin de maximiser les performances.
  • Interface API: Les applications communiquent avec le modèle servi par le biais de protocoles définis. Les API REST sont courantes pour l'intégration web en raison de leur simplicité, tandis que les API gRPC est privilégié pour les microservices internes nécessitant des performances élevées et une faible latence.
  • Registre des modèles: Un référentiel centralisé pour gérer les différentes versions des modèles formés. Ce registre Cela garantit que le système de service peut facilement revenir à une version précédente si le déploiement d'un nouveau modèle introduit des problèmes inattendus. déploiement d'un nouveau modèle introduit des problèmes inattendus.
  • Conteneurisation: Des outils tels que Docker empaquettent le modèle avec ses dépendances dans des conteneurs isolés. Cela garantit la cohérence dans différents environnements, de l'ordinateur portable d'un développeur à un cluster Kubernetes dans le cloud. cluster Kubernetes dans le nuage.
  • Équilibreur de charge: Dans les scénarios à fort trafic, un répartit les demandes d'inférence entrantes entre plusieurs répliques de sur plusieurs répliques de modèles afin d'éviter qu'un seul serveur ne devienne un goulot d'étranglement, ce qui garantit l'évolutivité. l 'évolutivité.

Mise en œuvre pratique

Pour servir efficacement un modèle, il est souvent utile de l'exporter dans un format standardisé tel que ONNXqui favorise l'interopérabilité entre les différents cadres de formation et les moteurs de service. L'exemple suivant montre comment charger un YOLO11 et d'exécuter l'inférence, en simulant la logique qui existerait à l'intérieur d'un point final de service. qui existerait à l'intérieur d'un point final de service.

from ultralytics import YOLO

# Load the YOLO11 model (this would happen once when the server starts)
model = YOLO("yolo11n.pt")

# Simulate an incoming request with an image source
image_source = "https://ultralytics.com/images/bus.jpg"

# Run inference to generate predictions
results = model.predict(source=image_source)

# Process and return the results (e.g., bounding boxes)
for box in results[0].boxes:
    print(f"Class: {box.cls}, Confidence: {box.conf}")

Applications concrètes

Model serving alimente des fonctions d'IA omniprésentes dans diverses industries en permettant une prise de décision immédiate basée sur des données. données.

  • Commerce de détail intelligent: Les détaillants utilisent l'IA dans le commerce de détail pour automatiser les processus d'encaissement. l 'IA dans le commerce de détail pour automatiser les processus de paiement. Des caméras équipées de modèles de détection d'objets identifient en temps réel les produits sur un tapis roulant et calculent le coût total sans scanner les codes-barres.
  • Assurance qualité: En milieu industriel, l 'IA dans les systèmes de fabrication utilise des pour inspecter les chaînes de montage. Des images haute résolution des composants sont envoyées à un serveur local, où le modèle détecte les défauts tels que les rayures ou les désalignements. Le modèle détecte les défauts tels que les rayures ou les désalignements, ce qui déclenche des alertes immédiates pour retirer les éléments défectueux.
  • Détection de la fraude financière: Les banques utilisent modèles de détection d'anomalies servis par des API sécurisées sécurisées pour analyser les données des transactions au fur et à mesure qu'elles se produisent. Si une transaction correspond à un modèle d'activité frauduleuse, le système peut la bloquer instantanément afin d'éviter les pertes financières. la bloquer instantanément afin d'éviter les pertes financières.

Service de modèles et déploiement de modèles

Bien qu'ils soient souvent utilisés de manière interchangeable, il est nécessaire de faire la distinction entre la mise à disposition de modèles et le déploiement de modèles. le déploiement du modèle. Le déploiement fait référence au processus plus large de diffusion d'un modèle dans un environnement de production. processus plus large de diffusion d'un modèle dans un environnement de production, qui comprend des étapes telles que les tests, l'empaquetage et la mise en place de l'infrastructure. l'infrastructure. Le service de modèle est l'aspect spécifique de l'exécution du déploiement - l'action d'exécuter le modèle et de traiter les demandes.

Pour être efficace, le service doit également faire l'objet d'une surveillance continue du modèle afin de detect la dérive des données, lorsque la distribution des données entrantes s'écarte des données d'apprentissage, ce qui peut de formation, ce qui peut nuire à la précision. Les plateformes modernes, telles que la future Ultralytics Platform, visent à unifier ces étapes, en offrant des transitions transparentes entre l'entraînement, le service et la surveillance. de la formation au service et à la surveillance.

Choisir la bonne stratégie

Le choix de la stratégie de service dépend fortement du cas d'utilisation. Le service en ligne fournit des réponses immédiates immédiates pour les applications en contact avec l'utilisateur, mais nécessite une faible latence. À l'inverse, le Batch Serving traite de gros volumes de données hors ligne, ce qui convient à des tâches telles que la génération de rapports nocturnes, pour lesquelles un retour d'information immédiat n'est pas essentiel. n'est pas critique. Pour les applications déployées sur du matériel distant, comme les drones ou les téléphones portables, Edge AI transfère le processus de service directement à l'appareil, éliminant ainsi la dépendance à la connectivité du cloud et réduisant les coûts de bande passante.

L'utilisation d'outils tels que Prometheus pour la collecte de métriques et Grafana pour la visualisation aide les équipes d'ingénieurs à track la santé de leur infrastructure de service. l'état de santé de leur infrastructure de service, en s'assurant que les modèles continuent à fournir des capacités de vision par ordinateur fiables longtemps après leur disparition. fiables longtemps après leur lancement initial . leur lancement initial.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant