La langue basée sur le diagramme rationalise l’optimisation des systèmes coordonnés complexes
La coordination des systèmes interactifs complexes, qu’il s’agisse des différents modes de transport dans une ville ou des différents composants qui doivent fonctionner ensemble pour faire un robot efficace et efficiente, est un sujet de plus en plus important pour les concepteurs de logiciels. Désormais, les chercheurs du MIT ont développé une toute nouvelle façon d’approcher ces problèmes complexes, en utilisant des diagrammes simples comme outil pour révéler de meilleures approches de l’optimisation des logiciels dans des modèles d’apprentissage en profondeur.
Ils disent que la nouvelle méthode rend l’abandon de ces tâches complexes si simples qu’elle peut être réduite à un dessin qui s’adapterait à l’arrière d’une serviette.
La nouvelle approche est décrite dans le journal Transactions de recherche d’apprentissage automatiquedans un article du nouveau doctorant Vincent Abbott et du professeur Gioele Zardini du Laboratoire du MIT pour l’information et les systèmes de décision (LIDS).
« Nous avons conçu une nouvelle langue pour parler de ces nouveaux systèmes », explique Zardini. Ce nouveau « langage » basé sur un diagramme est fortement basé sur quelque chose appelé la théorie des catégories, explique-t-il.
Tout cela a à voir avec la conception de l’architecture sous-jacente des algorithmes informatiques – les programmes qui finiront par détecter et contrôler les différentes parties du système optimisé.
« Les composants sont différents éléments d’un algorithme, et ils doivent se parler, échanger des informations, mais également tenir compte de la consommation d’énergie, de la consommation de mémoire, etc. », poursuit Zardini.
De telles optimisations sont notoirement difficiles car chaque changement dans une partie du système peut à son tour provoquer des changements dans d’autres parties, ce qui peut encore affecter d’autres parties, etc.
Les chercheurs ont décidé de se concentrer sur la classe particulière d’algorithmes d’apprentissage en profondeur, qui sont actuellement un sujet brûlant de la recherche. L’apprentissage en profondeur est la base des grands modèles d’intelligence artificielle, y compris de grands modèles de langue tels que le chatppt et des modèles de génération d’images tels que MidJourney. Ces modèles manipulent les données par une série « profonde » de multiplications matricielles entrecoupées d’autres opérations.
Les nombres dans les matrices sont des paramètres et sont mis à jour pendant les longues séries d’entraînement, permettant de trouver des modèles complexes. Les modèles sont constitués de milliards de paramètres, ce qui rend le calcul coûteux, et donc l’amélioration de l’utilisation des ressources et de l’optimisation inestimables.
Les diagrammes peuvent représenter les détails des opérations parallélisées que les modèles d’apprentissage en profondeur consistent, révélant les relations entre les algorithmes et le matériel de l’unité de traitement graphique parallélisée (GPU) sur laquelle ils fonctionnent, fournis par des sociétés telles que NVIDIA.
« Je suis très excité à ce sujet », explique Zardini, car « nous semblons avoir trouvé une langue qui décrit très bien les algorithmes d’apprentissage en profondeur, représentant explicitement toutes les choses importantes, qui sont les opérateurs que vous utilisez », par exemple la consommation d’énergie, la répartition de la mémoire et tout autre paramètre pour lequel vous essayez d’optimiser.
Une grande partie des progrès au sein de l’apprentissage en profondeur provient des optimisations de l’efficacité des ressources. Le dernier modèle Deepseek a montré qu’une petite équipe peut rivaliser avec les meilleurs modèles d’OpenAI et d’autres grands laboratoires en se concentrant sur l’efficacité des ressources et la relation entre le logiciel et le matériel. En règle générale, en dérivant ces optimisations, il dit que « les gens ont besoin de beaucoup d’essais et d’erreurs pour découvrir de nouvelles architectures ».
Par exemple, un programme d’optimisation largement utilisé appelé Flashattention a pris plus de quatre ans à développer, dit-il. Mais avec le nouveau cadre qu’ils ont développé, « nous pouvons vraiment aborder ce problème de manière plus formelle ». Tout cela est représenté visuellement dans un langage graphique défini avec précision.
Mais les méthodes qui ont été utilisées pour trouver ces améliorations « sont très limitées », dit-il. « Je pense que cela montre qu’il y a un écart majeur, en ce sens que nous n’avons pas de méthode systématique formelle pour relier un algorithme à son exécution optimale, ou même vraiment comprendre combien de ressources il faudra pour fonctionner. » Mais maintenant, avec la nouvelle méthode basée sur le diagramme qu’ils ont conçu, un tel système existe.
La théorie des catégories, qui sous-tend cette approche, est un moyen de décrire mathématiquement les différentes composantes d’un système et comment ils interagissent d’une manière généralisée et abstraite. Différentes perspectives peuvent être liées. Par exemple, les formules mathématiques peuvent être liées à des algorithmes qui les implémentent et utilisent des ressources, ou les descriptions des systèmes peuvent être liées à des «diagrammes de chaînes monoïdaux robustes».
Ces visualisations vous permettent de jouer directement et d’expérimenter la façon dont les différentes parties se connectent et interagissent. Ce qu’ils ont développé, dit Zardini, équivaut à des «diagrammes de cordes sur les stéroïdes», qui intègre beaucoup plus de conventions graphiques et de nombreuses autres propriétés.
« La théorie des catégories peut être considérée comme les mathématiques de l’abstraction et de la composition », explique Abbott. « Tout système de composition peut être décrit en utilisant la théorie des catégories, et la relation entre les systèmes de composition peut ensuite être également étudiée. »
Les règles algébriques qui sont généralement associées aux fonctions peuvent également être représentées comme des diagrammes, dit-il. « Ensuite, une grande partie des astuces visuelles que nous pouvons faire avec les diagrammes, nous pouvons nous rapporter aux astuces et fonctions algébriques. Donc, cela crée cette correspondance entre ces différents systèmes. »
En conséquence, il dit: « Cela résout un problème très important, à savoir que nous avons ces algorithmes d’apprentissage en profondeur, mais ils ne sont pas clairement compris comme des modèles mathématiques. » Mais en les représentant comme des diagrammes, il devient possible de les aborder formellement et systématiquement, dit-il.
Une chose que cela permet est une compréhension visuelle claire de la façon dont les processus parallèles du monde réel peuvent être représentés par un traitement parallèle dans des GPU d’ordinateur multicore.
« De cette façon », dit Abbott, « les diagrammes peuvent à la fois représenter une fonction, puis révéler comment l’exécuter de manière optimale sur un GPU. »
L’algorithme « d’attention » est utilisé par des algorithmes d’apprentissage en profondeur qui nécessitent des informations générales et contextuelles, et est une phase clé des blocs sérialisés qui constituent des modèles de langues importants tels que ChatGpt. Flashattention est une optimisation qui a pris des années à se développer, mais a entraîné une amélioration de six fois de la vitesse des algorithmes d’attention.
En appliquant leur méthode à l’algorithme Flashattention bien établi, Zardini dit que « ici, nous pouvons le dériver, littéralement, sur une serviette ». Il ajoute ensuite: « D’accord, c’est peut-être une grande serviette. » Mais pour ramener à la maison le point de savoir dans quelle mesure leur nouvelle approche peut simplifier le traitement de ces algorithmes complexes, ils ont intitulé leur document de recherche officiel sur le travail « Flashattention sur une serviette ».
Cette méthode, dit Abbott, « permet à l’optimisation d’être très rapidement dérivée, en contraste aux méthodes dominantes. »
Bien qu’ils aient initialement appliqué cette approche à l’algorithme Flashattention déjà existant, vérifiant ainsi son efficacité, « nous espérons maintenant utiliser cette langue pour automatiser la détection des améliorations », explique Zardini, qui en plus d’être un enquêteur principal dans les couvercles, est l’Institut Rudge et Nancy Allen en matière de génie civil et de société.
Le plan est qu’en fin de compte, dit-il, ils développeront le logiciel au point que « le chercheur télécharge son code, et avec le nouvel algorithme, vous détectez automatiquement ce qui peut être amélioré, ce qui peut être optimisé et vous renvoyez une version optimisée de l’algorithme à l’utilisateur. »
En plus d’automatiser l’optimisation des algorithmes, Zardini note qu’une analyse robuste de la façon dont les algorithmes d’apprentissage en profondeur se rapportent à l’utilisation des ressources matérielles permet une conception systématique de matériel et de logiciels. Cette ligne de travail s’intègre à l’accent sur Zardini sur la co-conception catégorique, qui utilise les outils de la théorie des catégories pour optimiser simultanément divers composants des systèmes techniques.
Abbott dit que « tout ce domaine de modèles d’apprentissage en profondeur optimisé, je crois, est tout à fait critique, et c’est pourquoi ces diagrammes sont si excitants. Ils ouvrent les portes à une approche systématique de ce problème. »
« Je suis très impressionné par la qualité de cette recherche. … La nouvelle approche du diagramment des algorithmes d’apprentissage en profondeur utilisé par cet article pourrait être une étape très importante », explique Jeremy Howard, fondateur et PDG de Answers.ai, qui n’était pas associé à ce travail. « Cet article est la première fois que je vois une telle notation utilisée pour analyser en profondeur les performances d’un algorithme d’apprentissage en profondeur sur le matériel du monde réel. … La prochaine étape sera de voir si des gains de performances réels peuvent être réalisés. »
« Il s’agit d’un élément de recherche théorique magnifiquement exécuté, qui vise également une grande accessibilité aux lecteurs non initiés – un trait rarement vu dans les articles de ce genre », explique Petar Velickovic, chercheur principal chez Google Deepmind et professeur à l’Université de Cambridge, qui n’était pas associé à ce travail. Ces chercheurs, dit-il, « sont clairement d’excellents communicateurs, et j’ai hâte de voir ce qu’ils proposent ensuite. »
La nouvelle langue basée sur le diagramme, publiée en ligne, a déjà attiré une grande attention et un intérêt des développeurs de logiciels. Un critique de l’article antérieur d’Abbott présentant les diagrammes a noté: « Les diagrammes de circuits neuronaux proposés ont fière allure d’un point de vue artistique (pour autant que je puisse juger cela). »
« Ce sont des recherches techniques, mais c’est aussi flashy », explique Zardini.