Pousser l’informatique à la limite en repensant la conception des micropuces –

En réponse à l’explosion de la demande de l’intelligence artificielle sur les réseaux informatiques, les chercheurs de l’Université de Princeton ces dernières années ont radicalement augmenté la vitesse et réduit la consommation d’énergie des systèmes d’IA spécialisés. Désormais, les chercheurs ont rapproché leur innovation d’une utilisation généralisée en créant du matériel et des logiciels co-conçus qui permettront aux concepteurs d’intégrer ces nouveaux types de systèmes dans leurs applications.
«Le logiciel est un élément essentiel de la mise en place d’un nouveau matériel», a déclaré Naveen Verma, professeur de génie électrique et informatique à Princeton et chef de l’équipe de recherche. «L’espoir est que les concepteurs puissent continuer à utiliser le même système logiciel – et simplement le faire fonctionner dix fois plus vite ou plus efficacement.»
En réduisant à la fois la demande d’énergie et le besoin d’échanger des données depuis des serveurs distants, les systèmes réalisés avec la technologie Princeton pourront amener des applications d’intelligence artificielle, telles que des logiciels de pilotage pour drones ou des traducteurs de langue avancés, à la pointe de l’infrastructure informatique.
«Pour rendre l’IA accessible au processus en temps réel et souvent personnel tout autour de nous, nous devons lutter contre la latence et la confidentialité en déplaçant le calcul lui-même vers la périphérie», a déclaré Verma, directeur du Keller Center for Innovation de l’Université. Formation en ingénierie. “Et cela nécessite à la fois efficacité énergétique et performance.”
Il y a deux ans, l’équipe de recherche de Princeton a fabriqué une nouvelle puce conçue pour améliorer les performances des réseaux de neurones, qui sont l’essence même de l’intelligence artificielle d’aujourd’hui. La puce, qui a fonctionné des dizaines à des centaines de fois mieux que les autres puces avancées, a marqué une approche révolutionnaire à plusieurs égards. En fait, la puce était si différente de tout ce qui était utilisé pour les réseaux neuronaux qu’elle représentait un défi pour les développeurs.
“L’inconvénient majeur de la puce est qu’elle utilise une architecture très inhabituelle et perturbatrice”, a déclaré Verma dans une interview en 2018. “Cela doit être concilié avec l’énorme quantité d’infrastructure et de méthodologie de conception que nous avons et utilisons aujourd’hui.”
Au cours des deux années suivantes, les chercheurs ont travaillé à affiner la puce et à créer un système logiciel qui permettrait aux systèmes d’intelligence artificielle de tirer parti de la vitesse et de l’efficacité de la nouvelle puce. Dans une présentation à la Conférence virtuelle internationale sur les circuits à semi-conducteurs le 22 février, l’auteur principal Hongyang Jia, un étudiant diplômé du laboratoire de recherche de Verma, a décrit comment le nouveau logiciel permettrait aux nouvelles puces de fonctionner avec différents types de réseaux et permettrait au les systèmes doivent être évolutifs à la fois en matériel et en exécution de logiciels.
“Il est programmable sur tous ces réseaux”, a déclaré Verma. “Les réseaux peuvent être très grands, et ils peuvent être très petits.”
L’équipe de Verma a développé la nouvelle puce en réponse à la demande croissante d’intelligence artificielle et au fardeau que l’IA impose aux réseaux informatiques. L’intelligence artificielle, qui permet aux machines d’imiter des fonctions cognitives telles que l’apprentissage et le jugement, joue un rôle essentiel dans les nouvelles technologies telles que la reconnaissance d’images, la traduction et les véhicules autonomes. Idéalement, le calcul pour une technologie telle que la navigation par drone serait basé sur le drone lui-même, plutôt que sur un ordinateur réseau distant. Mais la demande de puissance des micropuces numériques et le besoin de stockage en mémoire peuvent rendre la conception d’un tel système difficile. En règle générale, la solution place une grande partie du calcul et de la mémoire sur un serveur distant, qui communique sans fil avec le drone. Mais cela ajoute aux exigences sur le système de communication, et cela introduit des problèmes de sécurité et des retards dans l’envoi des instructions au drone.
Pour aborder le problème, les chercheurs de Princeton ont repensé l’informatique de plusieurs manières. Tout d’abord, ils ont conçu une puce qui effectue le calcul et stocke les données au même endroit. Cette technique, appelée calcul en mémoire, réduit l’énergie et le temps nécessaires pour échanger des informations avec la mémoire dédiée. La technique augmente l’efficacité, mais elle introduit de nouveaux problèmes: parce qu’elle rassemble les deux fonctions dans une petite zone, le calcul en mémoire repose sur un fonctionnement analogique, qui est sensible à la corruption par des sources telles que les fluctuations de tension et les pics de température. Pour résoudre ce problème, l’équipe de Princeton a conçu ses puces en utilisant des condensateurs plutôt que des transistors. Les condensateurs, dispositifs qui stockent une charge électrique, peuvent être fabriqués avec une plus grande précision et ne sont pas fortement affectés par les variations de tension. Les condensateurs peuvent également être très petits et placés au-dessus des cellules de mémoire, augmentant la densité de traitement et réduisant les besoins en énergie.
Mais même après avoir rendu le fonctionnement analogique robuste, de nombreux défis subsistaient. Le cœur analogique devait être efficacement intégré dans une architecture essentiellement numérique, de manière à pouvoir être combiné avec les autres fonctions et logiciels nécessaires au fonctionnement des systèmes pratiques. Un système numérique utilise des interrupteurs marche / arrêt pour représenter des uns et des zéros que les ingénieurs en informatique utilisent pour écrire les algorithmes qui composent la programmation informatique. Un ordinateur analogique adopte une approche complètement différente. Dans un article de l’IEEE Spectrum, le professeur de l’Université de Columbia, Yannis Tsividis, a décrit un ordinateur analogique comme un système physique conçu pour être régi par des équations identiques à celles que le programmeur souhaite résoudre. Un abaque, par exemple, est un ordinateur analogique très simple. Tsividis dit qu’un seau et un tuyau peuvent servir d’ordinateur analogique pour certains problèmes de calcul: pour résoudre une fonction d’intégration, vous pouvez faire le calcul, ou vous pouvez simplement mesurer l’eau dans le seau.
L’informatique analogique a été la technologie dominante pendant la Seconde Guerre mondiale. Il était utilisé pour exécuter des fonctions allant de la prévision des marées à la direction des canons navals. Mais les systèmes analogiques étaient difficiles à construire et nécessitaient généralement des opérateurs hautement qualifiés. Après l’urgence du transistor, les systèmes numériques se sont révélés plus efficaces et adaptables. Mais les nouvelles technologies et les nouvelles conceptions de circuits ont permis aux ingénieurs d’éliminer de nombreuses lacunes des systèmes analogiques. Pour des applications telles que les réseaux de neurones, les systèmes analogiques offrent de réels avantages. Maintenant, la question est de savoir comment combiner le meilleur des deux mondes. Verma souligne que les deux types de systèmes sont complémentaires. Les systèmes numériques jouent un rôle central tandis que les réseaux neuronaux utilisant des puces analogiques peuvent exécuter des opérations spécialisées de manière extrêmement rapide et efficace. C’est pourquoi le développement d’un système logiciel capable d’intégrer les deux technologies de manière transparente et efficace est une étape si critique.
“L’idée n’est pas de mettre tout le réseau dans l’informatique en mémoire”, a-t-il déclaré. “Vous devez intégrer la capacité de faire toutes les autres choses et de le faire de manière programmable.”