Le calcul analogique en mémoire (AIMC) se base sur des dispositifs de mémoire résistive (mémoire à changement de phase) pour l'inférence d'apprentissage en profondeur, réduisant la latence des traitements du calcul et les dépenses en énergie.
La puce, fabriquée dans le complexe NanoTech d'Albany d'IBM et qui comporte 64 cœurs AIMC (cœurs de calcul analogiques en mémoire), interconnectés par des réseaux neuronaux profonds (DNN pour Deep Neural Networks), a pour mission « d'imiter » le fonctionnement du cerveau humain... Chacun des cœurs AIMC intègre des convertisseurs analogiques-numériques, qui assurent la transition entre les mondes analogique et numérique, et des unités de traitement numérique qui exécutent des fonctions d'activation neuronale non linéaires et des opérations pouvant atteindre des débits de 16,1 ou 63,1 Téra-opérations par seconde (FLOPS pour FLoating point Operations Per Second) avec une efficacité énergétique de 2,48 ou 9,76 Téra-opérations par seconde et par watt.
Ce modèle, basé sur une approche analogique, apporte une précision d'inférence quasi-équivalente au réseau neuronal résiduel appelé « ResNet ». Il en découle logiquement qu'une puce d'intelligence artificielle analogique est sans commune mesure plus rapide et plus économe en énergie qu'une puce d'intelligence artificielle numérique, et ce, principalement pour ces deux raisons fondamentales :
1. Le calcul en mémoire (IMC)
Plutôt que d'effectuer le calcul des données dans des bases hébergées sur des unités du processeur, le calcul en mémoire (IMC) les effectue directement en RAM. Les quantités massives de données ne sont donc ainsi pas transférées de la mémoire vers le processeur.
- Suppression des transactions ACID
- Suppression des transactions en E/S des applications OLTP
- Accélération importante de l’accès aux données.
De ce fait, le calcul en mémoire garantit des temps de réponse très courts et une optimisation des performances, notamment grâce à la mise en cache de ces quantités massives de données.
2. Traitement des opérations en parallèle
Les puces analogiques effectuent également des opérations en parallèle. Bien que la taille de la matrice augmente, une puce analogique n’a pas besoin de plus de temps pour effectuer de nouvelles opérations, puisque tous les calculs sont effectués simultanément.