CPU vs GPU vs TPU vs NPU : quel processeur l’IA nécessite-t-elle réellement

CPU vs GPU vs TPU vs NPU : quel processeur l'IA nécessite-t-elle réellement

L’intelligence artificielle a transformé l’acronyme des processeurs en un véritable puzzle de lettres. CPU, GPU, TPU et NPU apparaissent de plus en plus souvent dans les ordinateurs, smartphones et centres de données, mais ces technologies ne sont pas interchangeables et il n’existe pas de processeur universellement meilleur pour l’IA. À ces quatre catégories s’ajoutent les FPGA et les ASIC spécialisés, tandis que des termes comme XPU ou LPU nécessitent une attention particulière car ils ne représentent pas des catégories aussi standardisées.

Les clés du CPU, GPU, TPU, NPU et autres accélérateurs en 30 secondes

  • Le CPU reste le processeur général qui coordonne le système et exécute tout type de code.
  • Le GPU se distingue pour ses opérations parallèles et est devenu un des principaux accélérateurs pour entraîner et exécuter des modèles d’IA.
  • Les TPU sont des ASIC conçus par Google spécifiquement pour l’apprentissage automatique.
  • Les NPU apportent une accélération efficace de l’IA à des ordinateurs, mobiles et appareils en périphérie (edge).
  • Les FPGA et autres ASIC offrent plus d’options pour des charges de travail spécialisées. Quant à XPU, il s’agit plutôt d’un terme générique et non d’une architecture précise.

La différence majeure réside dans la spécialisation. Un CPU peut exécuter presque tous les programmes. Une GPU sacrifie une partie de cette flexibilité pour réaliser d’énormes quantités d’opérations en parallèle. Une NPU va encore plus loin, étant souvent orientée vers des opérations spécifiques aux réseaux neuronaux, avec en général une meilleure réduction de la consommation énergétique.

Les TPU portent cette spécialisation à un autre niveau : il s’agit de circuits intégrés spécifiques à une application (ASIC), développés par Google pour accélérer l’apprentissage automatique et disponibles dans leur infrastructure et Google Cloud. La documentation actuelle de Cloud TPU inclut le TPU7x, appartenant à la génération Ironwood.

C’est pourquoi demander quel processeur est « meilleur » pour l’IA n’a pas de réponse simple mais exacte : cela dépend du modèle, du logiciel, du lieu d’exécution, et si l’on cherche à faire de l’entraînement, de l’inférence, en consommant peu d’énergie ou à grande échelle.

CPU, GPU, TPU et NPU ne réalisent pas le même travail

Le CPU (Central Processing Unit) demeure le processeur central de tout ordinateur classique.

Ses cœurs sont conçus pour exécuter des instructions très variées, prendre des décisions rapidement, gérer le système d’exploitation et coordonner applications et périphériques. Une CPU moderne dispose de moins d’unités d’exécution qu’une GPU, mais chaque cœur est capable de gérer des tâches complexes et diverses.

Elle peut également réaliser de l’intelligence artificielle.

En effet, de nombreux petits modèles peuvent fonctionner exclusivement sur CPU. Cela peut suffire pour des tests, des modèles classiques de machine learning, certaines inférences et des applications où la performance maximale n’est pas essentielle.

La GPU adopte une approche différente.

Une GPU (Graphics Processing Unit) a été conçue à l’origine pour traiter des graphiques, où il est nécessaire de réaliser des opérations similaires sur de grandes quantités de données. Cette capacité de traitement parallèle s’est avérée particulièrement adaptée pour les multiplications matricielles et autres opérations utilisées dans les réseaux neuronaux.

Ainsi, les GPU sont passés de processeurs graphiques à véritables accélérateurs de calcul.

L’entraînement de grands modèles de langage, la génération d’images, la vision artificielle, et de nombreuses autres charges d’IA peuvent répartir un volume énorme d’opérations entre leurs unités de calcul.

Cela ne signifie toutefois pas que tous les programmes sont plus rapides sur GPU. Les charges avec beaucoup de bifurcations, opérations séquentielles ou faible parallélisme restent souvent mieux exécutées sur CPU.

Comparatif du CPU, GPU, TPU et NPU

Processeur Signification Spécialisation Principale force IA courante Où apparaît
CPU Central Processing Unit Faible Flexibilité et contrôle Inférence légère, préparation des données, coordination Quasi tous les ordinateurs ou serveurs
GPU Graphics Processing Unit Moyenne Parallélisme massif Entraînement et inférence PC, stations de travail, serveurs, centres de données
TPU Tensor Processing Unit Très élevée Opérations matricielles pour le ML Entraînement et inférence à grande échelle Infrastructures Google et Google Cloud
NPU Neural Processing Unit Élevée IA à faible consommation Principalement inférence locale Ordinateurs portables, mobiles, edge
FPGA Field-Programmable Gate Array Configurables Hardware reconfigurable Inférence et charges spécifiques Edge, télécommunications, industrie, centres de données
ASIC d’IA Application-Specific Integrated Circuit Très élevée Performance/efficacité pour une fonction précise Entraînement ou inférence selon la conception Centres de données, appareils, systèmes spécialisés

Ce tableau illustre aussi une question terminologique importante : un TPU est, techniquement, un ASIC spécialisé dans l’IA. Google décrit officiellement ses TPU comme des ASIC personnalisés pour accélérer les charges de machine learning.

TPU et ASIC ne sont donc pas des catégories équivalentes. ASIC est un concept beaucoup plus large.

Ce qui distingue réellement une TPU d’une GPU

Une TPU (Tensor Processing Unit) est conçue spécifiquement autour des opérations utilisées par l’apprentissage automatique.

Google explique que ses TPU intègrent du matériel prêt pour de grandes opérations matricielles récurrentes dans les algorithmes de machine learning. Les générations destinées à de fortes charges comportent aussi une mémoire à haut débit et peuvent être connectées entre elles pour construire des systèmes multi-accélérateurs.

Cette spécialisation a aussi des impacts sur le logiciel.

Le code destiné aux TPU passe par XLA (Accelerated Linear Algebra), qui compile les opérations pour leur exécution sur le matériel correspondant. Les TPU actuelles peuvent être utilisées dans divers environnements Google Cloud, et Google travaille également à étendre leur intégration avec PyTorch via TorchTPU.

Une GPU, quant à elle, est plus polyvalente.

Outre l’IA, elle peut exécuter des graphiques, du rendu, des simulations scientifiques, de la vidéo et de nombreuses autres applications de calcul parallèles. Son écosystème logiciel mature explique en partie sa présence dans l’infrastructure d’IA.

Le choix ne doit donc pas se réduire à une simple comparaison du nombre d’opérations par seconde.

Il faut aussi prendre en compte le framework utilisé, le type de modèle, la précision numérique supportée, la mémoire disponible, la bande passante, l’interconnexion entre accélérateurs et le coût de leur maintenance.

GPU vs TPU

Caractéristique GPU TPU
Conception initiale Graphiques et calcul parallèle Machine learning
Flexibilité Élevée Plus spécialisée
Entraînement IA Oui Oui
Inférence IA Oui Oui
Graphiques et rendu Oui Ce n’est pas leur objectif principal
Opérations matricielles massives Très efficace Architectures spécifiquement orientées
Disponibilité De nombreux fabricants et environnements Écosystème Google
Scalabilité en centres de données Oui Oui, via l’infrastructure TPU
Utilisation sur PC classique Courante Non
Principal avantage Polyvalence et logiciel disponible Spécialisation pour le ML

Il n’est pas possible d’affirmer qu’une TPU est « plus rapide » qu’une GPU de manière générale. Il faut définir quelle GPU, quelle TPU, quel modèle, quelle précision, quelle taille de lot et quels logiciels sont comparés.

Les NPU porteraient l’IA sur ordinateur et mobile

Les NPU (Neural Processing Unit) ont gagné en visibilité avec l’émergence des fameux AI PC, mais leur architecture n’est pas limitée aux ordinateurs personnels.

Leur objectif est d’accélérer les réseaux neuronaux avec un rapport performance-consommation adapté aux appareils où utiliser continuellement une GPU puissante serait inefficace.

Intel, par exemple, décrit ses NPU comme des unités destinées à l’inférence en deep learning dans les AI PC, appareils connectés et serveurs en périphérie (edge). AMD utilise sa architecture XDNA pour construire des NPU dédiées à l’IA et au traitement de signal.

Un ordinateur portable moderne peut simultanément disposer d’un CPU, d’un GPU et d’une NPU.

Ce n’est pas redondant.

Le CPU peut gérer le système d’exploitation et la logique d’une application ; le GPU peut prendre en charge les graphiques et les charges parallèles intensives ; et la NPU peut faire fonctionner certains modèles d’IA avec une consommation d’énergie minimale.

Intel résume le concept d’AI PC comme un système combinant CPU, GPU et NPU pour répartir localement les charges d’intelligence artificielle.

Une NPU peut, selon le logiciel et le matériel, servir à des tâches telles que le traitement d’image, les effets en visio-conférence, la reconnaissance vocale, la transcription, la vision artificielle ou l’exécution locale de certains modèles.

Le mot-clé ici est compatibilité.

Qu’un ordinateur portable affiche des dizaines de TOPS (billions d’opérations par seconde) en performance d’une NPU ne signifie pas que n’importe quel modèle peut utiliser automatiquement toute cette capacité. L’application, l’environnement d’exécution et le modèle doivent être compatibles avec l’accélérateur.

CPU vs GPU vs NPU dans un ordinateur avec IA

Charge CPU GPU NPU
Système d’exploitation Principal Secondaire Non
Navigation et applications générales Principal Aceleration ponctuelle Puntuelle
Jeux vidéo Indispensable Principal Poco fréquent
Rendu 3D Soutien Principal Non
IA générative locale intense Soutien Très adaptée Dépend du modèle
Effets IA à faible consommation continue Possible Possible Très adaptée
Inférence ML Oui Oui Oui
Entraînement intensif Limité Oui Généralement pas leur objectif
Efficacité énergétique en IA locale Moyenne Variable Haute

Ce positionnement commence aussi à se refléter dans des designs où les trois éléments sont intégrés dans le même processeur. Par exemple, AMD propose des puces combinant cœurs CPU, graphiques et une NPU XDNA intégrée dans le même système.

Existe-t-il d’autres XPU en plus des CPU, GPU, TPU et NPU ?

Oui, mais il faut faire attention à ne pas considérer tout sigle se terminant par PU comme une catégorie équivalente.

XPU ne désigne pas actuellement un type universel de processeur comparable à CPU ou GPU. Ce terme est souvent utilisé pour parler d’architecture de calcul hétérogène regroupant différentes architectures de traitement.

Cependant, d’autres accélérateurs réels méritent une attention particulière.

Les FPGA (Field-Programmable Gate Array) sont des circuits dont le matériel logique peut être reconfiguré après fabrication. Ils permettent de construire des pipelines très spécifiques et peuvent être utilisés pour de l’inférence, du traitement du signal, des télécommunications, de la vidéo et des applications industrielles.

Les ASIC, à l’inverse, sont conçus pour une fonction précise et offrent moins de possibilités de reconfiguration. Cette spécialisation peut garantir d’excellents rapports performance/consommation lorsque le volume de production est suffisant pour justifier leur développement.

De nombreux accélérateurs d’IA spécialisés destinés aux centres de données ou aux appareils existent dans cette catégorie.

On trouve aussi des termes commerciaux comme LPU (Language Processing Unit) pour des architectures orientées vers le traitement des modèles linguistiques. Ce sont des technologies réelles mais la dénomination ne constitue pas encore une catégorie générale comparable à CPU, GPU ou NPU.

Les DPU (Data Processing Unit) et IPU (Infrastructure Processing Unit) sont également des processeurs véritables présents dans les centres de données, mais leur rôle est différent. Ils déchargent la CPU des tâches liées aux réseaux, au stockage, à la sécurité et au mouvement des données. Ils peuvent être importants dans un cluster IA, mais ne remplacent pas une GPU ou autre accélérateur destiné à calculer le modèle.

Une classification pratique pourrait résumer ainsi :

Type Catégorie générale ? Exécute directement l’IA ? Usage principal
CPU Oui Oui Calcul général
GPU Oui Oui Parallélisme, graphiques et IA
NPU Oui Oui IA spécialisée et efficace
TPU Technologie spécifique Google Oui Machine learning
FPGA Oui Oui, si configuré pour cela Accélération reconfigurable
ASIC d’IA Oui, en tant que famille Oui Accélération spécialisée
DPU/IPU Oui Non comme fonction principale Réseau, stockage, infrastructure
LPU Dénomination spécifique Oui Modèles linguistiques selon architecture
XPU Terme parapluie Dépend Calcul hétérogène

Ainsi, il ne serait pas pertinent d’acheter une machine simplement pour une « XPU ». Il faut identifier précisément quel accélérateur est inclus et quel logiciel peut l’utiliser.

Quel processeur conviendrait réellement à chaque type d’IA

Pour utiliser ChatGPT, Gemini ou autre service d’IA dans le cloud, l’utilisateur n’a pas besoin d’une GPU puissante dans son ordinateur pour faire tourner le modèle à distance. Le calcul principal se déroule dans l’infrastructure du fournisseur.

La situation change avec l’IA locale.

Un petit modèle peut s’exécuter sur CPU. Une GPU avec suffisamment de mémoire sera beaucoup plus adaptée pour des modèles génératifs locaux. Une NPU peut être préférable pour certaines fonctions spécifiques qui doivent fonctionner en permanence avec une faible consommation d’énergie.

Dans les centres de données, la donne change à nouveau.

L’entraînement de grands modèles requiert des quantités énormes de calcul, de mémoire et de communications entre accélérateurs. GPU, TPU et autres ASIC spécialisés peuvent prendre en charge ces charges, généralement assistés par des CPU qui préparent les données, gèrent les processus et coordonnent le système.

La vraie question devient alors : Quelle combinaison de processeurs est requise pour une charge précise.

Quelle architecture privilégier selon l’usage

Besoins Processeur le plus courant
Bureautique et usage quotidien CPU
Gaming CPU + GPU
Montage vidéo et 3D CPU + GPU
Fonctions IA d’un portable CPU + GPU + NPU
Exécution de petits modèles localement CPU ou NPU/GPU compatibles
LLM locaux plus complexes GPU ou accélérateur spécialisé
Entraînement de modèles de machine learning GPU, TPU ou autres accélérateurs
Entraînement de grands modèles Clusters d’accélérateurs
IA performante en périphérie (edge) NPU, FPGA ou ASIC
Infrastructure réseau pour grands clusters IA CPU + accélérateurs + DPU/IPU selon architecture

Le hardware dédié à l’IA évolue précisément vers cette spécialisation.

Un ordinateur n’a plus besoin d’exiger de la CPU qu’elle fasse tout. Un centre de données n’a pas à faire fonctionner le même circuit pour le système d’exploitation, l’entraînement d’un réseau neuronal et le traitement de chaque paquet réseau.

La tendance est à répartir le travail entre différents moteurs de calcul et à sélectionner celui qui effectuera chaque tâche.

Par conséquent, la CPU ne disparaîtra pas forcément face à l’expansion des GPU et NPU. Il semble également peu raisonnable de considérer la NPU comme un substitut direct à la GPU.

Ce sont des pièces différentes dans une architecture de plus en plus hétérogène.

Questions fréquemment posées

Quelle est la meilleure option pour l’IA : CPU ou GPU ?

En général, une GPU offre beaucoup plus de performance pour les charges d’IA hautement parallélisables, notamment l’entraînement et l’inférence de grands modèles. Une CPU reste essentielle pour faire tourner le système et peut gérer des modèles faibles ou des charges où un accélérateur n’est pas justifié.

Une NPU peut-elle remplacer une GPU pour l’IA ?

Pas dans tous les cas. Une NPU est spécialisée dans certaines opérations d’IA et privilégie souvent l’efficacité énergétique. Une GPU offre plus de flexibilité et est généralement plus adaptée pour des modèles génératifs exigeants et l’entraînement.

Une TPU, c’est pareil qu’une NPU ?

Les deux accélèrent l’IA, mais ce ne sont pas exactement les mêmes. La TPU est le nom des ASIC spécialisés dans le machine learning développés par Google, tandis que la NPU désigne une catégorie plus large utilisée par différents fabricants pour des accélérateurs de réseaux neuronaux.

Que signifie XPU en intelligence artificielle ?

XPU est généralement un terme générique pour désigner différentes unités de traitement dans des architectures hétérogènes. Il ne désigne pas une architecture précise comme CPU, GPU ou NPU.

le dernier