
Le "Reformer" plus efficace de Google va-t-il réduire ou accélérer la course aux armements en IA? – Bien choisir son serveur d impression

La promesse de la technologie est toujours plus pour des processeurs moins – plus rapides à des prix inférieurs, grâce à plus de circuits entassés dans la même région de silicium.
Et l'intelligence artificielle a un analogue, il se trouve, basé sur des travaux récents d'ingénieurs de Google, qui ont trouvé un moyen de prendre le modèle de langage "Transformer" et d'en exécuter une version dans un seul processeur graphique, ou GPU, à la place des multiples unités de traitement graphique normalement requises pour fonctionner.
Cela offre aux utilisateurs un choix intéressant. Si vous pouviez choisir d'utiliser la technologie de pointe en IA plus facilement, choisiriez-vous de le faire ou préféreriez-vous augmenter la puissance de votre budget informatique existant pour en faire plus?
C'est comme demander, voulez-vous payer moins cher pour un PC ou obtenir encore plus de puissance pour ce que vous avez payé? C'est un dilemme classique pour les acheteurs.
L'intention des scientifiques de Google Nikita Kitaev (qui occupe également un poste à l'U.C.Berkeley, Łukasz Kaiser et Anselm Levskaya, est de rendre la puissance de Transformer disponible avec un budget, une invention qu'ils appellent "Reformer".
«Nous pensons que cela contribuera à élargir et à rendre plus accessibles les modèles Transformer volumineux et richement paramétrés», écrivent-ils cette semaine dans le document officiel sur le serveur de préimpression arXiv. (Il y a aussi un article de blog que Google a publié sur le travail.)
Voici la situation à laquelle ils s'attaquent. L'approche Transformer pour modéliser des données séquentielles a été introduite en 2017 par Ashish Vaswani et ses collègues de Google et est devenue une sensation. L'approche consistant à utiliser «l'attention» pour prédire les éléments d'une série basée sur d'autres éléments à proximité est devenue la base de nombreux modèles de langage, y compris le BERT de Google et «GPT2» d'OpenAI.
Illustration de la fonction de hachage «sensible à l'emplacement» utilisée dans Google Reformer pour réduire le nombre d'activations à stocker en mémoire. Les couleurs indiquent des vecteurs en valeur qui peuvent être regroupés pour consolider le stockage.
Google.
Le problème est que ces méga-modèles ont besoin de beaucoup de GPU pour fonctionner, principalement en raison de problèmes de mémoire, pas de problèmes de calcul. Les GPU utilisés pour entraîner les réseaux de neurones profonds tels que Transformer, les puces telles que le V100 de Nvidia, ont généralement seize ou trente-deux gigaoctets de mémoire, et cela ne suffit pas pour contenir tous les paramètres des réseaux de neurones avec des dizaines de couches de neurones, comme le matrice d'activations de chaque neurone tandis que le réseau essaie simultanément différentes paires de symboles pour trouver les bonnes correspondances.
Prenons par exemple «XLNet», le grand bond de l'année dernière dans les possibilités de Transformer. Les auteurs Zhilin Yang et ses collègues écrivent dans leurs notes d'implémentation qu'ils ont fait tout leur travail sur la puce TPU de Google, "qui a généralement plus de RAM que les GPU ordinaires". Ils font le calcul sur ce qui serait approprié pour le déplacer vers les GPU: "( Il est actuellement très difficile (coûteux) de reproduire la plupart des résultats XLNet-Large SOTA dans le papier avec des GPU. »Il faudrait 32 à 128 GPU pour correspondre à leur travail TPU, écrivent-ils.
Aussi: Google dit que la croissance «exponentielle» de l'IA change la nature de l'informatique
Le problème n'est pas seulement que les gens ne peuvent plus utiliser certaines formes d'apprentissage en profondeur. Une préoccupation plus profonde est que les affirmations sur les réseaux neuronaux d'apprentissage profond qui peuvent faire des percées sont obscurcies par d'énormes moyens techniques. Les géants du cloud comme Google peuvent utiliser des ressources plutôt que de faire de véritables percées dans la science de l'IA. Cette préoccupation est magnifiquement exprimée par Anna Rogers dans un article sur Thinking Semantics cité par Kitaev.
Pour rendre Transformer plus accessible, Kitaev et ses collègues mettent en œuvre quelques astuces pour réduire l'empreinte mémoire, comme le hachage. Le hachage, lorsqu'un code change une série de bits en une autre série de bits, peut être un moyen de réduire la taille totale des données. Dans ce cas, le «hachage sensible au site» regroupe des vecteurs proches les uns des autres en termes de valeurs. Ce sont les vecteurs «clés» que Transformer utilise pour stocker les mots qu'il recherchera pour le mécanisme d'attention.
"Par exemple, si K est de 64K, nous ne pouvons considérer qu'un petit sous-ensemble, disons, des 32 ou 64 clés les plus proches pour chaque qi", écrivent Kitaev et ses collègues. ("K" est la matrice des clés et "q" fait référence aux questions qui ont accès à ces clés.) Cela élimine le problème N-carré habituel qui explose le nombre de vecteurs à stocker en mémoire.
La deuxième grande chose qu'ils font est de réduire le nombre total d'activations de neurones qui doivent être enregistrées. Habituellement, tous doivent être stockés pour faciliter le passage en arrière de la rétroproposition qui calcule le gradient d'une solution de réseau neuronal en passant par les activations de la couche. Ce magasin d'activation fait des ballons de mémoire comme le nombre de couches de neurones. Mais Kitaev et l'équipe adoptent ce que l'on appelle un «réseau résiduel réversible» développé en 2017 par Aidan Gomez et ses collègues de l'Université de Toronto. Gomez et son équipe ont adapté le ResNet traditionnel afin que les activations de chaque couche puissent être reconstruites à partir de la valeur stockée de la couche qui suit, afin que la plupart des activations n'aient pas à être enregistrées du tout.
Aussi: l'IA change toute la nature du calcul
«Le transformateur réversible n'a pas besoin de stocker les activations dans chaque couche et supprime ainsi le terme nl», écrivent Kitaev et ses collègues, se référant aux N-couches d'un réseau.
Avec cette efficacité, ils sont capables de mettre un transformateur à vingt couches en un seul GPU, écrivent-ils. Bien sûr, ils ne peuvent pas comparer directement les performances avec un transformateur complet de soixante-quatre, car le transformateur ne tient pas dans le même GPU. Mais ils montrent des résultats qui semblent compétitifs.
Mais maintenant, la question se pose: Reformer peut également fonctionner beaucoup plus rapidement que Transformer fonctionnant dans l'empreinte informatique traditionnelle, dans ce cas, huit GPU fonctionnant en parallèle, avec les mêmes soixante-quatre couches que le Transformer complet. "Reformer correspond aux résultats obtenus avec Transformer complet, mais fonctionne beaucoup plus rapidement, en particulier sur la tâche de texte, et avec des ordres de grandeur une meilleure efficacité de la mémoire."
Cela signifie que si Reformer fonctionne sur un gros fer, vous pourrez peut-être traiter des millions de «jetons», c'est-à-dire les caractères individuels d'une œuvre écrite. Les auteurs font référence au traitement de tout le texte de 513 812 jetons de Dostoïevski, «Crime et punition», avec un réformateur sur une machine d'une valeur de huit gigaoctets de mémoire. Vous pouvez imaginer que si Reformer est multiplié sur plusieurs machines, il pourrait fonctionner sur des données à une échelle beaucoup plus grande.
Si vous pouvez obtenir encore plus de performances de Reformer de cette manière, cela soulève la question: allez-vous prendre un Reformer qui peut fonctionner sur une seule machine et obtenir de bons résultats, ou l'exécutez-vous sur plusieurs GPU pour obtenir encore plus de puissance ? Reformer réduira-t-il une partie de l'aspect course aux armements du matériel dans l'IA, ou n'offrira-t-il qu'un nouvel aspect à cette course aux armements?
Trop rapide à dire, peut-être une combinaison des deux. Au moins, la largeur des choix est désormais plus grande.
Commentaires
Laisser un commentaire