Partager

Qu’est ce que NeuroCorgi ?

NeuroCorgi

Qu’est ce que NeuroCorgi ?

L’avènement de dispositifs et de systèmes intelligents dotés de leurs propres capacités d’IA (intelligence artificielle) locales constitue l’une des grandes tendances technologiques actuelles et le signe d’une transformation numérique majeure. Non seulement le traitement des données réalisé à proximité ou directement à la source est plus rapide, mais il permet également de réduire le transfert des données et de protéger la confidentialité et la sécurité de ces dernières. Intégrer l’IA aux puces électroniques soulève un nouvel ensemble de défis. Les attentes en matière de performances sont élevées, mais la puce doit rester compacte, légère et peu gourmande en énergie.

Pour relever ces défis, le CEA-List a développé une solution inspirée du cerveau, appelée NeuroCorgi. Dans le cortex visuel humain, les premières couches de neurones se fixent assez tôt dans l’enfance. Malgré cela, les humains peuvent continuer à « apprendre » de nouveaux objets et visages tout au long de leur vie. NeuroCorgi fonctionne de manière similaire : la structure d’extraction des caractéristiques est fixée dès la phase de conception du circuit, à l’instar de ces neurones de l’enfance. Dans le circuit, cela évite les accès à la mémoire et les transferts de données, qui sont très gourmands en énergie.

L’apprentissage par transfert est ensuite utilisé pour configurer et optimiser les couches de sortie en fonction d’une application donnée. NeuroCorgi, qui peut traiter des tâches de classification, de segmentation et de détection de plusieurs objets, est optimisé pour les applications mobiles et consomme moins d’énergie que le capteur lui-même. NeuroCorgi est le premier représentant d’une nouvelle catégorie d’accélérateurs d’IA : les accélérateurs d’extraction de caractéristiques (FEA). Afin de faciliter la conception de la version actuelle et des versions futures, un outil appelé CorgiBuilder a été développé : il génère le code RTL, un modèle de simulation CPP et le SDK pour l’intégration de PyTorch.

Applications

Ce circuit unique en son genre permet de s’attaquer à des applications jusqu’alors inaccessibles. Il permet un traitement par IA en périphérie, avec une empreinte énergétique inférieure à celle de l’acquisition de données.

Nous anticipons des applications conduisant à une réduction de l’utilisation des herbicides et des pesticides en agriculture, à une meilleure surveillance des zones et à une détection étendue des obstacles.

 

Transports

  • Évitement d’obstacles (drones urbains, robots industriels, etc.)

 

Agriculture

  • Détection des plantes pour le désherbage mécanique
  • Détection des insectes dans les systèmes hydroponiques
  • Détection des maladies de la vigne pour la viticulture

 

Surveillance

  • Détection des intrusions sur les chantiers de construction
  • Classification des sons

 

Défense

  • Détection du spectre radioélectrique pour la détection des brouilleurs
  • Caméras multispectrales

Ce qui est nouveau

Le fait de figer une grande partie du réseau neuronal est le concept clé qui se cache derrière ce circuit à très faible consommation d’énergie. Les premières couches, utilisées pour l’extraction de caractéristiques, sont entièrement figées lors de la conception du circuit. L’apprentissage par transfert est ensuite utilisé pour optimiser les couches de sortie pour chaque nouvelle application. Ce concept inspiré du cerveau fait écho au mode d’apprentissage du cortex visuel humain.

Le circuit est construit à partir d’un réseau neuronal d’extraction de caractéristiques fixes, optimisé pour l’IA sur puce. Sa conception a été facilitée grâce à un environnement d’apprentissage développé au CEA, qui réalise la quantification des paramètres et la génération de code pour la conception d’un ASIC. Par rapport à l’état actuel de la technique, il s’agit d’une approche novatrice et efficace.

  • La consommation électrique, inférieure à 100 mW, est 1 000 fois plus faible que celle des solutions conventionnelles.
  • Le traitement IA à proximité du capteur consomme désormais moins d’énergie que le capteur lui-même. NeuroCorgi présente bien sûr ses propres compromis.
  • Les couches d’extraction de caractéristiques, qui ne peuvent pas être réapprises, entraînent une très légère perte de précision (~1 %).
  • La latence de traitement est inférieure à 10 ms. Il est donc parfaitement adapté aux systèmes d’inférence IA en temps réel où la latence est critique.
NeuroCorgi

Réalisations

  • Implémentations matérielles sur les derniers nœuds technologiques en 22 nm.
  • Évaluation des performances des applications à l’aide de démonstrateurs en temps réel, notamment en matière de : segmentation d’images et classification.

Segmentation sémantique des piétons et des véhicules dans un environnement urbain

Contact

Pour aller plus loin