N2D2 est une plateforme de deep learning complète spécialisée dans la conception de réseaux de neurones profonds destinés à fonctionner en environnement contraint. Elle permet aux industriels qui en ont besoin d’intégrer des fonctions avancées de traitement de données dans leurs systèmes embarqués.
N2D2 (Neural Network Design and Deployment) répond au besoin d’intégrer des applications d’IA, comme la reconnaissance d’images (classification, détection d’objets…) ou le traitement de signal, dans des systèmes contraints en consommation ou dissipation d’énergie, en latence, en facteur de forme (dimensions, encombrement…) et/ou par des critères économiques.
Issu des travaux d’ingénieurs-chercheurs du CEA-List spécialisés en systèmes embarqués, cette plateforme permet de créer des réseaux de neurones profonds optimisés pour satisfaire les contraintes de l’embarqué. N2D2 dispose notamment de fonctions pour réduire la complexité calculatoire des modèles et leur besoin en quantité mémoire, via des techniques de quantification (après ou pendant l’entraînement) et d’optimisation topologique notamment. Il permet de réaliser des analyses comparatives pour sélectionner la meilleure cible matérielle (MCU, GPU, FPGA) en fonction des contraintes, puis de générer une implémentation optimisée pour celle-ci, dans le modèle de programmation adapté (C++, TensorRT, OpenCL, RTL…).
N2D2 est disponible sur Github sous licence open source CeCILL-C (équivalent à la LGPL, une licence non contaminante). Elle est ouverte aux contributions et améliorations de ses utilisateurs.
N2D2 dispose de nombreux avantages :
Nous avons décidé de travailler avec N2D2 pour son atout primordial : la flexibilité du portage des applications sur différentes plateformes.
Exemples de cas d’usage :
ArcelorMittal a utilisé N2D2 pour déployer des dispositifs de vision industrielle, en vue d’améliorer ses systèmes d’inspection de surfaces et permettre la détection de défauts en temps réel. Grâce à la portabilité des développements, les équipes ont pu récupérer des exécutables C et les faire tourner sur leurs machines, et déployer leurs développements sur des GPU et des plateformes de type FPGA – DSP.
Pour ArcelorMittal, le passage du cœur de N2D2 en open source apporte la garantie de sa pérennité et de son enrichissement de nouvelles fonctions au fil du temps.