Comment les ordinateurs et l'intelligence artificielle évoluent ensemble

Comment les ordinateurs et l’intelligence artificielle évoluent ensemble

Le framework Buddy Compiler, un travail en cours, comprendra un framework de référence, un framework d’architecture spécifique au domaine, un module de co-conception et une plate-forme de compilateur en tant que service en plus d’un framework de compilateur. Crédit : Hongbin Zhang et al.

La co-conception, c’est-à-dire la conception simultanée de logiciels et de matériels, est une façon de tenter de répondre aux besoins en puissance de calcul des applications d’intelligence artificielle d’aujourd’hui. Les compilateurs, qui traduisent les instructions d’une représentation à une autre, sont une pièce maîtresse du puzzle. Un groupe de chercheurs de l’Académie chinoise des sciences a résumé les technologies de compilateur existantes dans la co-conception d’apprentissage en profondeur et a proposé son propre cadre, le compilateur Buddy.

L’article de synthèse du groupe a été publié dans la revue Informatique intelligente.

Bien que d’autres aient résumé les optimisations, les architectures matérielles, les approches de co-conception et les techniques de compilation, personne n’a discuté des systèmes d’apprentissage en profondeur du point de vue des technologies de compilation pour la co-conception. Les chercheurs ont étudié l’apprentissage en profondeur sous cet angle car ils pensent que « les technologies de compilation peuvent offrir plus d’opportunités de co-conception et ainsi mieux répondre aux exigences de performance et de puissance des systèmes d’apprentissage en profondeur ».

L’examen porte sur cinq sujets :

  • L’histoire du deep learning et du co-design
  • Apprentissage en profondeur et co-conception maintenant
  • Technologies de compilation pour la co-conception du deep learning
  • Problèmes actuels et tendances futures
  • Le compilateur de copains

L’histoire du deep learning et du co-design

Depuis les années 1950, les réseaux de neurones ont connu de nombreuses ascensions et chutes menant à la croissance explosive actuelle des applications et des recherches d’apprentissage en profondeur. La co-conception a commencé dans les années 1990 et a depuis été adoptée dans divers domaines, passant du travail manuel à la conception assistée par ordinateur pour finalement devenir un processus complexe impliquant modélisation, simulation, optimisation, synthèse et test.

Depuis 2020, un modèle de réseau appelé transformateur a connu un grand succès : ChatGPT est un chatbot construit à l’aide d’un « transformateur génératif pré-entraîné ». Les applications d’IA actuelles telles que ChatGPT atteignent un nouveau goulot d’étranglement de performances qui nécessitera à nouveau une co-conception matériel-logiciel.

Apprentissage en profondeur et co-conception maintenant

La percée de l’apprentissage en profondeur provient de l’utilisation de nombreuses couches et d’un grand nombre de paramètres, qui augmentent considérablement les exigences de calcul pour la formation et l’inférence. Par conséquent, en s’appuyant uniquement sur l’optimisation au niveau logiciel, il devient difficile d’atteindre des temps d’exécution raisonnables. Pour résoudre ce problème, l’industrie et le milieu universitaire se sont tournés vers des solutions matérielles spécifiques à un domaine, visant à atteindre les performances requises grâce à un effort de collaboration entre le matériel et les logiciels, connu sous le nom de co-conception matériel-logiciel.

Récemment, un système complet a émergé, comprenant des cadres d’apprentissage en profondeur, des bibliothèques hautes performances, des compilateurs spécifiques à un domaine, des modèles de programmation, des flux d’outils matériels et des techniques de co-conception. Ces composants contribuent collectivement à améliorer l’efficience et l’efficacité des systèmes d’apprentissage en profondeur.

Technologies de compilation pour la co-conception du deep learning

Deux écosystèmes populaires sont utilisés pour créer des compilateurs pour l’apprentissage en profondeur : la machine virtuelle tensorielle, connue sous le nom de TVM, et la représentation intermédiaire à plusieurs niveaux, connue sous le nom de MLIR. Ces écosystèmes utilisent des stratégies distinctes, TVM servant de compilateur d’apprentissage en profondeur de bout en bout et MLIR agissant comme une infrastructure de compilateur. Pendant ce temps, dans le domaine des architectures matérielles personnalisées pour les charges de travail d’apprentissage en profondeur, il existe deux types principaux : l’architecture de streaming et l’architecture de moteur de calcul.

Les flux d’outils de conception matérielle associés à ces architectures adoptent également de nouvelles techniques de compilation pour favoriser les avancées et les innovations. La combinaison de compilateurs d’apprentissage en profondeur et de techniques de compilation matérielle offre de nouvelles opportunités pour la co-conception d’apprentissage en profondeur.

Problèmes actuels et tendances futures

Les exigences de performances augmentant trop rapidement pour que le développement des processeurs puisse suivre, une co-conception efficace est essentielle. Le problème avec la co-conception est qu’il n’y a pas de façon unique de s’y prendre, pas de cadre de co-conception unifié ou d’abstraction. Si plusieurs couches d’abstraction sont nécessaires, l’efficacité diminue. La personnalisation des compilateurs pour des domaines spécifiques demande beaucoup de travail. Des écosystèmes fédérateurs se forment, mais les causes sous-jacentes de la fragmentation demeurent. La solution à ces problèmes serait un cadre unificateur extensible modulaire.

Le compilateur de copains

Les contributeurs au projet Buddy Compiler sont « engagés à construire un écosystème de co-conception matériel et logiciel évolutif et flexible ». Les modules de l’écosystème comprendront un cadre de compilateur, une plate-forme de compilateur en tant que service, un cadre de référence, un cadre d’architecture spécifique à un domaine et un module de co-conception. Les deux derniers modules sont toujours en cours.

Les auteurs prédisent un développement continu des écosystèmes de compilation qui contribuera à unifier le travail effectué dans le domaine en développement rapide et quelque peu fragmenté de l’apprentissage en profondeur.

Fourni par l’informatique intelligente