Qu'est-ce que Calcul neuromorphique ?

Calcul qui imite les neurones et les synapses du cerveau, échange l'information sous forme d'impulsions appelées spikes et ne calcule que lorsque quelque chose change. Il place la mémoire près du calcul et vise une faible consommation.

Nom japonais: ニューロモーフィックコンピューティング

« Calcul neuromorphique » apparaît dans 2 questions d'entraînement réparties sur 1 thèmes, dont Pile matérielle et logicielle de l'IA.

Domaine: Pile matérielle et logicielle de l'IA

Trois idées empruntées au cerveau

Le calcul neuromorphique prend pour modèle les circuits neuronaux du cerveau. Premièrement, l'information n'est pas représentée par des valeurs continues, mais par la présence et l'instant de brèves impulsions appelées spikes. Deuxièmement, il est piloté par les événements : les circuits n'agissent que lorsque l'entrée change, et les parties inactives ne consomment presque rien. Troisièmement, les poids synaptiques sont stockés près de l'endroit où se fait le calcul, ce qui réduit les déplacements de données entre mémoire et unités de calcul. Une architecture typique comporte de nombreux cœurs, chacun gérant de nombreux neurones, reliés par un réseau qui envoie les spikes sous forme de petits paquets.

Réseaux de neurones à impulsions

Les modèles exécutés sur ce matériel sont appelés réseaux de neurones à impulsions (SNN, spiking neural networks). Chaque neurone accumule les spikes reçus sous forme de potentiel de membrane et, quand celui-ci dépasse un seuil, émet un spike puis se réinitialise. Comme l'activité est clairsemée et que l'information temporelle est traitée naturellement, les SNN sont jugés adaptés au traitement de signaux de capteurs et à l'inférence sur des appareils à consommation limitée. L'émission d'un spike est cependant une opération discontinue et non dérivable : la rétropropagation standard des réseaux de neurones ordinaires ne peut donc pas s'appliquer directement, et l'on étudie des méthodes qui approchent le gradient par une fonction lisse ou qui convertissent des modèles classiques déjà entraînés.

Puces représentatives

En 2014, IBM a présenté TrueNorth, une puce numérique de 1 million de neurones et 256 millions de synapses, en indiquant une consommation d'environ 70 mW. Intel a présenté sa puce de recherche Loihi en 2017 et la deuxième génération Loihi 2 en 2021, puis en 2024 Hala Point, un système de 1152 puces Loihi 2 comptant environ 1,15 milliard de neurones. Ce sont des circuits numériques, mais des recherches utilisent aussi des dispositifs analogiques comme la mémoire résistive pour conserver les poids synaptiques et effectuer des multiplications-accumulations dans la mémoire, ce qui rejoint étroitement le calcul en mémoire.

Comparaison avec les GPU et défis

Pour les calculs matriciels denses comme l'entraînement des grands modèles de langage, les accélérateurs classiques comme les GPU dominaient au milieu des années 2020. Le calcul neuromorphique a le plus de chances d'être rentable pour des entrées clairsemées et variables dans le temps, et dans des applications aux contraintes de consommation strictes. Les défis comprennent les méthodes d'entraînement et la précision des SNN, la maturité des outils logiciels et un banc d'essai permettant une comparaison équitable avec les approches classiques, et les recherches se poursuivent pour savoir où il aura un avantage.

S'entraîner : questions sur Calcul neuromorphique

Quelle est la principale raison pour laquelle le matériel de calcul neuromorphique peut viser une faible consommation d'énergie ?

  1. ATous les neurones fonctionnent toujours simultanément à une fréquence d'horloge élevée
  2. BTous les calculs sont effectués en virgule flottante sur 64 bits
  3. CIl fonctionne par événements, si bien que seules les parties qui reçoivent des impulsions sont actives, et la mémoire qui contient les poids est placée près du calcul pour réduire les déplacements de données
Afficher la réponse et l'explication

