Crédit :Université de Princeton
En déplaçant une propriété fondamentale du calcul, Les chercheurs de Princeton ont construit un nouveau type de puce informatique qui améliore les performances et réduit les besoins énergétiques des systèmes utilisés pour l'intelligence artificielle.
La puce, qui fonctionne avec les langages de programmation standard, pourrait être particulièrement utile sur les téléphones, montres ou autres appareils qui reposent sur des calculs hautes performances et dont la durée de vie de la batterie est limitée.
La puce, basé sur une technique appelée calcul en mémoire, est conçu pour éliminer un goulot d'étranglement de calcul principal qui oblige les processeurs informatiques à consacrer du temps et de l'énergie à récupérer des données à partir de la mémoire stockée. L'informatique en mémoire effectue le calcul directement dans le stockage, permettant une plus grande rapidité et efficacité.
L'annonce de la nouvelle puce, avec un système pour le programmer, suit de près un rapport antérieur selon lequel les chercheurs en collaboration avec Analog Devices Inc. avaient fabriqué des circuits pour l'informatique en mémoire. Des tests en laboratoire des circuits ont démontré que la puce fonctionnerait des dizaines à des centaines de fois plus rapidement que des puces comparables. Cependant, la puce initiale n'incluait pas tous les composants de la version la plus récente, sa capacité était donc limitée.
Dans la nouvelle annonce, chercheurs du laboratoire de Naveen Verma, professeur agrégé de génie électrique, rapportent qu'ils ont intégré les circuits en mémoire dans une architecture de processeur programmable. La puce fonctionne désormais avec les langages informatiques courants tels que C.
"La puce précédente était un moteur fort et puissant, " a déclaré Hongyang Jia, un étudiant diplômé du groupe Verma et l'un des concepteurs de puces. "Cette puce est toute la voiture."
Bien qu'il puisse fonctionner avec une large gamme de systèmes, la puce Princeton est destinée à prendre en charge des systèmes conçus pour l'inférence d'apprentissage en profondeur, des algorithmes qui permettent aux ordinateurs de prendre des décisions et d'effectuer des tâches complexes en apprenant à partir d'ensembles de données. Les systèmes d'apprentissage en profondeur dirigent des choses telles que les voitures autonomes, systèmes de reconnaissance faciale et logiciels de diagnostic médical.
Verma a déclaré que pour de nombreuses applications, les économies d'énergie de la puce seraient aussi critiques que l'amélioration des performances. En effet, de nombreuses applications d'IA devraient fonctionner sur des appareils alimentés par des batteries tels que des téléphones portables ou des capteurs médicaux portables. L'iPhone X d'Apple, par exemple, possède déjà une puce AI dans ses circuits. Mais, les économies d'énergie et les gains de performances ne sont utiles que s'ils sont accessibles par la large base d'applications qui en ont besoin - c'est là qu'intervient le besoin de programmabilité.
"L'architecture informatique classique sépare le processeur central, qui croque les données, de la mémoire, qui stocke les données, " a déclaré Verma. " Une grande partie de l'énergie de l'ordinateur est utilisée pour déplacer des données dans les deux sens. "
En partie, la nouvelle puce est une réponse à la promesse de ralentissement de la loi de Moore. En 1965, Le fondateur d'Intel, Gordon Moore, a observé que le nombre de transistors sur les circuits intégrés doublait environ chaque année, et l'industrie a également noté que ces transistors sont devenus plus rapides et plus économes en énergie au cours du processus. Depuis des décennies, ces remarques, connue sous le nom de loi de Moore, a soutenu une transformation dans laquelle les ordinateurs sont devenus de plus en plus puissants. Mais ces dernières années, les transistors n'ont pas continué à s'améliorer comme par le passé, se heurtent aux limites fondamentales de leur physique.
Verma, qui se spécialise dans la conception de circuits et de systèmes, réfléchi à des moyens de contourner cette compression au niveau architectural plutôt qu'au niveau du transistor. Le calcul nécessaire à l'IA serait beaucoup plus efficace s'il pouvait être effectué au même endroit que la mémoire de l'ordinateur, car cela éliminerait le temps et l'énergie utilisés pour récupérer les données stockées à distance. Cela rendrait l'ordinateur plus rapide sans mettre à niveau les transistors. Mais créer un tel système a posé un défi. Les circuits mémoire sont conçus de manière aussi dense que possible afin d'emballer de grandes quantités de données. Calcul, d'autre part, nécessite que l'espace soit consacré à des transistors supplémentaires.
Une option consistait à remplacer les transistors par des composants électriques appelés condensateurs. Les transistors sont essentiellement des commutateurs qui utilisent des changements de tension pour représenter les 1 et les 0 qui composent les signaux informatiques binaires. Ils peuvent faire toutes sortes de calculs en utilisant des tableaux de 1 et 0 chiffres, c'est pourquoi les systèmes sont appelés numériques. Les condensateurs stockent et libèrent la charge électrique, donc ils peuvent représenter n'importe quel nombre, pas seulement des 1 et des 0. Verma s'est rendu compte qu'avec des condensateurs, il pouvait effectuer des calculs dans un espace beaucoup plus dense qu'avec des transistors.
Les condensateurs peuvent également être fabriqués très précisément sur une puce, bien plus que les transistors. La nouvelle conception associe des condensateurs à des cellules conventionnelles de mémoire statique à accès aléatoire (SRAM) sur une puce. La combinaison de condensateurs et de SRAM est utilisée pour effectuer des calculs sur les données dans le domaine analogique (non numérique), mais de manière fiable et susceptible d'inclure des fonctionnalités de programmabilité. Maintenant, les circuits de mémoire peuvent effectuer des calculs de manière dirigée par l'unité centrale de traitement de la puce.
"L'informatique en mémoire a montré beaucoup de promesses ces dernières années, en abordant vraiment l'énergie et la vitesse des systèmes informatiques, " a déclaré Verma. " Mais la grande question a été de savoir si cette promesse s'étendrait et serait utilisable par les concepteurs de systèmes pour toutes les applications d'IA qui nous intéressent vraiment. Cela rend la programmabilité nécessaire."