Skip to content
Logo csisimple

C Si Simple

Le réseau de connaissances pour les Pros !

Primary Menu
  • Technologie
  • Ordinateurs
  • Intelligence Artificielle
  • Home
  • Ordinateurs
  • L’outil prédit la vitesse à laquelle le code s’exécutera sur une puce
  • Ordinateurs

L’outil prédit la vitesse à laquelle le code s’exécutera sur une puce

6 janvier 2020 5 min read

Les chercheurs du MIT ont inventé un outil d’apprentissage automatique qui permet de prédire à quelle vitesse les puces informatiques exécuteront le code de diverses applications.

Pour que le code s’exécute le plus rapidement possible, les développeurs et les compilateurs – des programmes qui traduisent le langage de programmation en code lisible par la machine – utilisent généralement des modèles de performance qui exécutent le code par une simulation d’architectures de puces données.

Les compilateurs utilisent cette information pour optimiser automatiquement le code, et les développeurs l’utilisent pour s’attaquer aux goulots d’étranglement des performances des microprocesseurs qui l’exécuteront. Mais les modèles de performance pour le code machine sont écrits à la main par un groupe d’experts relativement restreint et ne sont pas correctement validés. Par conséquent, les mesures de performance simulées s’écartent souvent des résultats réels.

Dans une série d’articles de conférence, les chercheurs décrivent un nouveau pipeline d’apprentissage machine qui automatise ce processus, le rendant plus facile, plus rapide et plus précis. Dans un papier présenté à la Conférence internationale sur l’apprentissage machine en juin, les chercheurs ont présenté Ithemal, un modèle de réseau neuronal qui s’entraîne sur des données étiquetées sous forme de  » blocs de base  » – des bribes fondamentales d’instructions de calcul – pour prédire automatiquement le temps qu’il faut à une puce donnée pour exécuter des blocs de base inédits. Les résultats suggèrent qu’Ithemal est beaucoup plus précis que les modèles traditionnels réglés à la main.

Puis, lors du symposium international de l’IEEE sur la caractérisation de la charge de travail, en novembre, les chercheurs présenté une suite de référence de blocs de base provenant de divers domaines, notamment l’apprentissage machine, les compilateurs, la cryptographie et les graphiques, qui peut être utilisée pour valider les modèles de performance. Ils ont regroupé plus de 300 000 des blocs profilés dans un ensemble de données open-source appelé BHive. Lors de ses évaluations, Ithemal a prédit la vitesse à laquelle les puces Intel exécuteraient du code encore mieux qu’un modèle de performance construit par Intel lui-même.

En fin de compte, les développeurs et les compilateurs peuvent utiliser l’outil pour générer du code qui s’exécute plus rapidement et plus efficacement sur un nombre toujours croissant de puces de conception diverse et  » boîte noire « . « Les processeurs informatiques modernes sont opaques, horriblement compliqués et difficiles à comprendre. Il est également incroyablement difficile d’écrire un code informatique qui s’exécute le plus rapidement possible pour ces processeurs « , déclare le co-auteur Michael Carbin, professeur adjoint au Département de génie électrique et d’informatique (EECS) et chercheur au Laboratoire d’informatique et d’intelligence artificielle (CSAIL). « Cet outil est un grand pas en avant vers la modélisation complète des performances de ces puces pour une meilleure efficacité. »

Plus récemment, dans un papier présentée à la conférence NeurIPS en décembre, l’équipe a proposé une nouvelle technique pour générer automatiquement des optimisations du compilateur. Plus précisément, ils génèrent automatiquement un algorithme, appelé Vemal, qui convertit certains codes en vecteurs, qui peuvent être utilisés pour le calcul parallèle. Vemal surpasse les algorithmes de vectorisation artisanaux utilisés dans le compilateur LLVM – un compilateur populaire utilisé dans l’industrie.

Apprendre à partir des données

Concevoir des modèles de performance à la main peut être  » un art noir « , dit M. Carbin. Intel fournit une documentation complète de plus de 3 000 pages décrivant les architectures de ses puces. Mais il n’existe actuellement qu’un petit groupe d’experts qui construira des modèles de performance simulant l’exécution de code sur ces architectures.

 » Les documents d’Intel ne sont ni exempts d’erreurs ni complets, et Intel omettra certaines choses, parce qu’elle est propriétaire « , dit Mendis.  » Cependant, lorsque vous utilisez des données, vous n’avez pas besoin de connaître la documentation. S’il y a quelque chose de caché, vous pouvez l’apprendre directement à partir des données. »

Pour ce faire, les chercheurs ont chronométré le nombre moyen de cycles qu’un microprocesseur donné prend pour calculer les instructions de bloc de base – essentiellement la séquence de démarrage, d’exécution et d’arrêt – sans intervention humaine. L’automatisation du processus permet le profilage rapide de centaines de milliers ou de millions de blocs.

