L’intelligence artificielle moderne manque d’une base théorique solide, et c’est souvent un haussement d’épaules qui explique pourquoi elle fonctionne (ou, souvent, ne fonctionne pas entièrement).
L’un des mystères les plus entiers du deep learning (apprentissage profond) est l’un de ses plus brillants succès. C’est ce que l’on nomme l’algorithme du gradient stochastique (pour stochastic gradient descent en anglais). La stochasticité, le processus de sélection aléatoire d’exemples de données, a donné lieu à des percées dans la reconnaissance des images et d’autres tâches d’apprentissage profond.
Et voici que désormais une entreprise de fabrication de puces informatiques pense qu’elle pourrait proposer une sorte de machine de stochasticité, une puce dont la puissance vient du hasard. Cela ne pourrait pas expliquer pourquoi l’apprentissage automatique (le machine leaning) fonctionne, mais pourrait conduire à des percées dans ce que la stochasticité peut accomplir.
La nature stochastique de l’IA, et de la MRAM
Spin Memory, 8 ans d’âge, basée à Fremont en Californie, fait progresser l’état de l’art dans ce domaine sous la forme d’une puce mémoire pour ordinateur connue sous le nom de “MRAM”, pour “mémoire magnétorésistive à accès aléatoire” (ou magnetoresistive random access memory). L’entreprise a obtenu 158 millions de dollars en trois cycles de financement pour produire une recette magique qui peut être utilisée par les fabricants de puces pour ajouter des blocs de mémoire plus efficaces à leurs dispositifs. Ce que l’industrie appelle des caches de données, la mémoire cache en quelque sorte.
Une mémoire cache MRAM pourrait être beaucoup moins gourmande en énergie que la SRAM utilisée par les fabricants de puces pour créer des mémoires cache classiques, et elle pourrait fournir plusieurs fois la quantité de stockage dans la même zone physique d’une puce. Mais cela seulement si Spin Memory peut exploiter avec succès la stochasticité inhérente à la MRAM.
“Il y a quelque chose de très inhabituel dans le MRAM, et c’est la nature même de l’IA, c’est sa nature stochastique” explique Andy Walker, vice-président des produits chez Spin Memory. “Il y a une relation mathématique dans son fonctionnement qui est directement applicable à l’IA.”
A la recherche du moment cinétique
Andy Walker fait référence à la nature complémentaire du fonctionnement électrique des MRAM, d’une part, et à la capacité des réseaux de neurones à fonctionner même si la “précision” des uns et des zéros est réduite.
Le MRAM stocke les uns et les zéro en alignant l’orientation des champs magnétiques de deux aimants l’un par rapport à l’autre via le courant électrique. Lorsqu’un courant électrique passe à travers le premier aimant, les électrons dans le courant deviennent polarisés, ce qui signifie qu’ils prennent ce qu’on appelle un “momentum angulaire”, ou moment cinétique.
Lorsque le courant est envoyé à travers le deuxième aimant, leur moment angulaire, ou moment cinétique, provoque un couple dans le deuxième aimant, et le couple change l’orientation magnétique du deuxième aimant. Ce changement d’orientation représente le passage d’un bit de zéro à un, ou vice-versa.
Dissimuler le commutateur stochastique, au détriment de l’endurance
Cette fonction de commutation n’est toutefois pas assurée, un bit peut basculer ou non. C’est “une valeur probabiliste de la tension”, explique Andy Walker. Pour s’assurer qu’un bit est retourné, pour écrire un 1 ou un 0 avec certitude, des tensions supplémentaires doivent alors être appliquées. Cela augmente la consommation d’énergie de l’appareil, ce qui est une mauvaise chose, et réduit également la durée de vie de la MRAM en sollicitant constamment l’appareil. Ce qui est aussi une mauvaise chose.
“La façon dont l’industrie a travaillé jusqu’à présent avec le MRAM, c’est de l’alimenter avec une longue tension pendant longtemps” dit Andy Walker. “Elle dissimule ce commutateur stochastique, et ce au détriment de l’endurance du commutateur.”
Au lieu de cela, Andy Walker et ses collègues ont décidé de faire de ce vice une vertu. Profitant de la capacité des réseaux neuronaux de gérer le caractère aléatoire, ils ont abaissé la tension des MRAM en dessous de ce qui serait nécessaire pour un stockage fiable des 1 et des 0. Ils ont décidé de laisser la nature stochastique des réseaux neuronaux compenser l’incertitude des MRAM.
Une action effrayante : les réseaux neuronaux convolutifs tels que LeNet-4 ont continué à fonctionner avec une grande précision même lorsque les scientifiques de Spin Memory jouaient avec le “taux d’erreur binaire” dans le système. Spin Memory Inc.
De la précision en dépit de “taux d’erreur binaire”
“Ce que nous avons fait, c’est que nous sommes allés dans la conception de code, où vous comprenez la physique du commutateur, et nous l’avons intégré dans la conception.”
Dans un article posté sur arXiv en mai, Andy Walker et ses collègues décrivent en détail une sorte de correspondance entre la stochasticité de la MRAM et la stochasticité des réseaux neuronaux. Ils ont pris différentes versions de réseaux de neurones convolutionnels classiques, dont LeNet-4 et AlexNet, et les ont “binarisés”, c’est-à-dire qu’ils ont fait en sorte que la “fonction d’activation” des réseaux de neurones soit un 1 ou un 0, au lieu d’une valeur numérique.
Cette approche a été développée pour la première fois en 2016 par Yoshua Bengio, chercheur en IA, et ses collègues pour réduire l’intensité de calcul des réseaux neuronaux en réduisant leur précision numérique. Andy Walker et ses collègues constatent que de tels réseaux binaires peuvent encore fonctionner avec un degré élevé de précision même lorsqu’une grande quantité de “taux d’erreur binaire” est injectée dans les réseaux.
Abaisser la tension de fonctionnement
Dans certains cas, ils ont été capables de produire jusqu’à un tiers de bits incorrects, et ce tout en atteignant les niveaux de précision conventionnels dans les tests de reconnaissance d’image tels que “CIFAR 10”. “Cette nature stochastique inhabituelle de l’interrupteur” du MRAM devient “quelque chose d’incroyablement pertinent en raison de la nature même de l’IA” explique Andy Walker.
En tolérant une plus grande erreur dans la MRAM, Spin Memory est en mesure d’abaisser la tension de fonctionnement, et donc de combler l’écart entre la MRAM et la SRAM à deux égards importants : la vitesse et l’endurance des circuits. En éliminant les défauts des MRAM, Spin Memory peut alors exploiter les avantages inhérents aux MRAM par rapport aux SRAM, à savoir sa taille et sa capacité de stockage non volatile.
D’autres détails techniques sur la puce de Spin Memory peuvent être trouvés dans une demande de brevet publiée en juin. Et il est possible d’insérer beaucoup plus de mémoire dans la même zone d’une puce CMOS avec de la MRAM qu’avec de la SRAM. De l’ordre de trois ou quatre fois plus.
La MRAM n’est pas volatile
“Pour ce qui est de l’agencement de la cellule [de mémoire SRAM], elle est extrêmement grande, six transistors,” observe Andy Walker à propos de la SRAM. Depuis que l’industrie des puces est passée aux transistors verticaux il y a plusieurs années, appelés “finfet”, la SRAM est “extrêmement difficile à mettre à l’échelle” en densité, de sorte que la SRAM a un problème croissant de taille dans les puces dont les caractéristiques sont de 10 nanomètres ou moins.
Un deuxième avantage est que la MRAM n’est pas volatile, de sorte qu’elle peut stocker un 1 ou un 0 même lorsque l’appareil est éteint, comme la mémoire flash. Cela pourrait représenter une grande économie d’énergie par rapport à la SRAM parce que la SRAM perd de l’énergie par nature.
Elle consomme de l’énergie même lorsqu’il ne fait aucun travail. Comme le dit Andy Walker, “l’IA exige beaucoup plus de mémoire sur la puce, ce qui conduit à une énorme quantité de fuites statiques, de l’ordre d’ampères de puissance consommée, même lorsque la puce ne fait rien”.
Remplacer le cache dit “de niveau 3” (Level-3)
L’objectif initial est donc de remplacer le cache dit “de niveau 3” (Level-3) dans les processeurs, explique Jeff Lewis, vice-président du développement commercial chez Spin Memory. Ces caches peuvent être de plusieurs mégaoctets de SRAM par puce, et jusqu’à plusieurs dizaines de mégaoctets dans le cas des processeurs haut de gamme, tels que la ligne “Xeon” d’Intel.
Spin Memory travaille en étroite collaboration avec le fabricant d’équipements de fabrication de puces Applied Materials pour faire de la fabrication de MRAM une tâche facilement accessible et prévisible pour la plupart des fabricants de puces.
“A plus long terme, nous voyons un marché pour la mémoire autonome” dit Lewis, en remplacement des puces DRAM qui servent de mémoire principale pour les systèmes informatiques. “Pour cela, il faut d’abord apporter ces améliorations, puis les rendre très denses, de sorte que les coûts soient semblables à ceux des DRAM, de l’ordre de plusieurs gigaoctets possibles pour des coûts semblables à ceux des DRAM”.
Premières puces pour début 2021
Les premiers puces utilisant la recette mémoire de Spin Memory devraient sortir à la fin de l’année prochaine, ou au début de 2021. Elles pourraient être suivies par des puces mémoire autonomes plus tard en 2021.
Andy Walker est encore plus enthousiaste à l’idée d’une fusion entre l’IA et le MRAM. Là où la stochasticité a été un obstacle pour les MRAM, elle pourrait devenir un atout si elle peut être exploitée pour l’IA.
“À un moment donné, cela devient une caractéristique, une caractéristique unique des MRAM, dit-il. Il est difficile d’éduquer les gens sur de telles caractéristiques, mais l’implication croissante de l’IA peut aider” dit-il. “Le fait que les physiciens s’intéressent à ce domaine le rend extrêmement puissant parce que peu de gens ont cette combinaison de connaissances.”
Pour aller plus loin sur ce sujet
Article “Could a strange new memory chip unlock mysteries of AI?” traduit et adapté par ZDNet.fr
Comments