Glossaire

Moteur d'inférence

Découvre comment les moteurs d'inférence alimentent l'IA en fournissant des prédictions en temps réel, en optimisant les modèles et en permettant un déploiement multiplateforme.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

Dans le domaine de l'intelligence artificielle (IA) et de l'apprentissage automatique (ML), un moteur d'inférence est un composant logiciel ou matériel crucial chargé d'exécuter des modèles formés pour faire des prédictions sur de nouvelles données inédites. Après qu'un modèle a appris des modèles pendant la phase de formation, le moteur d'inférence prend ce modèle formé et l'applique aux entrées du monde réel. Ce processus, connu sous le nom d'inférence, permet aux systèmes d'IA d'effectuer des tâches telles que la détection d'objets, la classification d'images ou le traitement du langage naturel (NLP) dans des applications pratiques. C'est essentiellement le cœur opérationnel d'un modèle d'IA déployé, qui traduit efficacement les connaissances apprises en résultats exploitables.

Comment fonctionnent les moteurs de déduction

Un moteur d'inférence utilise un modèle pré-entraîné, souvent développé à l'aide de frameworks d'apprentissage profond (DL) comme PyTorch ou TensorFlow, qui encapsule les connaissances nécessaires à une tâche spécifique. Lorsque de nouvelles données (par exemple, une image, un clip audio ou une phrase de texte) sont fournies en entrée, le moteur d'inférence les traite à travers la structure de calcul du modèle (souvent un réseau neuronal). Cela génère un résultat, tel que l'identification d'objets avec des boîtes de délimitation dans une image, la transcription de la parole ou la classification des sentiments. Ultralytics YOLO par exemple, dépendent de moteurs d'inférence efficaces pour réaliser la détection et la segmentation d' objets en temps réel sur différentes plateformes, qu'il s'agisse de puissants serveurs dans le nuage ou d'appareils périphériques aux ressources limitées. Les performances du moteur d'inférence ont un impact direct sur la vitesse et la réactivité de l'application, souvent mesurées par la latence et le débit de l'inférence.

Optimisations et caractéristiques principales

Un rôle clé des moteurs d'inférence modernes est l'optimisation. L'exécution directe d'un grand modèle d'apprentissage profond formé peut être coûteuse en calcul et lente. Les moteurs d'inférence emploient diverses techniques pour rendre les modèles plus rapides et plus efficaces, ce qui permet de les déployer sur divers matériels. Les stratégies courantes d'optimisation des modèles comprennent :

  • Quantification du modèle: Réduction de la précision des poids du modèle (par exemple, de 32 bits à virgule flottante à des entiers de 8 bits) pour diminuer la taille du modèle et accélérer le calcul, souvent avec un impact minimal sur la précision.
  • Élagage du modèle: Suppression des connexions (poids) redondantes ou sans importance au sein du réseau neuronal pour créer un modèle plus petit et plus rapide.
  • Optimisation du graphique : Fusionner les couches ou réorganiser les opérations dans le graphe de calcul du modèle pour améliorer l'efficacité de l'exécution sur un matériel spécifique.
  • Accélération matérielle : Exploitation de processeurs spécialisés comme les GPU, les TPU ou les accélérateurs d'IA dédiés que l'on trouve sur des appareils comme le Google Edge TPU ou le NVIDIA Jetson.

De nombreux moteurs d'inférence prennent également en charge des formats de modèles standardisés comme ONNX (Open Neural Network Exchange), qui permet aux modèles formés dans un cadre (comme PyTorch) d'être exécutés à l'aide d'un autre moteur ou d'une autre plateforme. Les moteurs d'inférence les plus populaires sont les suivants NVIDIA TensorRTde Intel, OpenVINO d'Intel et TensorFlow Lite. Les modèles Ultralytics prennent en charge l'exportation vers différents formats compatibles avec ces moteurs, détaillés dans le guide Options de déploiement des modèles.

Moteur d'inférence vs. cadre de formation

Il est important de distinguer les moteurs d'inférence des cadres de formation.

  • Cadres de formation (par ex, PyTorch, TensorFlowKeras) : Il s'agit de bibliothèques complètes utilisées pour construire, former et valider des modèles d'apprentissage automatique. Elles fournissent des outils pour définir les architectures de réseau, mettre en œuvre la rétropropagation, gérer les ensembles de données et calculer les fonctions de perte. L'accent est mis sur la flexibilité et le processus d'apprentissage.
  • Les moteurs d'inférence (par ex, TensorRT, OpenVINOONNX Runtime) : Il s'agit d'outils spécialisés conçus pour exécuter efficacement des modèles pré-entraînés pour des tâches de prédiction(déploiement de modèles). Ils se concentrent principalement sur l'optimisation de la vitesse(faible latence), la faible utilisation de la mémoire et la compatibilité avec le matériel cible. Ils prennent souvent des modèles formés à l'aide de frameworks et les convertissent dans un format optimisé.

Applications dans le monde réel

Les moteurs d'inférence sont essentiels pour déployer l'IA dans des scénarios pratiques :

  1. Véhicules autonomes: Les voitures autonomes(comme celles développées par Waymo) s'appuient fortement sur des moteurs d'inférence efficaces fonctionnant sur du matériel embarqué(comme les plateformes NVIDIA Jetson) pour traiter les données des capteurs (caméras, LiDAR) en temps réel. Les moteurs optimisent des modèles complexes de vision par ordinateur comme YOLO pour des tâches telles que la détection d'objets (détection de voitures, de piétons, de panneaux) et la segmentation sémantique (compréhension du tracé de la route) avec un délai minimal, ce qui est crucial pour la sécurité. Explore plus en détail les solutions d'IA dans l'automobile.
  2. Analyse d'images médicales: Les moteurs d'inférence accélèrent l'analyse des scans médicaux (radiographies, scanner, IRM) pour des tâches telles que la détection de tumeurs(voir Jeu de données sur les tumeurs cérébrales) ou d'anomalies. Les modèles optimisés déployés via les moteurs d'inférence peuvent s'exécuter rapidement sur les serveurs des hôpitaux ou sur des appareils médicaux spécialisés, aidant ainsi les radiologues(lire l'article L'IA en radiologie) en leur fournissant des diagnostics plus rapides ou des seconds avis. Découvre les solutions d'IA dans le domaine de la santé.

Essentiellement, les moteurs d'inférence comblent le fossé entre les modèles d'IA formés et leur application pratique, en veillant à ce que les capacités d'IA sophistiquées puissent être fournies de manière efficace sur un large éventail d'appareils et de plateformes, y compris la gestion des modèles via des plateformes telles qu'Ultralytics HUB.

Tout lire