Comprendre l’informatique neuromorphique et pourquoi Intel est enthousiaste à ce sujet

[ad_1]

Malgré leur nom, les réseaux de neurones ne sont que de loin liés au genre de choses que vous trouveriez dans un cerveau. Bien que leur organisation et la façon dont ils transfèrent les données à travers les couches de traitement puissent partager des similitudes approximatives avec les réseaux de neurones réels, les données et les calculs effectués sur celles-ci sembleraient très familiers à un processeur standard.

Mais les réseaux de neurones ne sont pas la seule façon dont les gens ont essayé de tirer des leçons du système nerveux. Il existe une discipline distincte appelée calcul neuromorphique qui est basée sur l’approximation du comportement des neurones individuels dans le matériel. Dans le matériel neuromorphique, les calculs sont effectués par de nombreuses petites unités qui communiquent entre elles via des rafales d’activité appelées pointes et ajustent leur comportement en fonction des pointes qu’elles reçoivent des autres.

Jeudi, Intel a publié la dernière version de son matériel neuromorphique, appelée Loihi. La nouvelle version est livrée avec le genre de choses que vous attendez d’Intel : un meilleur processeur et quelques améliorations de calcul de base. Mais il s’accompagne également de modifications matérielles fondamentales qui lui permettront d’exécuter de toutes nouvelles classes d’algorithmes. Et tandis que Loihi reste un produit axé sur la recherche pour le moment, Intel publie également un compilateur qui, espère-t-il, entraînera une adoption plus large.

Pour donner un sens à Loihi et aux nouveautés de cette version, revenons en arrière et commençons par examiner un peu la neurobiologie, puis construisons à partir de là.

Des neurones au calcul

La base du système nerveux est le type cellulaire appelé neurone. Tous les neurones partagent quelques caractéristiques fonctionnelles communes. À une extrémité de la cellule se trouve une structure appelée dendrite, que vous pouvez considérer comme un récepteur. C’est là que le neurone reçoit des entrées d’autres cellules. Les cellules nerveuses ont également des axones, qui agissent comme des émetteurs, se connectant avec d’autres cellules pour transmettre des signaux.

Les signaux prennent la forme de ce qu’on appelle des « pics », qui sont de brefs changements de tension à travers la membrane cellulaire du neurone. Les pointes voyagent le long des axones jusqu’à ce qu’elles atteignent les jonctions avec d’autres cellules (appelées synapses), à quel point elles sont converties en un signal chimique qui se déplace vers la dendrite voisine. Ce signal chimique ouvre des canaux qui permettent aux ions de s’écouler dans la cellule, déclenchant un nouveau pic sur la cellule réceptrice.

La cellule réceptrice intègre une variété d’informations – combien de pics elle a vus, si des neurones signalent qu’elle devrait être silencieuse, à quel point elle était active dans le passé, etc. – et les utilise pour déterminer son propre état d’activité. Une fois qu’un seuil est franchi, il déclenchera un pic dans ses propres axones et déclenchera potentiellement une activité dans d’autres cellules.

En règle générale, cela se traduit par des pics d’activité sporadiques et espacés de manière aléatoire lorsque le neurone ne reçoit pas beaucoup d’entrées. Une fois qu’il commence à recevoir des signaux, cependant, il passe à un état actif et déclenche un tas de pointes en succession rapide.

Comment ce processus encode et manipule-t-il les informations ? C’est une question intéressante et importante, à laquelle nous commençons tout juste à répondre.

L’une des façons dont nous avons répondu à cette question était ce que l’on a appelé la neurobiologie théorique (ou neurobiologie computationnelle). Celles-ci impliquaient des tentatives pour construire des modèles mathématiques reflétant le comportement des systèmes nerveux et des neurones, dans l’espoir que cela nous permettrait d’identifier certains principes sous-jacents. Les réseaux de neurones, axés sur les principes d’organisation du système nerveux, ont été l’un des efforts issus de ce domaine. Les réseaux de neurones à pointes, qui tentent de se construire à partir du comportement de neurones individuels, en sont un autre.

Les réseaux de neurones à pointes peuvent être implémentés dans un logiciel sur des processeurs traditionnels. Mais il est également possible de les implémenter via du matériel, comme Intel le fait avec Loihi. Le résultat est un processeur très différent de tout ce que vous connaissez probablement.

Dosage en silicone

La puce Loihi de la génération précédente contient 128 cœurs individuels connectés par un réseau de communication. Chacun de ces cœurs possède un grand nombre de « neurones » individuels ou unités d’exécution. Chacun de ces neurones peut recevoir des entrées sous forme de pointes de n’importe quel autre neurone – un voisin dans le même noyau, une unité dans un noyau différent sur la même puce, ou d’une autre puce entièrement. Le neurone intègre les pics qu’il reçoit au fil du temps et, en fonction du comportement avec lequel il est programmé, les utilise pour déterminer quand envoyer ses propres pics aux neurones auxquels il est connecté.

Toute la signalisation de pointe se produit de manière asynchrone. À intervalles de temps définis, les cœurs x86 intégrés sur la même puce forcent une synchronisation. À ce stade, le neurone refait le poids de ses différentes connexions – essentiellement, l’attention à accorder à tous les neurones individuels qui lui envoient des signaux.

En termes de neurone réel, une partie de l’unité d’exécution sur la puce agit comme une dendrite, traitant les signaux entrants du réseau de communication en partie sur la base du poids dérivé du comportement passé. Une formule mathématique a ensuite été utilisée pour déterminer quand l’activité avait franchi un seuil critique et pour déclencher ses propres pics quand elle le faisait. L’« axone » de l’unité d’exécution recherche alors avec quelles autres unités d’exécution il communique et il envoie un pic à chacune.

Dans l’itération précédente de Loihi, un pic ne portait qu’un seul bit d’information. Un neurone ne s’enregistrait que lorsqu’il en recevait un.

Contrairement à un processeur normal, il n’y a pas de RAM externe. Au lieu de cela, chaque neurone dispose d’un petit cache de mémoire dédié à son utilisation. Cela inclut les poids qu’il attribue aux entrées de différents neurones, un cache de l’activité récente et une liste de tous les autres neurones auxquels les pics sont envoyés.

L’une des autres grandes différences entre les puces neuromorphiques et les processeurs traditionnels est l’efficacité énergétique, où les puces neuromorphiques arrivent loin devant. IBM, qui a introduit sa puce TrueNorth en 2014, a pu en tirer un travail utile même s’il était cadencé à un kiloHertz tranquille, et il a utilisé moins de 0,0001 pour cent de la puissance qui serait nécessaire pour émuler un réseau de neurones à pics. sur les processeurs traditionnels. Mike Davies, directeur du Neuromorphic Computing Lab d’Intel, a déclaré les processeurs Loihi par un facteur de 2 000 sur certaines charges de travail spécifiques. « Nous trouvons régulièrement 100 fois [less energy] pour le SLAM et d’autres charges de travail robotiques », a-t-il ajouté.

[ad_2]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*