211service.com
Penser au silicium
Imaginez une personne lisant ces mots sur un ordinateur portable dans un café. La machine faite de métal, de plastique et de silicium consomme environ 50 watts d'énergie lorsqu'elle traduit des bits d'information - une longue chaîne de un sable 0 s—en un motif de points sur un écran. Pendant ce temps, à l'intérieur du crâne de cette personne, un amas gluant de protéines, de sel et d'eau utilise une fraction de ce pouvoir non seulement pour reconnaître ces motifs sous forme de lettres, de mots et de phrases, mais aussi pour reconnaître la chanson diffusée à la radio.
Cette puce informatique, fabriquée par IBM en 2011, comporte des composants qui servent de 256 neurones et 262 144 synapses.
Les ordinateurs sont incroyablement inefficaces pour de nombreuses tâches faciles même pour les cerveaux les plus simples, telles que la reconnaissance d'images et la navigation dans des espaces inconnus. Les machines trouvées dans les laboratoires de recherche ou les vastes centres de données peuvent effectuer de telles tâches, mais elles sont énormes et énergivores, et elles nécessitent une programmation spécialisée. Google a récemment fait la une des journaux avec un logiciel capable de reconnaître de manière fiable les chats et les visages humains dans les clips vidéo, mais cette réalisation a nécessité pas moins de 16 000 processeurs puissants.
Cette histoire faisait partie de notre numéro de janvier 2014
- Voir le reste du numéro
- S'abonner
Une nouvelle génération de puces informatiques qui fonctionnent davantage comme le cerveau est peut-être sur le point de réduire le fossé entre le calcul artificiel et naturel, entre des circuits qui exécutent des opérations logiques à une vitesse fulgurante et un mécanisme perfectionné par l'évolution pour traiter et agir sur les entrées sensorielles du monde réel. Les progrès des neurosciences et de la technologie des puces ont rendu pratique la construction de dispositifs qui, au moins à petite échelle, traitent les données comme le fait un cerveau de mammifère. Ces puces neuromorphiques peuvent être la pièce manquante de nombreux projets prometteurs mais inachevés en intelligence artificielle, tels que les voitures qui se conduisent de manière fiable dans toutes les conditions et les smartphones qui agissent comme des assistants de conversation compétents.
Les ordinateurs modernes sont hérités des calculatrices, parfaits pour calculer des nombres, explique Dharmendra Modha, chercheur principal chez IBM Research à Almaden, en Californie. Les cerveaux ont évolué dans le monde réel. Modha dirige l'un des deux groupes qui ont construit des puces informatiques avec une architecture de base copiée à partir du cerveau des mammifères dans le cadre d'un projet de 100 millions de dollars appelé synapse , financé par la Defense Advanced Research Projects Agency du Pentagone.
Les prototypes ont déjà montré les premières étincelles d'intelligence, traitant les images très efficacement et acquérant de nouvelles compétences d'une manière qui ressemble à un apprentissage biologique. IBM a créé des outils pour permettre aux ingénieurs logiciels de programmer ces puces inspirées du cerveau ; l'autre prototype, aux laboratoires HRL à Malibu, en Californie, sera bientôt installé à l'intérieur d'un petit avion robotique, à partir duquel il apprendra à reconnaître son environnement.
L'évolution des puces inspirées du cerveau a commencé au début des années 1980 avec Carver Mead, professeur au California Institute of Technology et l'un des pères de l'informatique moderne. Mead s'était fait un nom en aidant à développer une méthode de conception de puces informatiques appelée intégration à très grande échelle, ou VLSI, qui permettait aux fabricants de créer des microprocesseurs beaucoup plus complexes. Cela a déclenché une croissance explosive de la puissance de calcul : les ordinateurs semblaient prêts à devenir courants, voire omniprésents. Mais l'industrie semblait heureuse de les construire autour d'un plan, datant de 1945. L'architecture von Neumann, du nom du mathématicien d'origine hongroise John von Neumann, est conçue pour exécuter des séquences d'instructions linéaires. Tous les ordinateurs d'aujourd'hui, des smartphones aux superordinateurs, n'ont que deux composants principaux : une unité centrale de traitement, ou CPU, pour manipuler les données, et un bloc de mémoire vive, ou RAM, pour stocker les données et les instructions sur la façon de les manipuler. . Le CPU commence par récupérer sa première instruction en mémoire, suivie des données nécessaires à son exécution ; une fois l'instruction exécutée, le résultat est renvoyé en mémoire et le cycle se répète. Même les puces multicœurs qui gèrent les données en parallèle sont limitées à quelques processus linéaires simultanés.
Cette approche s'est développée naturellement à partir des mathématiques théoriques et de la logique, où les problèmes sont résolus avec des chaînes de raisonnement linéaires. Pourtant, il n'était pas adapté au traitement et à l'apprentissage de grandes quantités de données, en particulier d'entrées sensorielles telles que des images ou du son. Cela comportait également des limitations intégrées : pour rendre les ordinateurs plus puissants, l'industrie s'était chargée de construire des puces de plus en plus complexes capables d'effectuer des opérations séquentielles de plus en plus rapidement, mais cela a mis les ingénieurs sur la bonne voie pour des problèmes majeurs d'efficacité et de refroidissement, car plus rapides les copeaux produisent plus de chaleur perdue. Mead, maintenant âgé de 79 ans et professeur émérite, sentait déjà qu'il pouvait y avoir une meilleure solution. Plus j'y pensais, plus c'était gênant, dit-il, assis dans le bureau qu'il conserve à Caltech. Il a commencé à rêver de puces qui traitent de nombreuses instructions, peut-être des millions, en parallèle. Une telle puce pourrait accomplir de nouvelles tâches, en gérant efficacement de grandes quantités d'informations non structurées telles que la vidéo ou le son. Il pourrait être plus compact et utiliser l'énergie plus efficacement, même s'il était plus spécialisé pour des types de tâches particuliers. La preuve que cela était possible pouvait être trouvée en volant, en courant et en marchant tout autour. Les seuls exemples que nous avions d'une chose massivement parallèle étaient dans le cerveau des animaux, dit Mead.
Les cerveaux calculent en parallèle pendant que les cellules électriquement actives à l'intérieur, appelées neurones, fonctionnent simultanément et sans cesse. Liés dans des réseaux complexes par des appendices filiformes, les neurones s'influencent les uns les autres sur les impulsions électriques via des connexions appelées synapses. Lorsque l'information circule dans un cerveau, il traite les données comme une fusillade de pointes qui se propagent à travers ses neurones et ses synapses. Vous reconnaissez les mots de ce paragraphe, par exemple, grâce à un schéma particulier d'activité électrique dans votre cerveau déclenché par l'entrée de vos yeux. Fondamentalement, le matériel neuronal est également flexible : une nouvelle entrée peut entraîner un ajustement des synapses afin de donner à certains neurones plus ou moins d'influence sur d'autres, un processus qui sous-tend l'apprentissage. En termes informatiques, c'est un système massivement parallèle qui peut se reprogrammer.
Ironiquement, bien qu'il ait inspiré les conceptions conventionnelles qui perdurent aujourd'hui, von Neumann avait également senti le potentiel de l'informatique inspirée du cerveau. Dans le livre inachevé L'ordinateur et le cerveau , publié un an après sa mort en 1957, il s'émerveillait de la taille, de l'efficacité et de la puissance des cerveaux par rapport aux ordinateurs. Une étude mathématique plus approfondie du système nerveux … pourrait modifier notre regard sur les mathématiques et la logique, a-t-il soutenu. Lorsque Mead est venu à la même réalisation plus de deux décennies plus tard, il a découvert que personne n'avait essayé de créer un ordinateur inspiré du cerveau. Personne à ce moment-là ne pensait : « Comment en construire un ? » dit Mead. Nous n'avions aucune idée de comment cela fonctionnait.
Mead a finalement construit ses premières puces neuromorphiques, alors qu'il baptisait ses appareils inspirés du cerveau, au milieu des années 1980, après avoir collaboré avec des neuroscientifiques pour étudier comment les neurones traitent les données. En faisant fonctionner des transistors ordinaires à des tensions inhabituellement basses, il pouvait les organiser en réseaux de rétroaction qui semblaient très différents des collections de neurones mais fonctionnaient de manière similaire. Il a utilisé cette astuce pour émuler les circuits de traitement des données de la rétine et de la cochlée, créant des puces qui exécutaient des astuces telles que la détection des contours des objets et des caractéristiques d'un signal audio. Mais les puces étaient difficiles à travailler et l'effort était limité par la technologie de fabrication de puces. L'informatique neuromorphique n'étant encore qu'une curiosité, Mead est passé à d'autres projets. C'était plus dur que je ne le pensais d'entrer, réfléchit-il. Le cerveau d'une mouche n'a pas l'air si compliqué, mais il fait des choses que nous ne pouvons pas faire à ce jour. Cela vous dit quelque chose.
Les neurones à l'intérieur
Le laboratoire d'IBM à Almaden, près de San Jose, se trouve à proximité mais à l'écart de la Silicon Valley, peut-être l'emplacement idéal pour repenser les fondements de l'industrie informatique. Pour y arriver, il faut se rendre dans une rue bordée de magnolias à la périphérie de la ville et gravir trois kilomètres de courbes. Le laboratoire se trouve au milieu de 2 317 acres protégées de collines ondulantes. À l'intérieur, les chercheurs arpentent des couloirs longs, larges et silencieux et réfléchissent aux problèmes. Ici, Modha dirige la plus grande des deux équipes recrutées par la DARPA pour briser la dépendance von Neumann de l'industrie informatique. L'approche de base est similaire à celle de Mead : construire des puces de silicium avec des éléments qui fonctionnent comme des neurones. Mais il bénéficie des avancées des neurosciences et de la fabrication de puces. Le timing est tout; ce n'était pas tout à fait juste pour Carver, dit Modha, qui a l'habitude de fermer les yeux pour penser, respirer et réfléchir avant de parler.
IBM fabrique des puces neuromorphiques en utilisant des collections de 6 000 transistors pour émuler le comportement de pic électrique d'un neurone, puis en connectant ces neurones de silicium ensemble. La stratégie de Modha pour les combiner pour construire un système semblable à un cerveau s'inspire d'études sur le cortex du cerveau, la couche externe ridée. Bien que différentes parties du cortex aient des fonctions différentes, telles que le contrôle du langage ou des mouvements, elles sont toutes constituées de ce qu'on appelle des microcolonnes, qui répètent des amas de 100 à 250 neurones. Modha a dévoilé sa version d'une microcolonne en 2011. Un grain de silicium un peu plus gros qu'une tête d'épingle, il contenait 256 neurones de silicium et un bloc de mémoire qui définit les propriétés de jusqu'à 262 000 connexions synaptiques entre eux. La programmation correcte de ces synapses peut créer un réseau qui traite et réagit à l'information comme le font les neurones d'un vrai cerveau.
Régler cette puce pour qu'elle résolve un problème implique de programmer une simulation de la puce sur un ordinateur conventionnel, puis de transférer la configuration sur la vraie puce. Dans une expérience, la puce a pu reconnaître des chiffres manuscrits de 0 à 9, prédisant même quel nombre quelqu'un commençait à tracer avec un stylet numérique. Dans un autre, le réseau de la puce était programmé pour jouer à une version du jeu vidéo Pong. Dans un troisième, il a ordonné à un petit véhicule aérien sans pilote de suivre la double ligne jaune sur la route approchant du laboratoire d'IBM. Aucun de ces exploits n'est hors de portée des logiciels conventionnels, mais ils ont été réalisés en utilisant une fraction du code, de la puissance et du matériel qui seraient normalement nécessaires.
Modha teste les premières versions d'une puce plus complexe, constituée d'une grille de noyaux neurosynaptiques en mosaïque dans une sorte de cortex rudimentaire – plus d'un million de neurones au total. L'été dernier, IBM a également annoncé une architecture de programmation neuromorphique basée sur des blocs de code modulaires appelés corelets. L'intention est que les programmeurs combinent et modifient les corelets à partir d'un menu préexistant, pour les éviter de lutter avec les synapses et les neurones de silicium. Plus de 150 noyaux ont déjà été conçus, pour des tâches allant de la reconnaissance des personnes dans les vidéos à la distinction de la musique de Beethoven et de Bach.
Machines d'apprentissage
Sur une autre colline californienne à 300 miles au sud, l'autre partie du projet de la DARPA vise à fabriquer des puces qui imitent encore plus le cerveau. HRL, qui surplombe Malibu depuis les contreforts des montagnes de Santa Monica, a été fondée par Hughes Aircraft et opère désormais en tant que joint-venture entre General Motors et Boeing. Avec un étang de carpes koï, des palmiers et des bananiers, l'entrée ressemble à un hôtel de l'âge d'or d'Hollywood. Il possède également une plaque commémorative du premier laser fonctionnel, construit en 1960 dans ce qui s'appelait alors Hughes Research Labs.
Une puce électronique développée à HRL apprend comme un cerveau biologique en renforçant ou en affaiblissant les connexions de type synapse.
Sur un banc dans un laboratoire sans fenêtre, la puce de Narayan Srinivasa se trouve au centre d'un enchevêtrement de fils. L'activité de ses 576 neurones artificiels apparaît sur un écran d'ordinateur comme un défilé de pointes, un EEG pour un cerveau en silicium. La puce HRL a des neurones et des synapses un peu comme ceux d'IBM. Mais comme les neurones de votre propre cerveau, ceux de la puce de HRL ajustent leurs connexions synaptiques lorsqu'ils sont exposés à de nouvelles données. En d'autres termes, la puce apprend par l'expérience.
La puce HRL imite deux phénomènes d'apprentissage dans le cerveau. La première est que les neurones deviennent plus ou moins sensibles aux signaux d'un autre neurone en fonction de la fréquence à laquelle ces signaux arrivent. L'autre est plus complexe : un processus censé soutenir l'apprentissage et la mémoire, connu sous le nom de plasticité dépendante du temps de pointe. Cela amène les neurones à devenir plus réactifs aux autres neurones qui avaient tendance à correspondre étroitement à leur propre activité de signalisation dans le passé. Si des groupes de neurones travaillent ensemble de manière constructive, les connexions entre eux se renforcent, tandis que les connexions moins utiles tombent en sommeil.
Les résultats des expériences avec des versions simulées de la puce sont impressionnants. La puce a joué à un jeu virtuel de Pong, tout comme la puce d'IBM. Mais contrairement à la puce d'IBM, HRL n'était pas programmé pour jouer au jeu, mais seulement pour déplacer sa raquette, sentir la balle et recevoir des commentaires qui récompensent un tir réussi ou punissent un échec. Un système de 120 neurones a commencé à s'agiter, mais en cinq tours environ, il est devenu un joueur habile. Vous ne le programmez pas, dit Srinivasa. Vous dites simplement « Bon travail », « Mauvais travail » et il comprend ce qu'il devrait faire. Si des balles, des raquettes ou des adversaires supplémentaires sont ajoutés, le réseau s'adapte rapidement aux changements.
Cette approche pourrait éventuellement permettre aux ingénieurs de créer un robot qui trébuche dans une sorte d'enfance, en découvrant comment se déplacer et naviguer. Vous ne pouvez pas saisir la richesse de toutes les choses qui se produisent dans l'environnement du monde réel, vous devez donc faire en sorte que le système s'en occupe directement, explique Srinivasa. Des machines identiques pourraient alors incorporer tout ce que l'original a appris. Mais laisser aux robots une certaine capacité d'apprentissage après ce point pourrait également être utile. De cette façon, ils pourraient s'adapter s'ils sont endommagés ou ajuster leur démarche à différents types de terrain.
Le premier véritable test de cette vision pour l'informatique neuromorphique aura lieu l'été prochain, lorsque la puce HRL devrait s'échapper de sa paillasse et prendre son envol dans un avion de la taille d'une paume aux ailes battantes, appelé Snipe. Lorsqu'un humain pilote à distance l'engin à travers une série de pièces, la puce recueillera les données de la caméra de l'engin et d'autres capteurs. À un moment donné, la puce recevra un signal qui signifie Faites attention ici. La prochaine fois que le Snipe visitera cette pièce, la puce devrait allumer une lumière pour signaler qu'elle se souvient. Effectuer ce type de reconnaissance nécessiterait normalement trop de puissance électrique et de calcul pour une si petite embarcation.
Intelligence extraterrestre
Malgré les succès modestes mais significatifs des puces Synapse, on ne sait toujours pas si la mise à l'échelle de ces puces produira des machines dotées de facultés cérébrales plus sophistiquées. Et certains critiques doutent qu'il soit un jour possible pour les ingénieurs de copier suffisamment la biologie pour capturer ces capacités.
IBM a utilisé cette simulation de voies neuronales à longue portée chez un singe macaque pour guider la conception de puces neuromorphiques.
Le neuroscientifique Henry Markram, qui a découvert la plasticité dépendante du temps de pointe, a attaqué les travaux de Modha sur les réseaux de neurones simulés, affirmant que leur comportement est trop simpliste. Il pense qu'émuler avec succès les facultés du cerveau nécessite de copier les synapses à l'échelle moléculaire ; le comportement des neurones est influencé par les interactions de dizaines de canaux ioniques et de milliers de protéines, note-t-il, et il existe de nombreux types de synapses, qui se comportent toutes de manière non linéaire ou chaotique. Du point de vue de Markram, capturer les capacités d'un vrai cerveau exigerait des scientifiques qu'ils intègrent toutes ces caractéristiques.
Les équipes de la DARPA rétorquent qu'elles n'ont pas à capturer toute la complexité du cerveau pour faire des choses utiles, et qu'on peut s'attendre à ce que les générations successives de leurs puces se rapprochent de la représentation de la biologie. HRL espère améliorer ses puces en permettant aux neurones de silicium de réguler leur propre taux de décharge comme le font ceux du cerveau, et IBM câble les connexions entre les cœurs de sa dernière puce neuromorphique d'une nouvelle manière, en utilisant les informations issues de simulations des connexions entre différents régions du cortex d'un macaque.
Modha pense que ces connexions pourraient être importantes pour le fonctionnement cérébral de haut niveau. Pourtant, même après de telles améliorations, ces puces seront encore loin de la réalité complexe et désordonnée des cerveaux. Il semble peu probable que les micropuces correspondent un jour aux cerveaux en installant 10 milliards de connexions synaptiques dans un seul centimètre carré, même si HRL expérimente une forme de mémoire plus dense basée sur des dispositifs exotiques appelés memristors.
Dans le même temps, les conceptions neuromorphiques sont encore très éloignées de la plupart des ordinateurs que nous avons aujourd'hui. Peut-être vaut-il mieux reconnaître ces puces comme quelque chose d'entièrement à part, une nouvelle forme d'intelligence extraterrestre.
L'approche traditionnelle consiste à ajouter plus de capacités de calcul et des algorithmes plus puissants, mais qui n'évoluent plus.
Ils sont peut-être extraterrestres, mais le responsable de la stratégie de recherche d'IBM, Zachary Lemnios, prédit que nous voudrons nous familiariser avec eux assez tôt. De nombreuses grandes entreprises ressentent déjà le besoin d'un nouveau type d'intelligence informatique, déclare-t-il : l'approche traditionnelle consiste à ajouter plus de capacités de calcul et des algorithmes plus puissants, mais cela ne s'adapte pas à l'échelle, et nous le constatons. À titre d'exemples, il cite l'assistant personnel Siri d'Apple et les voitures autonomes de Google. Ces technologies ne sont pas très sophistiquées dans leur compréhension du monde qui les entoure, dit Lemnios ; Les voitures de Google dépendent fortement des données cartographiques préchargées pour naviguer, tandis que Siri puise dans des serveurs cloud distants pour la reconnaissance vocale et le traitement de la langue, provoquant des retards notables.
Aujourd'hui, la pointe des logiciels d'intelligence artificielle est une discipline connue sous le nom d'apprentissage en profondeur, adoptée par Google et Facebook, entre autres. Il s'agit d'utiliser un logiciel pour simuler des réseaux de neurones très basiques sur une architecture informatique normale (voir 10 Breakthrough Technologies: Deep Learning , mai/juin 2013). Mais cette approche, qui a produit le logiciel de détection de chats de Google, s'appuie sur de vastes grappes d'ordinateurs pour exécuter les réseaux de neurones simulés et leur fournir des données. Les machines neuromorphiques devraient permettre à ces facultés d'être regroupées dans des appareils compacts et efficaces pour les situations dans lesquelles il est impossible de se connecter à un centre de données distant. IBM discute déjà avec des clients intéressés par l'utilisation de systèmes neuromorphiques. Le traitement vidéo de sécurité et la prédiction de la fraude financière sont au premier plan, car ils nécessitent tous deux un apprentissage complexe et une reconnaissance de formes en temps réel.
Chaque fois que des puces neuromorphiques seront finalement utilisées, ce sera très probablement en collaboration avec des machines de von Neumann. Les chiffres devront encore être croqués, et même dans les systèmes confrontés à des problèmes tels que l'analyse d'images, il sera plus facile et plus efficace d'avoir un ordinateur conventionnel aux commandes. Les puces neuromorphiques pourraient alors être utilisées pour des tâches particulières, tout comme un cerveau s'appuie sur différentes régions spécialisées pour effectuer différentes tâches.
Comme cela a généralement été le cas tout au long de l'histoire de l'informatique, les premiers systèmes de ce type seront probablement déployés au service de l'armée américaine. Ce n'est pas mystique ou magique, dit Gill Pratt, qui gère le projet Synapse à la DARPA, à propos de l'informatique neuromorphique. C'est une différence architecturale qui conduit à un compromis différent entre énergie et performance. Pratt dit que les UAV, en particulier, pourraient utiliser cette approche. Les puces neuromorphiques pourraient reconnaître des points de repère ou des cibles sans les transferts de données volumineux et les puissants ordinateurs conventionnels désormais nécessaires pour traiter l'imagerie. Plutôt que d'envoyer une vidéo d'un groupe de gars, il dirait: 'Il y a une personne dans chacun de ces postes, on dirait qu'ils courent', dit-il.
Cette vision d'un nouveau type de puce informatique en est une que Mead et von Neumann reconnaîtraient sûrement.