Recherche et science

SySTeC, le compilateur du MIT qui traque les calculs inutiles en IA

Mis au point au MIT, SySTeC est un compilateur qui aide à éviter des calculs répétitifs dans les simulations et les modèles d’intelligence artificielle. Son idée : exploiter en même temps la sparsité et la symétrie des données. Lors d’expérimentations, les chercheurs ont observé des gains pouvant atteindre 30 fois.

Des chercheurs observent une simulation dont les calculs redondants sont retirés grâce à des tenseurs optimisés.
Illustration : Actu.ai

Les modèles d’intelligence artificielle ne sont pas seulement limités par la qualité de leurs données ou de leurs algorithmes. Ils le sont aussi par une réalité très matérielle : chaque calcul mobilise des processeurs, déplace des données entre mémoire et puces, et consomme de l’énergie. Au MIT, des chercheurs ont conçu SySTeC, un compilateur qui cherche à supprimer une part de ce travail superflu. Son principe est de repérer automatiquement deux propriétés fréquentes des données, la sparsité et la symétrie, afin d’éviter de refaire des opérations qui ne produisent aucune information nouvelle.

En février 2025, cet outil s’inscrit dans une tendance importante de la recherche en IA : obtenir de meilleures performances non seulement en construisant des modèles plus puissants, mais aussi en exécutant plus intelligemment ceux qui existent. Pour les équipes qui développent des simulations scientifiques ou des systèmes d’apprentissage automatique, cette optimisation peut jouer sur la durée des calculs, les besoins de mémoire et, à terme, le coût des infrastructures.

Pourquoi les calculs de l’IA sont-ils si coûteux ?

La plupart des systèmes modernes d’apprentissage automatique reposent sur des réseaux neuronaux. Pendant leur entraînement ou leur utilisation, ces réseaux réalisent un très grand nombre d’opérations sur des tableaux de nombres appelés tenseurs. Un tenseur peut être vu comme une généralisation d’un tableau : un vecteur a une dimension, une matrice en a deux, tandis qu’un tenseur peut en comporter davantage.

Ces structures servent par exemple à représenter des lots de données, des paramètres de modèle ou les résultats intermédiaires produits couche après couche. Leur traitement exige trois ressources étroitement liées :

  • de la capacité de calcul pour effectuer les opérations mathématiques ;
  • de la bande passante pour déplacer les données entre les différents niveaux de mémoire et les processeurs ;
  • de la mémoire pour conserver les entrées, les paramètres et les résultats intermédiaires.

Or, un programme de calcul classique traite volontiers tous les éléments d’un tableau comme s’ils étaient indispensables et indépendants. Dans de nombreux cas, ce n’est pas vrai. Une partie des valeurs peut être nulle, ou certaines portions du résultat peuvent être déduites d’autres portions. Continuer à les calculer ou à les stocker revient alors à dépenser des ressources sans améliorer le résultat.

Sparsité et symétrie : deux redondances complémentaires

Les techniques d’optimisation employées jusque-là se concentrent souvent sur une seule forme de redondance. Le travail des chercheurs du MIT consiste précisément à réunir deux leviers, plutôt qu’à demander aux développeurs de les traiter séparément.

La sparsité décrit une structure où beaucoup de valeurs sont nulles, ou ne contiennent pas d’information utile pour l’opération considérée. Au lieu de manipuler l’ensemble du tableau comme s’il était rempli, un programme adapté peut se concentrer sur les valeurs réellement présentes. C’est le principe des tenseurs épars.

La symétrie, elle, signifie qu’une partie des données reflète une autre partie selon une règle connue. Dans le cas simple d’une matrice symétrique, l’élément situé à une position est identique à celui de la position inverse par rapport à la diagonale. Calculer séparément les deux revient donc à faire deux fois le même travail.

Propriété exploitéeCe qu’elle signifieCalculs ou données évitables
SparsitéUne grande partie des valeurs est nulle ou absenteLes opérations portant uniquement sur des valeurs sans contribution utile
SymétrieUne partie du tenseur peut être déduite d’une autreLes calculs répétés sur les zones équivalentes d’un même résultat
Combinaison des deuxLes deux propriétés existent dans le même flux de calculUne optimisation plus complète des opérations, de la mémoire et des échanges de données

Cette association est importante, car les calculs scientifiques et les modèles d’IA peuvent présenter ces deux caractéristiques en même temps. Les exploiter de façon isolée laisse potentiellement une partie des gains sur la table. SySTeC vise au contraire à les prendre en compte conjointement au moment où le code est compilé.

Comment SySTeC évite-t-il des opérations inutiles ?

SySTeC analyse le programme et identifie les optimisations qui peuvent lui être appliquées. L’objectif est de générer une exécution qui tient compte de la forme des tenseurs et de leurs propriétés, sans imposer aux scientifiques de réécrire manuellement chaque opération de bas niveau.

