Accélérer la simulation de circuit électronique à l'aide de l'IA et du ML
Il y a quelques jours, Julia Computing a reçu un financement de l'agence américaine DARPA (US Defense Advanced Research Projects Agency). Ce financement a été accordé pour accélérer la simulation de modèles de circuits analogiques et mixtes en utilisant des techniques d'apprentissage automatique (ML) et d'intelligence artificielle (IA) de pointe. En effet, la DARPA a lancé l'année dernière le programme Ditto. Selon les explications de l'agence fédérale, ce programme vise à explorer les nouvelles solutions d'IA de troisième génération dans le cadre de la simulation de systèmes microélectroniques.
La DARPA a déclaré que cet effort vise à développer un framework logiciel automatisé capable de prendre en compte la conception d'un système microélectronique, de former des modèles de substitution efficaces des composants du sous-système et de simuler ces conceptions 1000 fois plus vite tout en maintenant des niveaux de précision acceptables. En réponse à ce commentaire, Keno Fischer, cofondateur et CTO de Julia Computing, a mis en avant les qualités reconnues à Julia, permettant ainsi à son entreprise de décrocher le prix. Julia Computing est une société fondée en 2015 par l'ensemble des créateurs de Julia. Elle fournit des solutions d'entreprise évolutives via sa plateforme JuliaHub.
« Les performances de Julia et ses capacités de programmation différentiable nous donnent un avantage unique dans la création de nouveaux outils de modélisation et de simulation », a-t-il déclaré. « En utilisant des architectures de substitution récemment développées, telles que notre architecture CTESN (Continuous Time Echo State Network), nous avons déjà pu démontrer une accélération 100 fois supérieure en employant ces techniques dans des simulations multiphysiques et nous sommes ravis d'apporter cette technologie à l'espace de simulation électronique », a-t-il ajouté.
En outre, il est important de préciser qu'un récent domaine d'intérêt de Julia Computing a été la création d'une suite d'outils de modélisation et de simulation modernes renforcés par le ML, tels que le framework Pumas pour la simulation pharmaceutique. Toutefois, Julia Computing ne sera pas la seule société à travailler sur ce projet. Elle s'associe à QuEra Computing, une start-up spécialisée dans l'informatique quantique basée sur les atomes neutres. Elle est située à Boston, près de l'université Harvard. QuEra est fondée sur les recherches pionnières menées par les scientifiques Mikhail Lukin, Vladan Vuletic et Markus Greiner à Harvard et au MIT.
La mission de QuEra est de construire les ordinateurs quantiques les plus évolutifs à ce jour afin de résoudre des problèmes utiles, mais traditionnellement difficiles à résoudre, pour des applications commerciales pertinentes dans les domaines de l'optimisation, de la simulation, de la science des matériaux, etc.
Julia, un langage d'avenir ? Python, C/C++ et R doivent-ils le craindre ?
Avec une courbe de croissance rarement rencontrée chez un jeune langage de programmation, Julia est désormais l'un des langages de privilégiés pour la science des données, l'intelligence artificielle et les applications de modélisation et de simulation. Selon des sources proches de Julia Computing, les conceptions sophistiquées de l'entreprise repoussent les limites des outils de simulation traditionnels, ce qui rend d'autant plus cruciale une accélération significative des performances de simulation. Julia Computing a l'intention de mettre ces capacités à la disposition de la grande industrie dans un avenir proche.
À la manière de Rust pour la conception d'applications modernes et qui font une bonne utilisation de la mémoire, Julia est de plus en adopté dans la communauté, en particulier par la communauté scientifique. Sur 2020, il a enregistré une augmentation de 87 % de ses téléchargements. En comparaison à l’année 2019, c’est un gap haussier de 10 points de pourcentage. Alors, parviendra-t-il à remplacer C/C++ et Python dans la filière de la programmation et du calcul scientifique ? Pour l'instant, ces trois derniers continuent d'être largement utilisés et Python commence à rencontrer un grand succès dans l'enseignement, au détriment de Pascal.
Toutefois, il faut préciser que Julia est de plus en plus mis sur la balance avec Python. Le premier rejoint le second sur le plan de la simplicité. Cela dit, Julia a été pensé dès le début pour offrir des performances de loin supérieures à celles de Python. Sur cet axe, le langage est comparé avec C/C++ et au langage Rust de Mozilla. La toute première tâche dans tout processus d’analyse de données consiste à lire des données. Cela doit être fait avec célérité et efficacité afin de pouvoir se consacrer à la tâche de traitement des données. À ce stade, Julia semble avoir de meilleures performances que Python.
Par exemple, dans de nombreux secteurs et domaines, le format de fichier CSV est le format le plus utilisé pour le stockage et le partage des données tabulaires. Le chargement rapide et robuste des CSV est crucial, et il doit être bien adapté à une grande variété de tailles, de types et de formes de fichiers. Une étude parue au quatrième trimestre de l’année précédente illustre le fait que Julia est capable de lire les fichiers CSV dix à vingt fois plus vite que les langages Python et R. Attention toutefois, atteindre ces cimes peut requérir que l’utilisateur du langage possède l’expertise nécessaire pour effectuer des optimisations.
Un autre point qui mérite aussi d'être souligné est que Python est le second langage d'une bonne partie des développeurs Julia. L'on peut alors se poser plusieurs questions. Utilisent-ils les deux langages de façon complémentaire pour tirer le meilleur des deux mondes ? Peut-être que, sans Julia, Python disposerait d'un lecteur de fichiers CSV aussi efficace que celui de Julia ? Ou alors les fonctionnalités de métaprogrammation et de combinaison de bibliothèques ? En tout cas, depuis 2009, bon nombre de langages se sont développés et ont pu attirer plus d'utilisateurs que Julia, avec une communauté plus grande : Swift, Go, Kotlin, Rust, par exemple.
Dans le même temps, l'on ne sait pas comment Python, ou les autres langages avec lesquels Julia pourrait être en concurrence vont évoluer dans les prochaines années. Il serait donc précipité de dire que Julia, Python ou R dominera le domaine du calcul scientifique. En outre, les utilisateurs actuels de Julia précisent que peu de facteurs techniques les empêchent d'utiliser Julia autant qu'ils le voudraient. Ils sont plutôt limités par leur organisation, le peu de collègues qui ont entendu parler du langage, mais aussi par les ressources d'apprentissage disponibles.
Source : Julia Computing
Et vous ?
Quel est votre avis sur le sujet ?
Utilisez-vous Julia ? Quels sont les avantages que vous en tirez ?
Pensez-vous que Julia va réussir à s'imposer comme langage de choix pour le calcul scientifique ?
Voir aussi
Le langage de programmation Julia ne cesse de gagner en adoption au sein de la communauté scientifique : hausse de 87 % des téléchargements sur 2020 en raison de son rapport simplicité-performance
Julia, un langage d'avenir ? Quand certains l'estiment mal adapté à l'écriture de grandes bases de code, d'autres l'adoptent pour faciliter le développement et l'optimisation du code
Le langage de programmation Julia serait capable de lire les fichiers CSV dix à vingt fois plus vite que Python et R, selon une étude
Les raisons de l'adoption accélérée du langage Julia : un langage polyvalent, mais plus scientifique, supporte l'introspection et la métaprogrammation, selon Lee Phillips