Brief IA

AIDGE - Du deep learning sur vos microcontrôleurs

💻 Code & Devvia Korben·Korben·

AIDGE - Du deep learning sur vos microcontrôleurs

AIDGE - Du deep learning sur vos microcontrôleurs
En bref
1L'IA embarquée facilite des applications critiques telles que le freinage automatique et l'évitement d'obstacles.
2256 Ko de RAM représente la limite actuelle pour l'implémentation de réseaux de neurones sur microcontrôleurs.
3Le CEA travaille sur des solutions pour diminuer la dépendance aux frameworks étrangers, renforçant ainsi l'autonomie technologique.
💡Pourquoi c'est importantCela pourrait positionner l'Europe comme un acteur clé dans le développement de l'IA embarquée, réduisant les risques liés à la dépendance technologique.
📄
Article traduit en français

AIDGE - Du deep learning sur vos microcontrôleurs

L'IA embarquée n'est pas qu'un simple mot à la mode. Elle est à la base de nombreuses innovations, comme le freinage automatique des voitures, l'évitement d'obstacles par les drones, ou encore le filtrage du bruit en temps réel dans les prothèses auditives. Cependant, déployer un réseau de neurones sur un microcontrôleur de 256 Ko de RAM pose un défi majeur, car cela dépend principalement de frameworks américains ou chinois.

Pour remédier à cela, le CEA (Commissariat à l'énergie atomique) a développé AIDGE, un framework open source dédié à l'IA embarquée, hébergé par la fondation Eclipse. En pratique, vous pouvez prendre votre modèle de deep learning entraîné sous PyTorch ou importé en ONNX, et AIDGE s'occupe de l'optimiser et de générer du code C/C++ autonome, prêt à être exécuté sur votre matériel.

AIDGE prend en charge une variété de cibles matérielles, notamment :

  • GPU
  • CPU
  • microcontrôleurs
  • DSP
  • FPGA (puces reprogrammables)
  • NPU (processeurs spécialisés en IA)
  • ASIC custom

Le framework supporte les architectures CNN, RNN, GAN et Transformers, et propose divers outils d'optimisation tels que :

  • quantification post-entraînement
  • pruning
  • compression
  • Quantization Aware Training basé sur les méthodes SAT et LSQ

Ces techniques permettent de réduire la taille d'un modèle de plusieurs gigaoctets à quelques centaines de mégaoctets sans trop sacrifier la précision.

AIDGE utilise un système de graphes pour manipuler et transformer vos modèles indépendamment du matériel cible. Ainsi, si vous changez de puce, il vous suffit de régénérer le code sans avoir à réécrire votre pipeline de déploiement. Cela représente un gain de temps considérable, surtout pour ceux qui ont déjà travaillé dans l'embarqué. Cependant, il est important de noter qu'une simple commande pip install aidge ne suffira pas ; il faudra compiler quelques dépendances C++ au préalable.

AIDGE est soutenu par deux programmes majeurs :

  • DeepGreen en France, avec 18 partenaires (Airbus, Thales, Dassault Aviation, EDF, MBDA, Inria, etc.)
  • Neurokit2E, financé par Horizon Europe, réunissant 25 partenaires dans 5 pays (STMicroelectronics, Infineon, Fraunhofer, entre autres)

Le projet inclut également un design de chip dédié, nommé NeuroCorgi.

Les cas d'usage d'AIDGE vont de l'usage classique à des applications plus inattendues, comme :

  • Détection d'objets pour l'ADAS automobile (par exemple, freiner avant un piéton)
  • Maintenance prédictive en usine
  • Amélioration audio en temps réel pour les prothèses auditives

Le tout est proposé sous la licence Eclipse Public License 2.0, ce qui le rend libre et gratuit.

Cependant, la documentation a encore des lacunes, comme c'est souvent le cas avec les projets de recherche. Il serait également intéressant d'avoir des benchmarks comparatifs clairs face à TensorFlow Lite ou ONNX Runtime, afin d'évaluer les gains en millisecondes sur un STM32 par rapport aux alternatives. Néanmoins, le fait de disposer d'une chaîne complète de design, d'optimisation et de déploiement qui soit européenne, open source et hardware-agnostique mérite qu'on s'y intéresse, surtout face à la dépendance actuelle à PyTorch, qui est principalement piloté par Meta.

Si vous travaillez dans l'embarqué ou que vous aimez expérimenter avec le deep learning sur de petites puces, n'hésitez pas à explorer AIDGE.

TwitterLinkedIn

Brief IA — Veille IA quotidienne

Toutes les innovations IA du monde entier, résumées et analysées automatiquement chaque jour.