#Nextquick : pourquoi les GPU des cartes graphiques sont-ils aussi bons pour l’IA ?

Quand on parle de l’entraînement et de l’utilisation de l’intelligence artificielle, on l’associe à de grosses cartes graphiques. Pourquoi les GPU sont-ils à ce point plébiscités et pas les CPU ? Les deux pourtant font des calculs !
Pour ce deuxième numéro de #Nextquick, on va répondre à une question : pourquoi les processeurs graphiques (GPU, pour Graphic Processing Units) sont incontournables dans le monde de l’IA ? La réponse courte tient en quelques mots : l’intelligence artificielle exploite énormément les calculs matriciels et vectoriels, domaine dans lequel les GPU excellent. La version longue nécessite plus de détails.
À l’origine, les cartes graphiques sont arrivées avec le développement de la 3D pour calculer toujours plus de pixels afin d’améliorer le rendu dans les jeux vidéo. Pendant 30 ans, les GPU (la puce principale sur la carte graphique) ont vu leur puissance de calcul augmenter de façon continue.
Des cœurs dans le GPU pensés pour l’IA
Un CPU moderne dispose généralement de quelques cœurs, voire de quelques dizaines de cœurs, alors que sur un GPU, ces cœurs se comptent en centaines, voire en milliers. Dans l’architecture Blackwell, la dernière en date de NVIDIA, il y a plus de 20 000 cœurs CUDA et 640 Tensor.

Sans entrer dans tous les détails, les Tensor Cores sont spécialement pensés pour les besoins de l’intelligence artificielle. Ils permettent des calculs en virgule flottante avec une précision réduite (4, 6 ou 8 bits) là où les CUDA s’arrêtent à 16 bits.
La différence est très importante : les nombres FP4 prennent deux fois moins de place en mémoire que les FP8, mais sont aussi moins précis. On passe à un rapport quatre avec les FP8, etc. Deux dossiers à lire sur ce sujet :
- Les nombres en informatique : entiers, virgule flottante, simple et double précision (FP32/64), Tensor Float (TF32)…
- Rapidité vs précision : deux experts nous expliquent les enjeux des GPU modernes sur les IA
Les GPU découpent le travail et parallélisent à mort
Cette abondance de « petits » cœurs des GPU permet d’effectuer « un grand nombre d’opérations en même temps [… ] Ils peuvent travailler sur différentes parties d’une tâche simultanément. Cette architecture de traitement parallèle permet aux GPU de gérer des tâches qui prendraient beaucoup plus de temps à être exécutées par les CPU », explique Google.
Un gros travail peut ainsi être découpé en milliers d’étapes indépendantes et distribué sur autant de cœurs. On peut également répartir le travail sur plusieurs cartes graphiques comme si c’était une seule et même grosse carte. Les domaines qui en profitent le plus sont le traitement des images et vidéos, les simulations scientifiques, le machine learning et de manière générale les LLM (grands modèles de langage).
Des matrices pour travailler sur images
Gabriel Peyré, chercheur au département de mathématiques et applications de l’École normale supérieure, ajoute dans un article du Journal du CNRS que « l’essentiel du calcul dans un réseau de neurones est effectué sur des matrices représentant l’état de chacun des neurones ».
Le CNRS ajoute que « les matrices sont aussi utilisées pour caractériser un objet, comme une image décrite par un tableau indiquant la valeur (couleur, position, etc.) de chacun de ses pixels, ou encore en machine learning (apprentissage automatique) ».
Des vecteurs pour donner du « sens » aux mots
Un autre domaine est celui des opérations vectorielles. « En représentant mathématiquement les mots sous forme de vecteurs de nombres réels, on peut coder à la fois leur sens mais également les similitudes sémantiques qui existent entre eux, facilitant ainsi l’interprétation et la génération algorithmique de textes par une IA », explique David Latouche (adjoint au délégué régional académique au numérique éducatif d’Île-de-France). Dans la pratique, un vecteur « peut représenter différentes caractéristiques du mot, telles que son sens, sa syntaxe, sa fréquence d’utilisation, etc ».
Une image valant mille mots :


Grâce à ses centaines ou milliers de « petits cœurs » le GPU est parfaitement adapté à des calculs de type matriciel et vectoriel. Par exemple, multiplier de manière basique deux matrices de taille 2 x 2 (quatre éléments) nécessite huit multiplications et quatre additions. Et plus la taille augmente, plus le nombre d’opérations explose. Une multiplication de matrices 100 x 100 s’approche des deux millions d’opérations.
CPU vs GPU et bulldozer vs ouvriers : même combat
Mais toute multiplication de matrices de grande taille peut se réduire à des calculs sur des blocs plus petits. Avec un GPU des milliers de petits blocs peuvent être traités en parallèle (et tenir dans la mémoire partagée du GPU), ce qui n’est pas le cas du CPU. Un vecteur n’est qu’une matrice particulière, le principe précédent s’applique.
Plutôt que d’utiliser un bulldozer pour déblayer 2 cm de terre sur 10 000 m², on utilise 10 000 ouvriers avec une pelle, chacun ne devant faire que 1 m². S’il fallait par contre creuser un trou de 3 mètres sur 1 m², le bulldozer serait bien plus efficace que 10 000 ouvriers. Le CPU n’a donc pas dit son dernier mot ! C’est surtout une question d’usage.