L’avantage de la mémoire non volatile (NVM) pour l’IA de pointe

Written By shabang

Shabang partage sa passion et son expertise sur Shabang.dev, votre halte quotidienne pour tout ce qui est tech & tech

L’innovation continue dans les technologies des semi-conducteurs, les algorithmes et la science des données permettent d’incorporer un certain degré de capacité d’inférence de l’IA dans un nombre croissant d’appareils de pointe. Aujourd’hui, nous le constatons dans les applications de vision par ordinateur telles que la reconnaissance d’objets, la reconnaissance faciale et la classification d’images sur des produits allant des téléphones et ordinateurs portables aux caméras de sécurité. Dans les systèmes industriels, l’inférence permet une maintenance prédictive des équipements et permet aux robots d’effectuer des tâches de manière indépendante. Pour les produits IoT et de maison intelligente, l’inférence IA permet de surveiller et de répondre en temps réel à diverses entrées de capteurs.

Les solutions de traitement les moins coûteuses qui prennent aujourd’hui en charge l’inférence IA sont les microcontrôleurs monopuce disponibles dans le commerce utilisés pour les systèmes IoT. Ces puces combinent des fonctions CPU, SRAM et IO à usage général avec une mémoire non volatile (NVM). Cependant, ces puces implémentent les algorithmes d’IA dans des logiciels exécutés sur le processeur, qui ne peuvent fournir que des performances modestes et ne sont pratiques que pour des inférences de base. Faire évoluer une solution monopuce pour fournir une inférence de plus hautes performances présente un défi pour les concepteurs.

Les solutions actuelles, censées fournir plusieurs téraflops de performances pour des algorithmes d’inférence exigeants, doivent utiliser du matériel dédié à l’accélération de l’IA. Et pour atteindre les performances requises tout en maintenant la consommation d’énergie au minimum, ils doivent être fabriqués selon des processus de pointe. En effet, il existe aujourd’hui sur le marché de nombreux systèmes sur puces (SoC) dotés d’un matériel dédié à l’accélération de l’IA développé dans des géométries de processus avancées qui sont assez efficaces.

Cependant, il s’agit généralement de solutions à deux puces avec un moteur de calcul IA implémenté dans un processus avancé (généralement 22 nm ou moins) et un dispositif NVM implémenté dans une technologie de processus plus ancienne. En effet, le flash intégré n’évolue pas bien en dessous de 40 nm ; à 28 nm, le coût devient prohibitif pour la plupart des applications, donc à 28 nm, le flash intégré n’existe pas. Cela signifie qu’il n’est pas possible d’intégrer Flash et un moteur d’inférence hautes performances dans un seul SoC.

Lire  Comment changer la voix de Siri sur iPhone, Mac et HomePod

Pour les applications où le coût est secondaire par rapport aux performances, une telle solution à deux puces peut être viable (pensez aux produits comme les voitures autonomes qui nécessitent d’énormes modèles d’IA stockés sur des disques SSD). [SSDs] et fonctionnent à partir de DRAM). Cependant, pour les produits d’IA de faible consommation, le coût d’une solution à deux puces peut être prohibitif. Il est également nécessaire dans une solution à deux puces de récupérer en permanence les poids de la mémoire externe, ce qui entraîne une latence et une consommation d’énergie accrues. De plus, une solution à deux puces présente des risques de sécurité potentiels, car il existe un plus grand risque de piratage du système en lisant ou en modifiant la NVM via des bus externes.

Le « Saint Graal » pour les systèmes à faible coût et à faible consommation est une puce unique (SoC ou MCU) qui combine les accélérateurs, NVM, SRAM et IO sur un seul SoC. Du point de vue des ressources, la plupart des petites applications IoT à faible consommation et autres applications de pointe d’IA n’ont pas réellement besoin d’une solution à deux puces. Dans ces applications, les modèles d’IA peuvent être suffisamment petits pour s’intégrer dans la NVM interne d’un SoC. Seule l’évolutivité limitée du Flash constitue un défi.

Une solution à puce unique permettrait non seulement de réduire les coûts ; cela permettrait d’obtenir des performances plus élevées et une consommation plus faible, à la fois en raison de la bande passante plus élevée entre la mémoire et les unités d’exécution, et parce qu’il n’est pas nécessaire de récupérer des poids au-delà des limites des puces. Et comme les modèles d’IA dans ces applications sont relativement petits et ne sont pas mis à jour trop fréquemment, la NVM sur puce pourrait être utilisée non seulement pour la tâche NVM traditionnelle de stockage de code ; il pourrait également être utilisé pour contenir les poids AI et le micrologiciel du processeur.

Réaliser une solution à puce unique avec ReRAM

La RAM résistive (ReRAM ou RRAM) est une technologie NVM innovante qui permet de concrétiser la vision d’une solution monopuce à faible coût et à faible consommation pour l’inférence de l’IA de pointe. ReRAM peut évoluer vers des nœuds de processus avancés avec le reste de la puce afin de pouvoir être implémenté sur le même processus avancé que le moteur d’IA.

Lire  Comment masquer son numéro de téléphone

ReRAM peut être utilisé pour remplacer la grande SRAM sur puce afin de stocker les poids AI et le micrologiciel du processeur. La technologie étant non volatile, il n’est pas nécessaire d’attendre au démarrage pour charger le modèle d’IA à partir d’une NVM externe. Il est beaucoup plus dense que la SRAM, ce qui le rend moins cher que la SRAM par bit, de sorte que davantage de mémoire peut être intégrée sur la puce pour prendre en charge des réseaux neuronaux plus grands pour la même taille de puce et le même coût. Même si la SRAM sur puce sera toujours nécessaire pour le stockage des données, la baie sera plus petite et la solution globale plus rentable.

Avec ReRAM, les concepteurs peuvent implémenter une IA avancée sur une seule puce dans un seul circuit intégré tout en réduisant la taille et le coût de la puce.

Regard vers l’avenir : les futures architectures d’IA

Alors que nous regardons vers l’avenir, ReRAM sera également un élément constitutif de l’avenir de l’IA de pointe : l’informatique neuromorphique (également appelée traitement analogique en mémoire). Dans ce paradigme, les ressources de calcul et la mémoire résident au même endroit, il n’est donc pas nécessaire de déplacer les pondérations. Les matrices du réseau neuronal deviennent des réseaux de cellules ReRAM et les poids synaptiques deviennent la conductance des cellules NVM qui pilotent les opérations de multiplication.

Étant donné que les cellules ReRAM présentent des similitudes physiques et fonctionnelles avec les synapses du cerveau humain, il sera possible d’émuler le comportement du cerveau humain avec ReRAM pour un traitement rapide en temps réel sur d’énormes quantités de données. Une telle solution sera bien plus économe en énergie que les simulations de réseaux neuronaux actuelles sur des processeurs traditionnels.



Laisser un commentaire