Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

GPU (Graphics Processing Unit)

Un GPU est un processeur doté de milliers de cœurs, conçu pour les calculs parallèles, ce qui en fait le matériel de référence pour entraîner et exécuter des modèles d’apprentissage profond.

Un processeur graphique (GPU) est un processeur doté de milliers de cœurs simples qui exécutent simultanément la même opération sur de nombreux éléments de données. Les GPU ont été conçus pour générer des graphiques 3D, ce qui implique de calculer en parallèle des millions de pixels et de sommets ; ils sont devenus le matériel principal de l’apprentissage profond, car l’entraînement et l’inférence des réseaux de neurones reposent principalement sur des multiplications de matrices, qui se parallélisent de la même façon. La plateforme CUDA de NVIDIA, lancée en 2007, a rendu ses GPU programmables pour le calcul général ; en 2012, le réseau AlexNet, entraîné pendant cinq à six jours sur deux GPU NVIDIA GTX 580, a remporté le défi ImageNet avec un taux d’erreur top-5 de 15,3 %, contre 26,2 % pour le deuxième. Aujourd’hui, PyTorch, TensorFlow et JAX fonctionnent sur les GPU NVIDIA par CUDA, sur les GPU AMD par ROCm et sur les puces Apple par Metal ; des clusters de milliers de GPU entraînent les plus grands modèles de fondation.

Comment les GPU accélèrent l’apprentissage profond#

Un CPU consacre la majeure partie de la surface de sa puce aux caches et à la logique de contrôle, afin que quelques cœurs puissent exécuter rapidement du code avec branchements. Un GPU consacre cette surface aux calculs : un GPU NVIDIA est divisé en processeurs multiprocesseurs de flux, qui exécutent chacun des groupes de 32 threads appelés warps ; ceux-ci exécutent la même instruction sur des données différentes. Pendant que certains warps attendent les données en mémoire, d’autres effectuent des calculs ; la puce reste donc active tant qu’il y a suffisamment de travail parallèle. Depuis la génération Volta, en 2017, les GPU NVIDIA intègrent également des Tensor Cores, des unités qui multiplient de petites matrices en une seule étape avec une précision réduite, notamment en FP8 et, depuis Blackwell, en FP4. Un NVIDIA A100 atteint 19,5 TFLOPS en calcul FP32 standard et 312 TFLOPS en BF16 sur ses Tensor Cores, ce qui explique pourquoi la plupart des entraînements sur GPU utilisent la précision mixte. Ce code mesure le temps de la même multiplication de matrices sur le CPU et le GPU :

import time

import torch

gpu = torch.accelerator.current_accelerator()  # cuda, mps, or xpu device on this machine
a = torch.randn(4096, 4096)
b = torch.randn(4096, 4096)

for device in (torch.device("cpu"), gpu):
    x, y = a.to(device), b.to(device)
    x @ y  # warm-up run
    torch.accelerator.synchronize()
    start = time.perf_counter()
    for _ in range(10):
        x @ y
    torch.accelerator.synchronize()  # GPU calls return immediately, so wait for them to finish
    seconds = (time.perf_counter() - start) / 10
    print(f"{device.type}: {seconds * 1000:.1f} ms per multiply, {2 * 4096**3 / seconds / 1e12:.1f} TFLOPS")

Sur un ordinateur portable Apple M5 Pro, il affiche cpu: 80.0 ms per multiply, 1.7 TFLOPS et mps: 18.3 ms per multiply, 7.5 TFLOPS ; le GPU intégré de l’ordinateur est donc environ 4,4 fois plus rapide en FP32. Les GPU de centres de données creusent encore l’écart, à la fois grâce à un plus grand nombre de cœurs et à la mémoire à large bande passante (HBM), qui fournit plusieurs téraoctets par seconde — assez pour alimenter les cœurs en poids et en activations. La mémoire GPU, souvent appelée VRAM, détermine également la taille du modèle et la taille de lot qui peuvent tenir sur un appareil ; des techniques comme le checkpointing de gradient et l’entraînement distribué permettent de contourner cette limite.

Entraîner et déployer des modèles sur des GPU#

Une tâche d’entraînement n’occupe pleinement le GPU que si le reste du pipeline suit le rythme : les processus CPU doivent décoder et augmenter les images assez vite, les lots doivent être assez grands pour saturer les cœurs et les calculs doivent s’exécuter en précision réduite sur les Tensor Cores. Une faible utilisation du GPU indique généralement un problème dans l’une de ces étapes :

Ultralytics YOLO s’entraîne par défaut sur le premier GPU CUDA disponible, accepte device=[0, 1] pour l’entraînement multi-GPU et, avec batch=-1, exécute AutoBatch, qui mesure la mémoire libre du GPU et choisit une taille de lot qui utilise environ 60 % de cette mémoire. Les équipes qui ne disposent pas de matériel local peuvent choisir un GPU dans le cloud sur Ultralytics Platform pour chaque exécution d’entraînement. Pour l’inférence, un modèle YOLO26n exporté vers TensorRT traite une image de 640 pixels en 1,7 ms sur un GPU NVIDIA T4, contre 38,9 ms avec ONNX sur un CPU. Ce code entraîne YOLO26 sur le premier GPU avec AutoBatch :

from ultralytics import YOLO

# Charger le plus petit modèle de détection YOLO26
model = YOLO("yolo26n.pt")

# Entraîner sur le GPU 0 et laisser AutoBatch adapter la taille du lot à la mémoire du GPU
results = model.train(data="coco8.yaml", epochs=3, imgsz=640, device=0, batch=-1)

GPU, CPU, TPU et NPU : comparaison#

  • CPU : quelques cœurs puissants pour le code généraliste avec branchements. Dans la plupart des pipelines d’entraînement, les CPU gèrent le chargement et le prétraitement des données ; ils prennent aussi en charge l’inférence lorsqu’aucun accélérateur n’est disponible.
  • GPU : des milliers de cœurs programmables et des Tensor Cores. Les GPU exécutent presque tous les modèles et frameworks, sont proposés par plusieurs fournisseurs et sont disponibles dans tous les grands services cloud.
  • TPU : puce spécialisée de Google reposant sur de grandes unités de multiplication de matrices. Les TPU privilégient l’efficacité pour les grandes opérations sur des matrices denses, au détriment de la polyvalence des GPU, et sont disponibles via Google Cloud.
  • NPU : accélérateur de réseaux de neurones à faible consommation présent dans les téléphones, les ordinateurs portables et les appareils en périphérie, utilisé pour l’inférence plutôt que pour l’entraînement.

Applications concrètes#

  • Entraînement de grands modèles : les modèles de langage et de vision comptant des milliards de paramètres s’entraînent sur des clusters de milliers de GPU de centres de données, reliés par des liaisons à haut débit comme NVLink et InfiniBand.
  • Analyse vidéo en temps réel : un seul GPU peut exécuter simultanément la détection et le suivi d’objets sur de nombreux flux de caméras, pour la surveillance du trafic, l’analyse du commerce de détail ou l’inspection d’usines.
  • Robotique et véhicules autonomes : des modules GPU embarqués comme NVIDIA Jetson exécutent des modèles de perception à bord, car l’envoi des données des caméras à un serveur entraînerait trop de latence.
  • Imagerie médicale : les GPU traitent en quelques secondes de grands volumes 3D de tomodensitométrie et d’IRM afin de segmenter des organes et des tumeurs.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique