Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Latence d'inférence

Optimisez les performances de l'IA avec une faible latence d'inférence. Découvrez les facteurs clés, les applications concrètes et les techniques permettant d'améliorer les réponses en temps réel.

La latence d'inférence est le temps qui s'écoule entre le moment où un modèle d'apprentissage machine (ML) reçoit une entrée et le moment où il la reçoit. modèle d'apprentissage machine (ML) recevant une entrée et la production d'une sortie correspondante. Cette mesure, généralement exprimée en millisecondes (ms), est un facteur déterminant de la réactivité d'un modèle d'apprentissage automatique. la réactivité des systèmes d'intelligence systèmes d'intelligence artificielle (IA). Pour les développeurs et les ingénieurs travaillant sur des projets de sur des projets de vision artificielle (CV), la latence est souvent aussi critique que la maximisation de la précision, notamment lors du déploiement d'applications qui interagissent avec des humains ou des machines physiques. Une latence élevée se traduit par lenteur des performances, alors qu'une faible latence crée une expérience utilisateur transparente et permet une prise de décision immédiate, un concept fondamental pour les systèmes de vision modernes. concept fondamental des systèmes systèmes intelligents modernes.

L'importance d'une faible latence

Dans le domaine du déploiement de modèles, la vitesse à laquelle un système traite les données dicte sa faisabilité pour des tâches spécifiques. Dans le domaine du déploiement de modèles, la vitesse à laquelle un système traite les données dicte sa faisabilité pour des tâches spécifiques. La faible latence de l'inférence est la pierre angulaire de l'inférence en temps réel. l'inférence en temps réel, où les prédictions doivent dans un délai très court pour être exploitables. Par exemple, un délai de quelques centaines de millisecondes peut être acceptable pour un système de recommandation sur un site web d'achat, mais il peut être catastrophique pour les systèmes critiques de sécurité. Comprendre les exigences de latence spécifiques d'un projet au début du cycle de développement permet aux équipes de sélectionner les architectures de modèles et les configurations matérielles appropriées pour garantir la fiabilité.

Facteurs clés influençant la latence

Plusieurs éléments variables contribuent au temps total requis pour une seule passe d'inférence :

  • Modèle d'architecture: La conception structurelle d'un réseau neuronal (RN) influe fortement sur sa vitesse. Les modèles profonds comportant de nombreuses couches, tels que les transformateurs, nécessitent intrinsèquement plus de que les réseaux neuronaux que les réseaux neuronaux convolutionnels (CNN) légers. Les architectures telles que YOLO11 sont optimisées pour équilibrer la profondeur et la vitesse pour une exécution efficace.
  • Accélération matérielle: Le choix de l'unité de traitement est essentiel. Alors qu'une unité de traitement standard CPU standard gère bien les tâches générales, le matériel spécialisé tel qu'un GPU (Graphics Processing Unit) ou un TPU (Tensor Processing Unit) est est conçu pour paralléliser les opérations matricielles requises par les modèles d'IA, ce qui permet de réduire considérablement le temps de calcul. NVIDIA CUDA est un exemple courant de logiciel facilitant cette cette accélération.
  • Résolution d'entrée: Le traitement d'images ou de trames vidéo plus grandes nécessite davantage de ressources informatiques. La réduction de la taille de l'entrée (par exemple, de 640p à 320p) peut réduire la latence, mais potentiellement au détriment de la détection des petits objets, un compromis exploré dans le cadre de l'étude de l'utilisation de la technologie de l'information dans le domaine de la santé. petits objets, un compromis étudié dans les études EfficientNet.
  • Optimisation du modèle: Techniques telles que quantification du modèle - conversion despoids de la virgule flottante 32 bits à virgule flottante en entiers de 8 bits et l'élagage du modèle permettent de supprimer les calculs redondants. Les outils comme ONNX Runtime sont spécifiquement conçus pour réduire la latence sur le matériel cible.

Applications concrètes

L'impact pratique de la latence d'inférence est mieux compris à travers des cas d'utilisation concrets où la vitesse n'est pas négociable.

  1. Conduite autonome: En l 'IA dans les applications automobiles, les véhicules doivent percevoir en permanence leur environnement. Un système de système de détection d'objets identifiant un piéton traversant la rue doit traiter les images des caméras et déclencher les systèmes de freinage en quelques millisecondes. Un temps de latence excessif augmente la distance de freinage, ce qui compromet directement la sécurité. La recherche sur la latence des sur la latence des véhicules autonomes montrent que des retards peuvent conduire à des situations dangereuses.
  2. Robotique industrielle: Pour l 'IA dans le secteur manufacturier, les robots Les robots "pick-and-place" à grande vitesse s'appuient sur des systèmes de vision pour localiser les articles sur un tapis roulant qui se déplace rapidement. Si le temps de latence de l'inférence dépasse le temps pendant lequel l'objet est à la portée du robot, le système échoue. La mise en œuvre de solutions d'IA solutions d'intelligence artificielle en périphérie garantit que les données sont traitées localement sur l'appareil, éliminant ainsi les délais de réseau. sur l'appareil, éliminant ainsi les retards de réseau associés à l'informatique en nuage. l 'informatique en nuage.

Latence d'inférence vs. Débit

Il est essentiel de différencier la "latence" du "débit", car ils sont souvent inversement liés. d'optimisation inversement liés.

  • La latence d'inférence se concentre sur le temps nécessaire pour une prédiction unique. C'est la principale pour les applications interactives à utilisateur unique telles que les les assistants virtuels ou robots autonomes.
  • Le débit mesure le nombre de prédictions qu'un système peut traiter sur une période donnée (par exemple, images par seconde). par seconde). Un débit élevé est généralement obtenu en augmentant la taille du lot, qui traite plusieurs entrées simultanément. Cependant, la mise en lot augmente souvent le temps de latence pour chaque élément individuel en attente dans la file d'attente.

Il s'agit d'un compromis entre latence et débit oblige les développeurs à adapter leurs pipelines d'inférence aux besoins spécifiques de l'environnement de déploiement.

Mesurer la latence avec Ultralytics

Vous pouvez évaluer la performance des modèles Ultralytics en utilisant le mode benchmark intégré. Cet outil fournit des des mesures détaillées sur la vitesse d'inférence dans différents formats tels que ONNX ou TorchScript.

from ultralytics import YOLO

# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")

# Benchmark the model on CPU to measure latency
# Results will display inference time per image in milliseconds
model.benchmark(data="coco8.yaml", imgsz=640, device="cpu")

Optimisation de la production

Pour obtenir la latence la plus faible possible, les développeurs utilisent souvent un moteur d'inférence adapté à leur matériel. moteur d'inférence adapté à leur matériel. Par exemple, le déploiement d'un modèle sur un appareil NVIDIA Jetson par exemple, le déploiement d'un modèle sur un appareil NVIDIA Jetson utilisant l'optimisation l 'optimisationTensorRT peut produire des accélérations significatives par rapport à l'exécution de TensorRT bruts. l'exécution d'un modèle PyTorch brut. De même, l'utilisation de Intel OpenVINO peut accélérer les performances sur les architectures sur les architectures CPU standard. Ces outils optimisent le graphe de calcul, fusionnent les couches et gèrent la mémoire plus efficacement que les cadres de formation standard. mémoire plus efficacement que les cadres de formation standard.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant