Maison  >  Article  >  Périphériques technologiques  >  22 milliards de transistors, processeur d'apprentissage automatique IBM NorthPole, efficacité énergétique multipliée par 25

22 milliards de transistors, processeur d'apprentissage automatique IBM NorthPole, efficacité énergétique multipliée par 25

PHPz
PHPzavant
2023-10-23 15:13:011011parcourir

IBM remet ça.


Avec le développement rapide des systèmes d'IA, leurs besoins énergétiques augmentent également. La formation de nouveaux systèmes nécessite de grands ensembles de données et du temps processeur, ce qui les rend extrêmement gourmands en énergie. Dans certains cas, les smartphones peuvent facilement faire le travail en exécutant des systèmes bien entraînés. Cependant, si cette opération est exécutée trop de fois, la consommation d’énergie augmentera également.

Heureusement, il existe de nombreuses façons de réduire la consommation énergétique de ces dernières. IBM et Intel ont expérimenté des processeurs conçus pour imiter le comportement de vrais neurones. IBM a également testé l'exécution de calculs de réseau neuronal dans une mémoire à changement de phase pour éviter les accès répétés à la RAM.

Maintenant, IBM a introduit une autre méthode. Le nouveau processeur NorthPole de la société synthétise certaines des idées de ces approches et les combine avec une manière très simplifiée d'exécuter des calculs, créant ainsi une puce économe en énergie capable d'exécuter efficacement des réseaux neuronaux basés sur l'inférence. La puce est 35 fois plus efficace qu'un GPU dans des domaines tels que la classification d'images ou la transcription audio.

22 milliards de transistors, processeur dapprentissage automatique IBM NorthPole, efficacité énergétique multipliée par 25

Blog officiel : https://research.ibm.com/blog/northpole-ibm-ai-chip

La différence entre NorthPole et le traitement traditionnel de l'IA Différents processeurs

Premier de Bref, NorthPole ne fait rien pour les besoins de formation des réseaux de neurones, il est purement conçu pour l'exécution.
Deuxièmement, il ne s'agit pas d'un processeur d'IA à usage général, mais il est spécifiquement conçu pour les réseaux de neurones axés sur l'inférence. Donc, si vous souhaitez l'utiliser pour raisonner, connaître le contenu d'une image ou d'un clip audio, etc., alors c'est vrai. Mais si vous devez exécuter un modèle de langage volumineux, cette puce ne semble pas être d'une grande utilité.

Enfin, bien que NorthPole emprunte certaines idées aux puces informatiques neuromorphiques, il ne s'agit pas d'un matériel neuromorphique car ses unités de traitement effectuent des calculs plutôt que d'émuler les communications utilisées par les neurones réels.

NorthPole, comme TrueNorth avant lui, se compose d'un large éventail de cellules de calcul (16 × 16), chacune contenant de la mémoire locale et des capacités d'exécution de code. Ainsi, tous les poids des différentes connexions du réseau neuronal peuvent être stockés exactement là où ils sont nécessaires.

Il dispose également d'un vaste réseau sur puce, avec au moins quatre réseaux différents. Certains de ces réseaux transmettent des informations sur les calculs terminés à la prochaine unité informatique qui en a besoin. D'autres réseaux sont utilisés pour reconfigurer l'ensemble des unités informatiques, fournissant les poids neuronaux et le code nécessaires pour exécuter une couche du réseau neuronal pendant que la couche précédente est encore en cours de calcul. Enfin, la communication entre les unités informatiques adjacentes est optimisée. Ceci est utile pour des choses comme trouver les bords d'objets dans des images. Si des pixels adjacents sont attribués à des unités informatiques adjacentes lorsqu'une image est entrée, ils peuvent plus facilement coopérer pour identifier des caractéristiques qui s'étendent sur des pixels adjacents.

De plus, les ressources informatiques de NorthPole sont également inhabituelles. Chaque unité est optimisée pour effectuer des calculs de moindre précision, allant de 2 bits à 8 bits. Pour garantir l'utilisation de ces unités d'exécution, elles ne peuvent pas effectuer de branchements conditionnels basés sur des valeurs variables. Autrement dit, le code utilisateur ne peut pas contenir d'instructions if. Cette exécution simple permet une exécution massivement parallèle par unité de calcul. Avec une précision de 2 bits, chaque unité peut effectuer plus de 8 000 calculs en parallèle.

Logiciel compagnon

En raison de ces conceptions uniques, l'équipe NorthPole devait développer son propre logiciel de formation pour calculer le niveau minimum de précision requis pour que chaque couche fonctionne avec succès. L’exécution de réseaux neuronaux sur une puce est également un processus relativement inhabituel.

Une fois les poids et les connexions du réseau neuronal placés dans des tampons sur la puce, l'exécution ne nécessite qu'un contrôleur externe pour télécharger les données qu'il souhaite exécuter et lui dire de commencer à s'exécuter. Tout le reste fonctionne sans processeur, ce qui limite la consommation électrique au niveau du système.

La puce de test NorthPole est fabriquée selon un processus de 12 nm, ce qui est loin derrière la pointe de la technologie. Ils ont néanmoins réussi à installer 256 unités de calcul sur 22 milliards de transistors, chacun doté de 768 Ko de mémoire. Lorsque le système est comparé au GPU V100 Tensor Core de Nvidia, qui est construit sur un processus similaire, NorthPole dispose d'une puissance de calcul 25 fois supérieure pour la même consommation d'énergie.

Dans les mêmes conditions, NorthPole surpasse environ cinq fois les GPU de pointe. Les tests du système ont montré qu'il peut également effectuer efficacement une série de tâches de réseau neuronal largement utilisées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer