L'IA embarquée, c'est pas juste un buzzword de salon type CES. C'est vraiment ce qui fait que votre voiture freine toute seule, que votre drone évite les arbres et que votre prothèse auditive filtre le bruit en temps réel. Sauf que pour déployer un réseau de neurones sur un microcontrôleur de 256 Ko de RAM... bah on dépend quasi exclusivement de frameworks américains ou chinois.Un peu gênant, non ?Du coup, le CEA (oui, le Commissariat à l'énergie atomique, celui de Palaiseau) a décidé de s'y coller avecAIDGE, un framework open source dédié à l'IA embarquée qui est hébergé par la fondation Eclipse. En gros, vous prenez votre modèle de deep learning entraîné sous PyTorch ou importé en ONNX, et AIDGE se charge de l'optimiser puis de générer du code C/C++ standalone prêt à tourner sur votre cible matérielle. Pas du pseudo-code donc mais du vrai C++ compilable.Et quand je vous dis "cible matérielle", y'a bien sûr pour les GPU et les CPU mais également pour des microcontrôleurs, des DSP, des FPGA (ces puces reprogrammables), des NPU (processeurs spécialisés IA) et même d'ASIC custom. Le framework du CEA supporte les architectures CNN, RNN, GAN et Transformers, avec tout l'arsenal d'optimisation qui va bien tels que quantification post-entraînement, pruning, compression, et même du Quantization Aware Training basé sur les méthodes SAT et LSQ. Bon ok, ça fait beaucoup d'acronymes, on ne comprend pas tout ^^, mais en résumé c'est ce qui permet de réduire la taille d'un modèle de plusieurs gigas à quelques centaines de Mo sans trop perdre en précision.en fait, au lieu de réécrire tout pour chaque puce, AIDGE utilise un système de graphes pour manipuler et transformer vos modèles indépendamment du hardware cible. Comme ça si vous changez de puce, vous regénérez le code, et c'est reparti. Pas besoin de réécrire votre pipeline de déploiement à chaque fois (et ça, si vous avez déjà bossé dans l'embarqué, vous savez que c'est pas rien). Bon par contre, faut pas s'attendre à un pip install aidge qui marchera du premier coup... ce serait trop simple ;-). Faudra quand même compiler quelques dépendances C++ avant d'en profiter.AIDGE est porté par deux gros programmes: DeepGreen côté français avec 18 partenaires (Airbus, Thales, Dassault Aviation, EDF, MBDA, Inria dans la boucle) et Neurokit2E financé par Horizon Europe qui réunit 25 partenaires dans 5 pays (STMicroelectronics, Infineon, Fraunhofer entre autres). Et le projet embarque même un design de chip dédié qui s'appelle NeuroCorgi (oui, comme le chien de la reine d'Angleterre ^^).D'ailleurs, les cas d'usage vont du classique à des choses plus inattendues : détection d'objets pour l'ADAS automobile (genre, freiner avant le piéton), maintenance prédictive en usine, ou encore amélioration audio temps réel pour les prothèses auditives. Le tout sous licence Eclipse Public License 2.0, donc libre et gratuit.Bon après, la doc a encore du mal à suivre (comme souvent avec les projets de recherche) et j'aurais aimé des benchmarks comparatifs clairs face à TensorFlow Lite ou ONNX Runtime, histoire de voir concrètement combien de millisecondes on gagne sur un STM32 par rapport aux alternatives. Mais le fait d'avoir une chaîne complète design-optimisation-déploiement qui soit européenne, open source et hardware-agnostique... ça mérite quand même qu'on s'y intéresse. Surtout quand on voit la dépendance actuelle à PyTorch qui est, faut bien le dire, piloté par Meta.Bref, si vous bossez dans l'embarqué ou que vous kiffez bidouiller du deep learning sur des petites puces,allez jeter un oeil.Merci à Fabrice pour le lien !