Architectures spécifiques à un domaine

En formation, le modèle Ithemal analyse des millions de blocs de base automatiquement profilés pour apprendre exactement comment différentes architectures de puces exécuteront les calculs. Il est important de noter qu’Ithemal prend du texte brut en entrée et ne nécessite pas d’ajouter manuellement des fonctionnalités aux données d’entrée. En test, Ithemal peut être alimenté par des blocs de base inédits et une puce donnée, et générera un nombre unique indiquant à quelle vitesse la puce exécutera ce code.

Les chercheurs ont constaté qu’Ithemal réduisait les taux d’erreur de précision – c’est-à-dire la différence entre la vitesse prédite et la vitesse réelle – de 50 % par rapport aux modèles artisanaux traditionnels. De plus, dans leur article suivant, ils ont montré que le taux d’erreur d’Ithemal était de 10 %, alors que le taux d’erreur du modèle de prédiction des performances d’Intel était de 20 % sur une variété de blocs de base dans de multiples domaines différents.

L’outil facilite désormais l’apprentissage rapide des vitesses de performance pour toutes les nouvelles architectures de puce, dit Mendis. Par exemple, des architectures spécifiques à un domaine, telles que la nouvelle unité de traitement des tenseurs de Google utilisée spécifiquement pour les réseaux neuronaux, sont en cours de construction mais ne sont pas largement comprises.  » Si vous voulez former un modèle sur une nouvelle architecture, il suffit de collecter plus de données de cette architecture, de les passer dans notre profileur, d’utiliser ces informations pour former Ithemal, et vous avez maintenant un modèle qui prédit la performance « , dit Mendis.

Ensuite, les chercheurs étudient des méthodes pour rendre les modèles interprétables. Une grande partie de l’apprentissage des machines est une boîte noire, donc il n’est pas vraiment clair pourquoi un modèle particulier a fait ses prédictions.  » Notre modèle dit qu’il faut un processeur, disons, 10 cycles pour exécuter un bloc de base. Maintenant, nous essayons de comprendre pourquoi « , dit Carbin. « C’est un niveau de granularité qui serait étonnant pour ce genre d’outils. »

Ils espèrent également utiliser Ithemal pour améliorer encore plus les performances de Vemal et obtenir automatiquement de meilleures performances.

Continue Reading

Previous: Trouver une bonne lecture parmi des milliards de choix
Next: Trouver le vrai potentiel des algorithmes

Articles Liés

L’initiative du MIT pour l’énergie accorde huit subventions de fonds d’amorçage pour les premières étapes de la recherche sur l’énergie du MIT 7 min read
  • Ordinateurs

L’initiative du MIT pour l’énergie accorde huit subventions de fonds d’amorçage pour les premières étapes de la recherche sur l’énergie du MIT

1 juillet 2020
medical-equipment-4099432_1920 Améliorer l’équité en matière de santé dans le monde en aidant les cliniques à faire plus avec moins 7 min read
  • Ordinateurs

Améliorer l’équité en matière de santé dans le monde en aidant les cliniques à faire plus avec moins

26 juin 2020
audience-1835431_1280 Identifier une mélodie en étudiant le langage corporel d’un musicien 4 min read
  • Ordinateurs

Identifier une mélodie en étudiant le langage corporel d’un musicien

26 juin 2020
Lancement du programme MIT-Takeda | MIT News 5 min read
  • Ordinateurs

Lancement du programme MIT-Takeda | MIT News

19 juin 2020
doctor-563428_1280 Apporter le pouvoir prédictif de l’intelligence artificielle aux soins de santé 7 min read
  • Ordinateurs

Apporter le pouvoir prédictif de l’intelligence artificielle aux soins de santé

19 juin 2020
Le MIT et Toyota publient un ensemble de données innovatrices pour accélérer la recherche sur la conduite autonome 4 min read
  • Ordinateurs

Le MIT et Toyota publient un ensemble de données innovatrices pour accélérer la recherche sur la conduite autonome

18 juin 2020

Articles récents

  • L’initiative du MIT pour l’énergie accorde huit subventions de fonds d’amorçage pour les premières étapes de la recherche sur l’énergie du MIT
  • Améliorer l’équité en matière de santé dans le monde en aidant les cliniques à faire plus avec moins
  • Identifier une mélodie en étudiant le langage corporel d’un musicien
  • Lancement du programme MIT-Takeda | MIT News
  • Apporter le pouvoir prédictif de l’intelligence artificielle aux soins de santé

Catégories

  • Entreprises
  • Intelligence Artificielle
  • Ordinateurs
  • Technologie
  • Magazine W30
  • Contact
Copyright © All rights reserved. | Magnitude by AF themes.