Siemens Digital Industries Software (entité issue des équipes de l’éditeur d’outils de CAO Mentor) annonce avec son logiciel de synthèse de haut niveau Catapult AI NN une solution destinée aux ingénieurs logiciels d’une équipe de conception de circuits et permettant de transformer directement des accélérateurs de réseaux de neurones en une portion de silicium d'un Asic ou en un bloc inséré dans une puce-système SoC (System On Chip).
Concrètement, l’outil se présente comme une solution qui débute par une description d’un système neuronal à partir d'un framework de conception de modèles d’intelligence artificielle (IA), puis se poursuit par une conversion de ces modèles en un code C++, pour finir par le synthétiser en un accélérateur d’IA décrit en langage RTL (Verilog ou VHDL) pour une implantation sur silicium.
Catapult AI NN rassemble en fait hls4ml, un package open source pour l'accélération matérielle d'apprentissage automatique, et le logiciel Catapult HLS de Siemens pour la synthèse de haut niveau. Cette solution a été développée en étroite collaboration avec Fermilab, laboratoire de recherche américain spécialisé dans la physique des particules de haute énergie, en vue de répondre aux exigences de la conception d'accélérateurs d'apprentissage automatique en matière de consommation électrique, de performances et de surface de silicium utilisée.
Selon Siemens, il existe en effet un besoin croissant d'accélération IA pour des appareils industriels ou grand public adaptés, avec comme objectif de minimiser la consommation d'énergie, de réduire les coûts de conception et d'optimiser la différenciation du produit final.
Cependant, la plupart des experts en IA et en apprentissage automatique sont plus à l'aise avec des outils tels que TensorFlow, PyTorch ou Keras, plutôt qu'avec du C++ synthétisable, du code Verilog ou du VHDL. De fait, traditionnellement, les experts en IA ne disposent pas de voie aisée pour accélérer leurs applications d'apprentissage automatique dans le cadre d'une implantation physique sous la forme d’un Asic ou d’une puce-système adaptés.
Dans ce cadre, l'initiative hls4ml (*) vise à contribuer à combler cette lacune en générant du C++ à partir d'un réseau de neurones décrit dans des frameworks IA tels que TensorFlow, PyTorch ou Keras. Le C++ peut ensuite être ensuite déployé pour une implantation sur un FPGA, un Asic ou un SoC.
« Le processus de transfert et la conversion manuelle d'un modèle de réseau de neurones en une implémentation matérielle sont à l’heure actuelle peu efficaces, prennent du temps et sont sujets aux erreurs, note Mo Movahed, vice-président et directeur général de la conception, de la vérification et de l'alimentation de haut niveau chez Siemens Digital Industries Software. En particulier lorsqu'il s'agit de créer et de vérifier des variantes d'un accélérateur matériel adaptées à des performances, une consommation et une empreinte silicium spécifiques. En permettant aux scientifiques et aux experts en IA d'exploiter la conception de modèles de réseaux de neurones, et en les synthétisant de manière optimisée au niveau consommation, performances et surface sur le silicium, nous estimons ouvrir de nouvelles possibilités aux ingénieurs en charge de la conception de logiciels d’IA et d’apprentissage automatique, dès le processus de développement logiciel. »
Catapult AI NN est désormais disponible pour des premiers utilisateurs et sera accessible à tous au quatrième trimestre 2024.
(*) Le logiciel hls4ml permet de compiler un modèle créé en langage Python et d'avoir en sortie un code C++ selon les options de configuration définies dans le script Python.