Automobile : dSPACE automatise le passage d’un modèle d’IA vers du code C/C++ de production

Logiciel Neural Net Coder de dSPACE

Neural Net Coder, tel est le nom donné par la société allemande dSPACE, fournisseur de solutions matérielles et logicielles pour le développement d’applications embarquées, notamment dans l’automobile, à un logiciel qui convertit des réseaux de neurones entraînés en un code C déterministe et critique pour la sécurité, destiné aux systèmes embarqués.

Objectif : simplifier l'intégration des réseaux neuronaux dans les systèmes embarqués et accélérer le passage de modèles d'IA à la production.

Annoncé cet été, l'outil qui sera disponible à partir de novembre 2026, transforme des fichiers de modèles ONNX standards (*) en un code C ou C++ lisible et vérifiable. Il cible en particulier les ingénieurs en systèmes automobiles et embarqués qui travaillent sur des unités de commande électronique (ECU) embarqués.

L’idée sous-jacente est de parvenir de manière précoce dans un cycle de développement à estimer la mémoire dont une application aura besoin ainsi que les performances d’exécution attendues.

Selon dSPACE, le déploiement de réseaux neuronaux dans des applications embarquées implique en effet souvent de trouver un équilibre entre les contraintes en matière de ressources et la précision du modèle. Or, lorsque la mémoire est limitée, l'optimisation devient indispensable.

A ce niveau, l’optimisation post-entraînement du modèle au niveau du code, réalisée par l’outil Neural Net Coder, permet selon dSPACE de réduire l'utilisation de la mémoire et la durée d’exécution d’un code sans qu’il soit nécessaire de réentraîner le réseau neuronal.

En outre, le logiciel adapte les modèles aux contraintes intégrées tout en cherchant le meilleur équilibre entre précision et efficacité.

Ainsi, au lieu d'une implantation manuelle, les développeurs disposent avec cet outil d’un code déterministe prêt à l’emploi dont le comportement d'exécution prévisible respecte, par exemple, les directives MISRA largement utilisées chez les développeurs dans l’automobile.

Au-delà, la notion de vérification intégrée dans Neural Net Coder permet de s'assurer grâce à des tests back-to-back automatiques que le fonctionnement du code généré est équivalent à celui du réseau neuronal d'origine. Une approche qui favorise la transparence et la confiance, en particulier dans les processus de développement liés à la sécurité.

Enfin, Neural Net Code s’insère dans des flux de travail existants, en particulier ceux intégrant TargetLink de dSPACE, logiciel qui génère un code C pour les ECU directement depuis les envrionnements Simulink et Stateflow de MathWorks.

(*) ONNX - Open Neural Network Exchange - est un format ouvert et standardisé pour représenter des modèles d'intelligence artificielle. Il permet d'utiliser un modèle créé dans un framework comme PyTorch ou TensorFlow sur divers moteurs d'exécution sans avoir à modifier le code de base.