Des chercheurs d'IBM affirment avoir mis au point une puce « 25 fois plus efficace énergétiquement » qu'un GPU pour faire tourner un réseau de neurones, dans certaines conditions bien évidemment. Plusieurs questions restent autour de cette puce spécialisée – baptisée NorthPole – qui n’est pas un produit prêt à être commercialisé.
Une équipe de chercheurs d'IBM, menée par Dharmendra Modha (employé par la société depuis près de 27 ans), s'est appuyée sur une modélisation plus récente du cerveau humain pour créer une puce qui se passe de mémoire RAM. Plus exactement, elle intègre directement la mémoire au niveau des unités de calcul, la rendant bien plus efficace énergétiquement. Les chercheurs ont publié la description de NorthPole dans la revue scientifique Science.
Sur un benchmark comparant les performances de puces faisant tourner le réseau de neurones spécialisé dans la reconnaissance d'images ResNet50, leur processeur NorthPole serait 25 fois plus efficace que des GPU gravés en 12 nm. Pourquoi prendre 12 nm alors que les GPU actuels sont en 4/5 nm ? Tout simplement car NothPole est, elle aussi, gravée en 12 nm. L’article de Science met aussi en avant une meilleure densité avec « 5 fois plus de FPS par transistor », et une latence 22 fois plus basse.
Dharmendra Modha ajoute que, toujours sur ResNet-50, « NorthPole surpasse toutes les principales architectures courantes, même celles qui utilisent des processus technologiques plus avancés, comme un GPU implémenté à l'aide d'un processus 4 nm ». Cette fois par contre, aucun chiffre n’est précisé.
von Neumann : un goulot à éviter
Jusqu'à maintenant, les architectures informatiques classiques restent basées sur une modélisation dite d'« architecture de von Neumann » avec une séparation entre trois éléments : une unité arithmétique et une unité de commande dans le processeur, ainsi qu'une mémoire contenant les programmes et les données.
Commentaires (6)
Il sert à quoi le Xillinx virtex ?
Des supposition de ma part :
Je pense que le FPGA sert à gérer les interfaces. En gros un sorte de “North Bridge”/ chipset connecté à leur puce.
Sur nos cartes mères, ce sont des puces dédiées pour des économie d’échelles (sur des Millions exemplaires). Ici nous somme sur du “proto”, bien inférieur au Million exemplaires.
Ou même, pour ne pas limiter les interfaces envisageables ? Ou les deux ?
J’allais poser la même question.
Ca semble être un VU5P - donc pas une petite bestiolle
Comme cité plus haut, le FPGA doit servir de “glue logic” pour pouvoir interfacer la puce “relativement facilement ” en attendant de finaliser la puce d’interface qui sera produite par lithographie.
Sachant que un gros FPGA comme ça peut faire simultanément SOC, north bridge, mémoire RAM, générateur d’horloges ….
Ca se rapproche du “In memory computing”.
L’architecture avec un CPU central est on goulot d’étranglement - pas par sa vitesse de calcul, mais plutôt par son nombre de canaux, et l’architecture qui consiste à lire en mémoire et y réécrire après le calcul.
Le rendu graphique a permis de s’orienter vers la super-parallélisation.
L’IA va certainement aller vers d’autres types d’architectures, notamment sur l’accès mémoire (lecture puis écriture séquentielle “plus loin”).
Un peu comme les puces mémoires de certaines TV milieu 90 qui permettaient de lire en ligne et d’écrire en ligne en même temps.
Mais surtout, ça me fait penser que les “accélérateurs” d’IA (NPU, KPU et autres) actuellement intégrés aux appareils dans les CPU et SOCs et annoncés à grand renfort de marketing risquent bien d’être vite inutiles et inutilisés en cas de changement d’algo/de paradigme (c’est déjà le cas, la plupart de ces unités ayant des limites de fait qui ne sont pas contournable “localement”)
Avec NorthPole et ses performances extraordinaire, IBM essaierait-il de nous faire croire au Père Noël ?