jim - stock.adobe.com
Prochaine étape pour l’IA : imiter le vivant
En dépit des énormes avancées de l’intelligence artificielle, les mécanismes vivants gardent une énorme longueur d’avance en termes de puissance et de consommation énergétique. Les chercheurs ne s’avouent pas battus et explorent la piste neuromorphique.
Tout le monde se souvient de Terminator, le célèbre robot qui prend de lui-même la décision de tuer dans le film éponyme de James Cameron sorti en 1984. Heureusement pour l’humanité, nous n’avons pas atteint ce stade du robot totalement autonome. En dépit des progrès technologiques prodigieux, il appartient encore à la science-fiction.
Et les problèmes sont nombreux. Qu’il s’agisse des voitures, d’un robot, ou d’un capteur industriel, les machines « en périphérie » du réseau (le Edge) ne peuvent tout d’abord pas compter sur un back-end pour prendre des décisions en temps réel. Les réseaux ne sont pas assez fiables et une latence de seulement quelques millisecondes peut faire la différence entre frôler un précipice ou s’y jeter.
Il faut donc embarquer l’intelligence directement dans ces appareils – le fameux Edge Computing. Mais, dès que les décisions deviennent complexes – et qu’elles dépassent l’alternative binaire « oui » ou « non » – nombreux sont ceux qui considèrent que les technologies de Edge Computing actuelles sont encore inefficientes.
Ce n’est pas tant, disent-ils, que les modèles de données les plus évoluées échouent à représenter fidèlement les situations du monde réel (ce qu’ils ont du mal à faire par ailleurs), mais le Machine Learning ne possède pas les capacités d’adaptation suffisantes pour s’adapter à des situations inattendues.
La puissance du cerveau reste inégalée
Au cours du Intel Labs Day de l’année passée, le directeur du laboratoire neuromorphique d’Intel, Mike Davies, a expliqué pourquoi il lui semblait que la manière d’envisager le compute devait être reconsidérée, en s’inspirant de la nature et en particulier du cerveau. « Le cerveau est un outil de calcul unique », justifie-t-il.
Pour illustrer son propos, Mike Davis fait une comparaison frappante.
D’un côté des drones de courses semi-autonomes qui arrivent à suivre un parcours préenregistré, à une vitesse proche de celle de la marche. Leurs processeurs embarqués consomment 18 watts.
De l’autre… une perruche, « un oiseau avec un minuscule cerveau qui ne consomme que 50 milliwatts ».
D’un côté, un processeur de 40 g. De l’autre, un cerveau de 2,2 g.
Résultat des courses ? « En plus de sa plus faible consommation énergétique, la perruche est capable de voler à 35 km/h. Elle sait chercher sa nourriture et sait discuter avec ses congénères », s’émerveille Mike Davis. « Elle parvient même à apprendre quelques mots de vocabulaire humain. La nature fait au minimum trois fois mieux qu’un ordinateur, quels que soient les critères que l’on regarde. »
S’inspirer d’une machine vieille de plusieurs millions d’années : le cerveau
Tenter de s’inspirer du cerveau humain n’est pas tout à fait une nouveauté. Le Deep Learning s’appuie sur des « réseaux de neurones ». Pourtant, souligne Mike Davies, on oublie souvent un point fondamental. « L’architecture des ordinateurs actuels n’est pas adaptée », souligne-t-il alors que « le cerveau, lui, a été optimisé par la nature en plusieurs millions d’années. » Autant prendre modèle sur lui.
Pour Mike Davies, même si le Deep Learning est très intéressant pour le Edge, il a aussi de très sérieuses limites. « Il permet de résoudre à merveille certains types de problèmes, mais il ne peut reproduire qu’une infime fraction du comportement du cerveau ». Le Deep Learning permet par exemple à un drone de reconnaître les portes par lesquelles il doit passer, mais il ne l’apprend pas de manière naturelle. « Le CPU est optimisé pour traiter les données par batch », rappelle Mike Davis. « Dans le Deep Learning, pour prendre une décision, le processeur a besoin d’échantillons de jeux de données sous forme de vecteurs pour repérer des patterns qui correspondent à ce qui est stocké ».
« Les données sont organisées en batch. Et elles doivent être uniformément distribuées », continue-t-il. « Ce n’est pas du tout de cette manière que les organismes naturels, qui doivent évoluer en temps réel, gèrent la donnée ».
Un cerveau traitera les données par échantillon (sample), et non par lot (batch). Il doit également s’adapter, ce qui mobilise la mémoire. Comme le résume Mike Davies : « un catalogue d’évènements passés influence le cerveau et alimente des boucles d’apprentissage adaptatives ».
Quand c’est le Edge qui décide
Intel réfléchit donc à une manière de repenser l’architecture dès le transistor, pour estomper la frontière entre processeur et mémoire. L’objectif est de concevoir une machine qui, s’inspirant du fonctionnement des neurones biologiques, traite en parallèle les données de plusieurs millions d’unités de traitement simples de manière asynchrone.
En 2017, Intel a développé Loihi (128 cœurs, gravure à 14 nm). Cette puce comporte 130 000 neurones qui peuvent tous communiquer avec des milliers d’autres. Selon Intel, les développeurs peuvent accéder aux ressources de la puce grâce à un moteur d’apprentissage intégré à chacun des cœurs, puis les manipuler.
Quand on demande à Mike Davies quelles applications il imagine pour ces ordinateurs neuromorphiques, il évoque la résolution de problèmes similaires à ceux de l’informatique quantique. Néanmoins, alors que l’informatique quantique sera sans doute utilisée dans le cloud, Intel pousse l’informatique neuromorphique comme unité de co-traitement dans le Edge. Mike Davies pense que les premiers appareils pourront être commercialisés d’ici 5 ans.
Loihi pourrait par exemple être utilisé pour apprendre, puis identifier les produits chimiques dangereux en extérieur, en s’inspirant de l’architecture du bulbe olfactif des mammifères qui est responsable de leur odorat.
Pour Mike Davies, comme pour de nombreux chercheurs, la principale difficulté ne devrait pas être matérielle. Le plus dur sera d’amener les programmeurs à changer 70 ans d’habitude de programmation traditionnelle pour comprendre comment tirer efficacement parti des ordinateurs neuronaux.
« C’est le vrai défi. Il faudra comprendre comment programmer des milliers de neurones qui interagissent en parallèle », conclut-il. Un beau défi pour le cerveau des développeurs.