Réponse : C. Il fonctionne par événements, si bien que seules les parties qui reçoivent des impulsions sont actives, et la mémoire qui contient les poids est placée près du calcul pour réduire les déplacements de données

Le calcul neuromorphique prend pour modèle les circuits neuronaux du cerveau et transmet l'information sous forme d'impulsions appelées spikes. Seules les parties qui reçoivent des impulsions lorsque l'entrée change sont actives : dans les charges de travail peu actives, les circuits inactifs ne consomment presque rien. Les poids synaptiques sont conservés dans une mémoire située dans chaque cœur, ce qui réduit les longs transferts de données vers les unités de calcul et depuis celles-ci. Ces caractéristiques le distinguent des GPU, qui effectuent tous ensemble des opérations sur des matrices denses.

Quelle est la principale raison pour laquelle les réseaux de neurones à impulsions (SNN), les modèles exécutés en calcul neuromorphique, sont difficiles à entraîner directement par la rétropropagation utilisée pour les réseaux de neurones ordinaires ?

  1. ALes SNN n'ont pas de poids
  2. BL'émission d'une impulsion est une opération discontinue, décidée par le franchissement ou non d'un seuil, et n'est donc pas dérivable
  3. CLes SNN ne peuvent faire que de l'inférence et ignorent la notion d'entraînement
Afficher la réponse et l'explication

Réponse : B. L'émission d'une impulsion est une opération discontinue, décidée par le franchissement ou non d'un seuil, et n'est donc pas dérivable

Chaque neurone d'un SNN accumule les impulsions reçues sous forme de potentiel de membrane et émet une impulsion lorsqu'il franchit un seuil. Comme cette sortie passe de façon discontinue de 0 à 1, le gradient dont la rétropropagation a besoin est nul presque partout ou n'est pas défini. On étudie donc l'utilisation, pendant l'entraînement seulement, de gradients qui approchent la fonction d'impulsion par une fonction lisse, ou l'entraînement d'un réseau classique ensuite converti en SNN. La mise au point de méthodes d'entraînement est l'un des défis du calcul neuromorphique.

Questions fréquentes

En quoi le calcul neuromorphique diffère-t-il d'un GPU ?

Un GPU fait travailler de nombreuses unités de calcul en cadence avec une horloge pour exécuter rapidement des opérations matricielles denses. Le calcul neuromorphique est piloté par les événements, de sorte que seules les parties qui reçoivent des spikes sont actives, et il place la mémoire près du calcul pour traiter à faible consommation des charges de travail clairsemées.

Qu'est-ce qu'un réseau de neurones à impulsions (SNN) ?

Un réseau de neurones dans lequel les neurones communiquent par des impulsions appelées spikes. Chaque neurone accumule ses entrées sous forme de potentiel de membrane et émet un spike quand celui-ci franchit un seuil. Les SNN sont les modèles exécutés sur le matériel neuromorphique.

Quels sont les défis du calcul neuromorphique ?

Les SNN sont difficiles à entraîner, car les spikes ne sont pas dérivables, et la précision, la maturité des logiciels et la comparaison équitable avec les approches classiques posent aussi question. Les recherches se poursuivent pour savoir dans quelles applications il l'emportera.

« Calcul neuromorphique » dans les explications

Questions mentionnant « Calcul neuromorphique » (2)

  1. Quelle est la principale raison pour laquelle le matériel de calcul neuromorphique peut viser une faible consommation d'énergie ?
  2. Quelle est la principale raison pour laquelle les réseaux de neurones à impulsions (SNN), les modèles exécutés en calcul neuromorphique, sont difficiles à entraîner directement par la rétropropagation utilisée pour les réseaux de neurones ordinaires ?

Termes associés

GPU Rétropropagation All-reduce Attention Cache KV Checkpointing de gradients Compilateur d'IA Décodage spéculatif Distillation des connaissances Élagage (pruning)

Retour au glossaire