Aller au contenu

Graphics Processing Unit (GPU)

Ce que vous saurez dans 3 minutes

Le GPU a sauvé l’IA de l’hiver. Sans lui, entraîner GPT-4 prendrait des milliers d’années. Si NVIDIA est devenue l’une des entreprises les plus valorisées au monde, c’est parce qu’elle a compris avant tout le monde (dès 2006 avec CUDA) que les chercheurs avaient besoin d’une sorte de “supercalculateur de bureau” programmable. Aujourd’hui, les puces H100 et Blackwell sont le “nouveau pétrole” de l’économie numérique.


1. Comprendre

Architecture : CPU vs GPU

Pourquoi le Deep Learning aime les GPU

Un réseau de neurones n’est mathématiquement qu’une énorme, gigantesque multiplication de matrices.

Y=σ(WX+b)Y = \sigma(W \cdot X + b)

Cette opération est “embarrassingly parallel” : le calcul d’un neurone ne dépend pas du calcul de son voisin immédiat dans la même couche. Le GPU peut donc calculer toute une couche d’un coup.

Composants Clés d’un GPU Moderne

  1. Cœurs CUDA (Shaders) : Les ouvriers polyvalents.
  2. Tensor Cores : Les spécialistes. Ils ne savent faire qu’une chose : D=A×B+CD = A \times B + C sur des matrices 4x4, mais ils le font à la vitesse de la lumière.
  3. HBM (High Bandwidth Memory) : La mémoire ultra-rapide. Souvent, le goulot d’étranglement n’est pas le calcul (FLOPS), mais la vitesse à laquelle on peut amener les données aux puces (Memory Bandwidth).

Évolution du Matériel (Mermaid)

graph LR
    Gaming(Usage Jeu Vidéo) -->|2006: CUDA| GPGPU(General Purpose GPU)
    GPGPU -->|2012: AlexNet| DeepLearning
    DeepLearning -->|2017: Volta| TensorCores(Unités Matricielles)
    TensorCores -->|2022: Hopper| TransformerEngine(Optimisé pour FP8)
    TransformerEngine -->|2024: Blackwell| SystemScale(Le GPU devient un Rack)

2. Appliquer

Le Saint Graal : La comparaison des Flagships

La Loi de Moore est morte pour les CPU, mais la Loi de Huang (CEO de NVIDIA) continue de doubler la performance IA chaque année.

SpécificationNVIDIA A100 (2020)NVIDIA H100 (2022)NVIDIA B200 (Blackwell 2024)
ArchitectureAmpereHopperBlackwell
VRAM80 GB HBM2e80 GB HBM3192 GB HBM3e
Bande Passante Mém.2 TB/s3.35 TB/s8 TB/s
Performance FP8N/A (utilise FP16)4,000 TFLOPS20,000 TFLOPS (avec Sparsity)
TDP (Conso)400 W700 W1000 W+
Prix Lancement~$15k~$30k~The Price of a House

CUDA : La Douve défensive (The Moat)

Avoir le meilleur matériel ne suffit pas. Il faut pouvoir le programmer. CUDA (Compute Unified Device Architecture) est le langage (extension du C++) qui permet de parler directement au GPU.

Le code ci-dessous additionne deux vecteurs (A et B) de millions d’éléments. Sur CPU, ce serait une boucle for. Sur GPU, chaque thread calcule une addition.

// Kernel : Ce code est exécuté par 1 million de threads en parallèle
__global__ void vectorAdd(float *A, float *B, float *C, int N) {
int i = blockIdx.x * blockDim.x + threadIdx.x;
if (i < N) {
C[i] = A[i] + B[i]; // Chaque thread s'occupe de l'indice 'i'
}
}
int main() {
// Lancement de 1 million de threads
vectorAdd<<<numBlocks, threadsPerBlock>>>(d_A, d_B, d_C, N);
cudaDeviceSynchronize(); // Attendre que les fourmis finissent
}

3. Aller plus loin

La Précision Mixte (FP16, FP8, INT4)

Pour aller plus vite et stocker des modèles plus gros, on réduit la précision des nombres.

  • FP32 (Float 32-bit) : Standard historique. Trop lourd.
  • TF32 : Format hybride de NVIDIA (facile comme FP32, rapide comme FP16).
  • FP8 (Introduit avec H100) : Suffisant pour l’entraînement des LLM grâce au Transformer Engine qui gère dynamiquement les arrondis.
  • INT4 / INT1 (Quantization) : Utilisé pour l’inférence (faire tourner le modèle sur son laptop), mais pas pour l’entraînement.

Quand on entraîne un modèle comme GPT-4, il ne tient pas sur un seul GPU. Il faut le découper sur 25 000 GPU (Parallelism). Si les GPU se parlent via un câble Ethernet classique, c’est trop lent. NVLink et NVSwitch permettent aux GPU de partager leur mémoire comme s’ils étaient un seul méga-cerveau unifié.


Questions Fréquentes

Peut-on faire du Deep Learning sur un Mac ?

Oui ! Apple utilise les puces Apple Silicon (M1/M2/M3) avec une architecture “Unified Memory”. Le CPU et le GPU partagent la même RAM. Un Mac Studio avec 192 Go de RAM peut faire tourner des modèles énormes (Llama-3 70B) que même une RTX 4090 (24 Go) ne peut pas charger. C’est plus lent que NVIDIA pour l’entraînement, mais excellent pour l’inférence.

C’est quoi un TPU ?

Un TPU (Tensor Processing Unit) est un équivalent du GPU fabriqué par Google, spécifiquement pour TensorFlow/JAX. Il n’a pas de circuits graphiques inutiles, il ne fait que des matrices. Google entraîne Gemini sur des TPU v4/v5 pods.


Notions Liées (Spider Web)

  • Le Langage : CUDA (La clé du royaume NVIDIA).
  • L’Alternative Google : TPU.
  • L’Optimisation : Quantization (Réduire la taille des modèles).
  • Le Contexte : Loi de Moore.

Ressources Externes