L'avènement de l'IA s'accompagne d'un nouveau type de puce informatique qui sera de plus en plus utilisé. Vous avez probablement déjà entendu parler du CPU, du GPU et, plus récemment, du NPU. Démêlons la différence entre ces différentes unités de calcul et la manière de les utiliser au mieux. Mais tout d'abord, une leçon d'histoire.
(crédit : Intel)
Apparues dans les années 1960, les unités centrales de traitement (UC) sont le cœur battant de tous les ordinateurs et sont chargées d'effectuer toutes les opérations de base. Conçues pour être polyvalentes et capables de gérer un large éventail d'instructions et d'opérations, elles sont idéales pour faire fonctionner les systèmes d'exploitation, les logiciels de productivité et de nombreuses autres applications générales. Toutefois, avec l'apparition des premiers jeux vidéo en 3D et des applications graphiques avancées, les limites des unités centrales de traitement sont devenues évidentes. Conçue pour l'informatique générale, leur architecture n'était pas optimisée pour le traitement parallèle massif requis par les applications graphiques intensives et les simulations scientifiques.
Cependant, avec la demande croissante de traitement parallèle massif requis par les applications graphiques intensives et les simulations scientifiques, les limites des CPU et des coprocesseurs mathématiques sont devenues évidentes. Cela a conduit au développement des unités de traitement graphique (GPU) dans les années 1990, qui sont rapidement devenues indispensables et spécialisées dans le traitement parallèle de grandes quantités de données. Les GPU (disponibles sous forme de puces graphiques intégrées ou de cartes graphiques autonomes) sont construits avec des centaines ou des milliers de petits cœurs spécialisés (ALU : Arithmetic Logic Units) qui peuvent effectuer plusieurs opérations simultanément, ce qui les rend idéaux pour le rendu graphique et, plus récemment, pour l'entraînement et le déploiement de modèles d'apprentissage profond (deep learning).
Au cours des dernières années, une nouvelle catégorie a vu le jour : les unités de traitement neuronal (NPU). Alors que les coprocesseurs mathématiques et les GPU ont accéléré les calculs en virgule flottante et le traitement parallèle de grandes quantités de données, les NPU sont conçues pour traiter efficacement la multiplication et l'addition de matrices, ce qui est essentiel pour les charges de travail de l'intelligence artificielle (IA) et de l'apprentissage machine (ML) telles que la reconnaissance d'images, le traitement du langage naturel et l'apprentissage machine.
En pratique, les CPU, GPU et NPU sont tous essentiels au fonctionnement d'un ordinateur moderne, mais chacun est optimisé pour différents types de calculs et de rendus. Voyons ce qu'il en est.
Au cœur de tout dispositif informatique se trouve le processeur, souvent appelé "cerveau" du système. Il est connu pour sa polyvalence et ses capacités informatiques générales, grâce à une architecture conçue pour gérer des applications et des tâches nécessitant des prises de décision complexes.
Points forts
Faiblesses
Conçus à l'origine pour le rendu des graphiques dans les jeux vidéo, les GPU ont changé la donne dans le domaine de l'IA grâce à leurs capacités inégalées de traitement parallèle, telles que l'apprentissage en profondeur et le traitement des images.
Contrairement aux CPU, les GPU excellent dans l'exécution simultanée de milliers de tâches de calcul en parallèle, ce qui les rend essentiels pour l'entraînement et l'exploitation de réseaux neuronaux complexes.
Points forts
Faiblesses
(Crédit : Intel)
Dans la quête de l'innovation en matière d'IA, un nouvel acteur est entré en scène : le NPU (Neural Processing Unit). Conçues dès le départ pour accélérer les calculs des réseaux neuronaux, les NPU sont taillées sur mesure pour répondre aux exigences de l'apprentissage en profondeur et des charges de travail de l'IA. Les NPU offrent des performances et une efficacité énergétique inégalées grâce à l'optimisation du matériel et des logiciels.
Points forts
Faiblesses