GPU (Graphics Processing Unit)
Découvre comment les GPU accélèrent l’IA et le deep learning. Explore la puissance du calcul parallèle pour entraîner les modèles Ultralytics YOLO26 et optimiser l’inférence en temps réel.
Un processeur graphique (GPU) est un circuit électronique spécialisé, conçu à l'origine pour accélérer la manipulation et la création d'images dans un tampon d'image destiné à l'affichage. Bien qu'ils soient issus du rendu des images de synthèse pour les jeux vidéo et la visualisation professionnelle, les GPU sont devenus le moteur fondamental de l'intelligence artificielle (AI) moderne. Contrairement à un processeur standard qui utilise quelques cœurs puissants pour traiter les tâches séquentiellement, l'architecture d'un GPU se compose de milliers de cœurs plus petits et efficaces, conçus pour gérer plusieurs tâches simultanément. Cette capacité, appelée calcul parallèle, les rend particulièrement efficaces pour les opérations massives sur les matrices et les vecteurs qui sous-tendent l'apprentissage profond (DL) et les réseaux neuronaux (NN) complexes.
Accélération des charges de travail d'AI#
La principale raison pour laquelle les GPU sont indispensables à l'apprentissage automatique (ML) réside dans leur capacité à effectuer des multiplications matricielles à grande vitesse. Les frameworks d'apprentissage profond comme PyTorch et TensorFlow sont spécifiquement optimisés pour tirer parti de cette accélération matérielle. Cela réduit considérablement les temps d'entraînement des modèles, transformant souvent des semaines de calcul sur un processeur standard en quelques heures sur un GPU. Le débit de calcul de ces appareils est généralement mesuré en FLOPS (opérations en virgule flottante par seconde), une mesure essentielle pour évaluer la capacité du matériel à gérer les exigences élevées de modèles de pointe comme YOLO26.
Différences matérielles : GPU vs. CPU vs. TPU#
Pour comprendre l'écosystème matériel, il est utile de distinguer le GPU des autres unités de traitement :
- CPU (unité centrale de traitement) : le « cerveau » polyvalent d'un ordinateur. Les CPU excellent dans le traitement séquentiel et les branchements logiques complexes, mais sont moins efficaces pour le parallélisme massif requis par l'entraînement d'AI à grande échelle.
- GPU (processeur graphique) : la norme du secteur pour l'entraînement et l'inférence. Les principaux fabricants, comme NVIDIA, utilisent des écosystèmes logiciels tels que CUDA pour permettre aux développeurs de programmer directement le GPU à des fins de calcul général.
- TPU (unité de traitement des tenseurs) : un circuit intégré spécifique à une application (ASIC) développé spécifiquement pour l'apprentissage automatique fondé sur les réseaux neuronaux. Bien qu'elles soient très efficaces pour certaines opérations sur les tenseurs, les TPU sont moins polyvalentes que les GPU pour les tâches de calcul plus générales.
Applications concrètes#
La mise en œuvre de GPU hautes performances a stimulé des innovations dans divers secteurs :
- Véhicules autonomes : les voitures autonomes doivent traiter chaque seconde des gigaoctets de données provenant de caméras, de radars et de capteurs LiDAR. Les GPU permettent l'inférence en temps réel, ce qui permet à l'ordinateur embarqué du véhicule d'exécuter des modèles de détection d'objets qui identifient instantanément les piétons, les panneaux de signalisation et les obstacles.
- Analyse d'images médicales : dans le secteur de la santé, les GPU accélèrent le traitement d'images haute résolution, comme celles produites par les IRM et les scanners CT. Ils permettent à des algorithmes sophistiqués de segmentation d'images de délimiter précisément les tumeurs ou les organes, aidant ainsi les radiologues à établir des diagnostics plus rapides et plus précis sans dépendre uniquement d'une inspection manuelle.
Entraînement avec des GPU#
Lorsque tu utilises le package ultralytics, l'utilisation d'un GPU est simple et vivement recommandée pour des workflows efficaces. La bibliothèque prend en charge la détection automatique du périphérique, mais tu peux aussi spécifier explicitement le périphérique.
L'exemple suivant montre comment entraîner un modèle YOLO26 sur le premier GPU disponible :
from ultralytics import YOLO
# Load the YOLO26n model
model = YOLO("yolo26n.pt")
# Train the model on the first available GPU (device=0)
# This significantly accelerates training compared to CPU usage
results = model.train(data="coco8.yaml", epochs=5, imgsz=640, device=0)Déploiement et optimisation#
Au-delà de l'entraînement, les GPU jouent un rôle essentiel dans le déploiement des modèles. Pour maximiser l'efficacité pendant l'inférence, les modèles sont souvent convertis dans des formats optimisés comme TensorRT, qui restructure le réseau neuronal pour l'adapter parfaitement à l'architecture spécifique du GPU et réduire la latence. Pour les développeurs qui n'ont pas accès à du matériel local haut de gamme, l'Ultralytics Platform propose des solutions cloud permettant de gérer des jeux de données et d'entraîner des modèles sur de puissants clusters de GPU distants. Cette accessibilité favorise l'innovation dans l'AI en périphérie, en permettant de déployer des tâches complexes de vision par ordinateur (CV) sur des appareils plus petits et plus économes en énergie sur le terrain.









