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 représente le délai entre le moment où un modèle d'apprentissage automatique (ML) reçoit une entrée (telle qu'une image ou une invite textuelle) et celui où il produit une sortie ou une prédiction correspondante. Dans le contexte de l' intelligence artificielle (IA), cette mesure est généralement exprimée en millisecondes (ms) et sert d'indicateur essentiel de la réactivité du système. Pour les développeurs qui créent des applications de vision par ordinateur, il est essentiel de comprendre et de réduire la latence afin de créer des expériences utilisateur fluides et interactives, en particulier lors du déploiement de modèles dans des environnements aux ressources limitées, tels que les téléphones mobiles ou les appareils embarqués.
L'importance de la latence d'inférence dépend fortement du cas d'utilisation spécifique. Si un délai de quelques secondes peut être acceptable pour une tâche de traitement par lots telle que l'analyse d' un rapport serveur nocturne, il est souvent inacceptable pour les applications interactives. Une faible latence est la pierre angulaire de l' inférence en temps réel, où les systèmes doivent traiter les données et réagir instantanément.
La réduction de la latence garantit que les agents IA peuvent interagir naturellement avec les humains et que les systèmes automatisés fonctionnent en toute sécurité. Une latence élevée peut entraîner des interfaces « lentes » , une faible fidélisation des utilisateurs ou, dans des scénarios critiques pour la sécurité, des défaillances opérationnelles dangereuses. Les ingénieurs doivent souvent trouver un équilibre entre la complexité du modèle, qui peut améliorer la précision, et la vitesse d'exécution.
Plusieurs composants techniques contribuent au temps total nécessaire pour un seul passage d'inférence :
L'impact de la latence d'inférence est mieux illustré par des exemples pratiques où la vitesse est non négociable.
Vous pouvez facilement mesurer la vitesse d'inférence des Ultralytics à l'aide du mode benchmark. Cela vous aide à sélectionner la taille de modèle adaptée à vos contraintes matérielles spécifiques.
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Benchmark the model on CPU to measure latency
# This provides a breakdown of preprocess, inference, and postprocess time
model.benchmark(data="coco8.yaml", imgsz=640, device="cpu")
Il est important de distinguer la latence du débit, car ce sont des concepts liés mais distincts dans le déploiement de modèles.
L'optimisation de l'un se fait souvent au détriment de l'autre. Par exemple, les applications d'IA en périphérie donnent généralement la priorité à la latence afin de garantir un retour immédiat, tandis que les tâches d'exploration de données basées sur le cloud peuvent privilégier le débit afin de traiter efficacement des ensembles de données volumineux.
Developers employ various strategies to minimize latency. Exporting models to optimized formats like ONNX or OpenVINO can yield significant speed improvements on standard CPUs. For mobile deployments, converting models to TFLite or CoreML ensures they run efficiently on iOS and Android devices. Furthermore, using lightweight architectures like MobileNet or the latest Ultralytics YOLO26 ensures that the foundational model is efficient by design. Users can also leverage the Ultralytics Platform to seamlessly deploy models to these optimized formats without complex manual configuration.