Le cas le plus intuitif concerne le tenseur de sortie. Lorsque ce résultat est symétrique, le compilateur peut n’en calculer qu’une moitié. L’autre moitié n’a pas besoin d’être obtenue par une seconde série d’opérations indépendantes, puisqu’elle découle de la symétrie identifiée.

Le mécanisme ne se limite pas au résultat final. Si la symétrie apparaît dans un tenseur d’entrée ou dans un résultat intermédiaire, SySTeC peut également éliminer des calculs redondants. En parallèle, il tient compte de la sparsité, afin de ne pas mobiliser les mêmes ressources pour des zones vides ou non pertinentes du tenseur.

L’intérêt pratique d’un tel compilateur est de rapprocher une optimisation technique, habituellement réservée à des spécialistes, du flux de travail courant. Le système s’appuie sur un langage de programmation présenté comme accessible, y compris pour des scientifiques moins familiers des subtilités du deep learning. Cela ne signifie pas qu’il suffit d’appuyer sur un bouton pour accélérer n’importe quel projet : il faut toujours comprendre le problème traité et les structures de données utilisées. Mais la détection et l’application des optimisations peuvent être largement automatisées.

Calcul tensoriel : l’approche classique face à SySTeC

Approche classique

  • Les optimisations doivent souvent être appliquées séparément et à la main.
  • Les méthodes se concentrent fréquemment sur une seule forme de redondance.
  • Des calculs répétés peuvent subsister lorsque des données ou des résultats sont symétriques.
  • Calcul, bande passante et mémoire peuvent être mobilisés pour des valeurs inutiles.

Avec SySTeC

  • Le compilateur identifie automatiquement les optimisations applicables.
  • Il exploite à la fois la sparsité et la symétrie des tenseurs.
  • Il peut calculer une seule moitié d’un résultat symétrique.
  • Il peut supprimer des calculs redondants dans certaines entrées et résultats intermédiaires.
  • Il vise à réduire les besoins en calcul, en bande passante et en stockage mémoire.

Jusqu’à 30 fois plus rapide : comment lire ce résultat ?

Dans une série d’expérimentations, la méthode de l’équipe du MIT a permis des améliorations de performances allant jusqu’à 30 fois la vitesse de calcul. C’est un résultat marquant, mais le mot « jusqu’à » est essentiel : il désigne la meilleure accélération mesurée dans les cas testés, et non une promesse de gain identique pour tout modèle d’IA ou toute simulation.

Le bénéfice réel dépend notamment de la quantité de redondances présentes dans les tenseurs. Un problème très dense, contenant peu de zéros et peu de symétries exploitables, offre logiquement moins de possibilités. À l’inverse, un calcul dont les entrées et les sorties possèdent ces propriétés peut profiter davantage du travail du compilateur.

L’accélération ne concerne pas uniquement le temps affiché à l’écran. Réduire le nombre d’opérations peut aussi alléger les transferts de données et le besoin de stocker des résultats intermédiaires. Ces deux dimensions sont cruciales : dans les architectures de calcul modernes, le déplacement de données peut devenir un goulot d’étranglement aussi important que l’opération mathématique elle-même.

À quels domaines SySTeC pourrait-il servir ?

Le projet vise les développeurs de modèles d’IA et les scientifiques qui s’appuient sur des simulations. Ces derniers doivent fréquemment manipuler de grands ensembles de données numériques, sans être nécessairement experts en optimisation de compilateurs ou en programmation de réseaux neuronaux.

Les chercheurs envisagent ainsi d’adapter SySTeC à divers algorithmes d’apprentissage automatique. Les champs cités, comme l’ingénierie ou la biotechnologie, partagent un même besoin : produire et analyser des résultats complexes en limitant autant que possible la facture computationnelle. Une simulation plus efficace peut permettre d’explorer davantage de scénarios avec des ressources identiques, ou de réaliser un calcul donné avec moins de mémoire et de puissance de traitement.

Il convient toutefois de distinguer une avancée de recherche d’un produit universel déjà prêt à s’intégrer à tous les logiciels. La force annoncée de SySTeC est d’automatiser l’exploitation de la symétrie et de la sparsité dans les programmes concernés. Son adoption à grande échelle dépendra de son extension à d’autres algorithmes, de sa compatibilité avec les outils employés dans les laboratoires et les entreprises, ainsi que de la facilité avec laquelle les utilisateurs pourront décrire leurs calculs.

Le soutien de plusieurs institutions, dont Intel et la National Science Foundation, illustre l’intérêt porté à ce type de recherche. Les outils de compilation restent moins visibles que les assistants conversationnels ou les générateurs d’images, mais ils peuvent avoir un effet direct sur l’efficacité des systèmes qui tournent derrière ces services.

Pourquoi l’optimisation logicielle compte aussi pour l’énergie

