Les GPU ont longtemps été utilisés pour accélérer les calculs et, ces dernières années, ils ont pris de l'ampleur avec la prise en charge de formats de données spécifiques typiques des algorithmes d'apprentissage automatique, ayant pratiquement perdu leurs propres blocs graphiques. Mais dans un avenir proche, ils pourraient être dépassés à bien des égards par des processeurs d'IA spécialisés, y compris le nouveau développement AWS, la puce Trainium.
Chez AWS Re : Invent, l'entreprise a mis en avant ses avancées en matière de machine learning avec ses instances P3dn (Nvidia V100) et P4 (Nvidia A100). La première variante a fait ses débuts en 2018 lorsque le modèle BERT-Large était un exemple de complexité, et avec 256 Go de mémoire et un réseau 100 GbE, il a donné des résultats impressionnants. Cependant, chaque année, la complexité des modèles d'apprentissage automatique augmente de presque un ordre de grandeur, et la croissance des capacités des accélérateurs d'IA est clairement en retard par rapport à ces taux.
Lorsque la variante P4d a été introduite l'année dernière, elle a quadruplé sa puissance de traitement et quadruplé sa mémoire, tandis que le célèbre modèle GPT-3 dépassait BERT-Large de 500 fois en complexité. Et maintenant, 175 milliards de paramètres de ces derniers ne sont rien comparés aux 10 000 milliards de nouveaux modèles. Nous devons également augmenter la quantité de mémoire locale (Trainium dispose de 512 Go de HBM avec une bande passante totale de 13,1 To/s), et utiliser plus activement l'apprentissage distribué.
Pour cette dernière approche, le sous-système réseau est devenu un goulot d'étranglement, et lors du développement de la pile Elastic Fabric Adapter (EFA), l'entreprise en a tenu compte en donnant aux nouvelles instances Trn1 une connexion à 800 Gb/s (le double de celle de P4d) et avec latence ultra-faible, et une version plus optimisée de Trn1n, qui a deux fois la bande passante et atteint 1,6 Tbit/s. Pour la communication entre les puces elles-mêmes à l'intérieur de l'instance, l'interconnexion NeuroLink est utilisée à une vitesse de 768 Go/s.
Mais il ne s'agit pas seulement de pouvoir former GPT-3 en moins de deux semaines : la quantité de ressources utilisées est également importante. Dans le cas de P3d, cela nécessiterait 600 instances exécutées simultanément, et même le passage à l'architecture Ampere réduirait ce nombre à 200. Mais la formation basée sur les puces Trainium ne nécessite que 130 instances Trn1. Grâce aux optimisations, les coûts de communication pour les nouvelles instances ne sont que de 7% contre 14% pour Ampere et un énorme 49% pour Volta.
Trainium s'appuie sur un tableau systolique (Google a utilisé la même approche pour ses TPU), c'est-à-dire se compose de nombreuses unités de calcul très étroitement liées qui traitent indépendamment les données reçues des voisins et transmettent le résultat au voisin suivant. Cette approche, en particulier, élimine de nombreux registres et accès mémoire, ce qui est typique des GPU "classiques", mais prive de tels accélérateurs de flexibilité.
Dans Trainium, selon AWS, la flexibilité est préservée - l'accélérateur dispose de 16 gestionnaires entièrement programmables (en C/C++). Il a également d'autres optimisations. Par exemple, l'accélération matérielle de l'arrondi stochastique, qui sur les modèles ultra-larges devient trop « coûteuse » en raison de la surcharge, bien qu'elle puisse améliorer l'efficacité de l'entraînement avec une précision mitigée. Tout cela vous permet d'obtenir jusqu'à 3,4 pflops dans les calculs de faible précision et jusqu'à 840 téraflops dans les calculs FP32.
AWS a essayé de rendre la transition vers Trainium aussi simple que possible pour les développeurs, car le kit SDK AWS Neuron prend en charge les frameworks d'apprentissage automatique populaires. Cependant, la société ne va pas forcer les clients vers les instances Trn1 et continuera à proposer un choix d'autres accélérateurs, car la transition, par exemple, de l'écosystème CUDA peut être difficile. Cependant, en termes d'apprentissage automatique pour ses propres besoins, Amazon est désormais complètement indépendant - il dispose à la fois d'un processeur moderne Graviton3 et d'un accélérateur d'inférence Inferentia.
2021-12-06 22:44:05
Auteur: Vitalii Babkin