Lorsqu’il est question d’IA, les discussions se concentrent souvent sur les puces spécialisées et les centres de données. Or l’efficacité dépend aussi du logiciel. Une même infrastructure peut exécuter plus de calculs utiles si elle ne gaspille pas de cycles sur des valeurs nulles ou des résultats déjà déductibles.

Cette idée ne supprime pas les besoins matériels de l’IA moderne. Les modèles et les jeux de données peuvent continuer à croître. Elle propose plutôt un complément : faire mieux avec les ressources disponibles. Pour les laboratoires, cela peut réduire la durée d’une expérimentation. Pour les entreprises, cela peut contribuer à contenir les coûts d’exécution. Pour les infrastructures, cela peut diminuer les ressources sollicitées par une tâche donnée.

La promesse est particulièrement intéressante pour les simulations, où la précision impose parfois un nombre élevé d’itérations. Chaque calcul évité est alors répété moins souvent à l’échelle de l’ensemble du processus. L’optimisation de compilateur devient une façon de transformer une connaissance mathématique, ici la symétrie et la sparsité, en économies de calcul concrètes.

Ce qu’il faut surveiller

La prochaine étape annoncée par les chercheurs est l’élargissement des capacités de SySTeC. Ils souhaitent le rendre compatible avec un plus grand nombre d’algorithmes d’apprentissage automatique et l’intégrer à des compilateurs capables de traiter les tenseurs épars. Leur ambition est de fournir une interface unifiée, afin que les utilisateurs n’aient pas à maîtriser eux-mêmes chaque détail de ces optimisations.

Plusieurs questions permettront d’évaluer la portée du projet. Quelles familles de simulations et de modèles bénéficient le plus de la combinaison entre sparsité et symétrie ? Les accélérations observées se maintiennent-elles sur des charges de travail diverses ? Et surtout, le système peut-il s’insérer simplement dans les environnements utilisés par les scientifiques et les développeurs ?

SySTeC rappelle en tout cas une leçon utile : les progrès de l’IA ne viennent pas uniquement de modèles plus grands. Ils peuvent aussi naître de logiciels capables de reconnaître qu’une machine est en train de refaire, à grande échelle, un travail qu’elle n’avait pas besoin de faire.

Questions fréquentes

Qu’est-ce que SySTeC, l’outil développé par le MIT ?

SySTeC est un compilateur conçu par des chercheurs du MIT. Il optimise des programmes qui manipulent des tenseurs, ces grands tableaux de nombres employés en IA et en simulation. Son rôle est de détecter des calculs évitables en tirant parti de deux propriétés des données : la sparsité, lorsque de nombreuses valeurs sont nulles, et la symétrie.

Que signifient sparsité et symétrie dans un modèle d’IA ?

La sparsité signifie qu’un tenseur contient de nombreuses valeurs nulles ou sans contribution utile, qui ne nécessitent pas toujours d’être traitées. La symétrie signifie qu’une partie de la structure peut être déduite d’une autre. Dans une matrice symétrique, par exemple, deux zones se correspondent. Ces propriétés permettent d’éviter des opérations et des stockages inutiles.

SySTeC rend-il tous les modèles d’IA 30 fois plus rapides ?

Non. Les chercheurs rapportent des gains allant jusqu’à 30 fois dans leurs expérimentations, ce qui correspond au meilleur résultat observé dans les cas testés. Le gain dépend de la structure du calcul : un modèle ou une simulation comportant beaucoup de valeurs nulles et de symétries offre davantage de possibilités d’optimisation qu’un problème dense et peu redondant.

À qui s’adresse le compilateur SySTeC ?

SySTeC cible les développeurs de modèles d’apprentissage automatique et les scientifiques qui réalisent des simulations. Le système est pensé pour rendre des optimisations complexes plus accessibles, y compris à des utilisateurs qui ne sont pas spécialistes du deep learning. Il reste néanmoins nécessaire de savoir décrire son problème informatique et d’utiliser un environnement de développement adapté.

SySTeC peut-il déjà être intégré à n’importe quel projet d’IA ?

Le projet vise à étendre SySTeC à divers algorithmes d’apprentissage automatique et à l’intégrer à des compilateurs traitant les tenseurs épars. Cette ambition montre que le système est encore appelé à évoluer. Les informations disponibles ne permettent pas d’affirmer qu’il peut être branché tel quel sur n’importe quel projet ou n’importe quelle infrastructure existante.

Sources

Références consultées pour la rédaction de cet article. Les adresses sont indiquées à titre informatif et ne sont pas des liens.

  1. MIT News, « An intuitive system to help developers create more efficient simulations and AI models »news.mit.edu
  2. MIT Computer Science and Artificial Intelligence Laboratorywww.csail.mit.edu
  3. National Science Foundation, site officielwww.nsf.gov