AWS réduit sa dépendance à Nvidia avec les instances Trainium
Avec un prix horaire un peu inférieur aux instances à base de GPU Nvidia H200 et une puissance de calcul plus variable, les instances basées sur les derniers Trainium veulent séduire les entreprises qui ont besoin d’entraîner des modèles d’IA.
« Depuis deux ans, plus d’un processeur sur deux que nous déployons dans nos datacenters sont des Graviton, c’est-à-dire nos propres processeurs », a lancé sur scène Matt Garman, le PDG d’AWS (en photo en haut de cet article), en ouverture de l’événement AWS re:Invent 2024, qui se tient cette semaine à Las Vegas. Le message ? AWS espère bien aussi déployer à terme plus de GPU maison que de GPU Nvidia.
Car, il n’était nullement question d’annoncer à ce moment-là une nouvelle génération de processeurs. Après cette introduction, Matt Garman a sonné le départ d’une nouvelle génération de machines virtuelles basées sur les GPU maison Trainium2 et dévoilé la prochaine génération de puces Trainium3.
« Nous continuons à faire évoluer nos machines virtuelles à base de puces Nvidia avec une génération P5e plus rapide pour l’entraînement de modèles. Mais il y a clairement la volonté de réduire notre dépendance à Nvidia », explique Sébastien Stormacq, porte-parole technique d’AWS pour les solutions développeur.
Sébastien StormacqPorte-parole technique d’AWS pour les solutions développeur
« Nous commercialisons les VM basées sur des puces Trainium2 50 % moins cher que les VM basées sur des GPU Nvidia. L’éditeur Anthropic témoigne que, pour entraîner son LLM Claude 3.5 Haiku, un cluster de VM sur Trainium2 offre 50 % de capacités en plus qu’un cluster de VM sur GPU Nvidia, à coût égal, », ajoute-t-il.
Également présent à l’événement, le Français Poolside est un nouveau venu dans le monde de la fourniture de modèles d’IA fondamentaux. Il estime qu’à puissance équivalente, les instances à base de Trainium2 lui coûteront 40 % moins cher pour entraîner ses modèles que les instances P5 qu’il utilise actuellement.
Concernant la pile logicielle, AWS garantit que toutes les briques AMI qu’il propose pour entraîner des modèles (des images système préinstallées avec PyTorch, Jax…) sur des instances Nvidia fonctionnent telles quelles sur les instances à base de Trainium2. Les applications développées avec le kit Neuron SDK sont directement recompilables.
« Il reste plus compliqué de convertir des applications Nvidia vers Trainium que de convertir des applications x86 vers ARM. Néanmoins, nous fournissons aux développeurs des bibliothèques qui leur permettent d’importer du code Python et Nvidia Cuda, pour minimiser leurs efforts de conversion », indique Sébastien Stormacq.
Entre 20,8 et 83,2 pétaflops par instance Trn2
Les instances reposant sur des GPU Trainium2 sont au nombre de deux. La VM Trn2 embarque 16 GPU Trainium2 (il s’agit de huit serveurs physiques intégrant chacun deux GPU) et, dans un serveur supplémentaire, 192 cœurs de processeurs ARM (a priori répartis sur deux processeurs Graviton4 de 96 cœurs chacun), 2 To de RAM et une bande passante réseau vers l’extérieur de 3,2 Tbit/s. Celle-ci passe par la connectique Ethernet propriétaire EFA v3 (Elastic Fabric Adapter) développée par AWS.
Les huit machines et leur serveur Graviton partagent leur mémoire et leur puissance de calcul via un réseau NeuronLink, soit l’équivalent chez AWS du CXL, le réseau qui, dans un data center, interconnecte des serveurs x86 via leurs bus PCIe.
Selon AWS, cette instance serait quatre fois plus rapide que la précédente Trn1, elle aurait quatre fois plus de bande passante, trois fois plus de RAM. Son ratio prix/performance serait aussi 30 à 40 % meilleur. Le réseau EFA v3 offrirait quant à lui 35 % de latence en moins par rapport au réseau EFA v2 utilisé précédemment.
Sébastien StormacqPorte-parole technique d’AWS pour les solutions développeur
« Pour ainsi dire, une instance virtuelle Trn2 correspond, dans nos datacenters, à un ensemble physique de serveurs. C’est-à-dire que lorsque vous l’utilisez, vous êtes sûr que vous êtes le seul à consommer toute sa puissance de calcul », confirme Sébastien Stormacq. En l’occurrence, AWS permet de réserver l’utilisation exclusive des mêmes instances Trn2 pendant un maximum de six mois et, ce, pour un cluster d’au maximum 64 instances.
L’autre instance, baptisée Trn2 UltraServer, revient à un cluster de quatre Trn2, soit un total de 64 GPU Trainium2 répartis sur 32 serveurs.
Pour mémoire, une puce Trainium2 contient huit cœurs NeuronCore v3 avec diverses unités de traitement scalaires, vectorielles, matricielles. Elle dispose aussi de 96 Go de mémoire HBM dont la bande passante interne est de 2,9 To seconde. Pour être tout à fait exact, une puce Trainium2 embarque deux circuits de quatre cœurs chacun et quatre circuits HBM de 24 Go chacun.
En matière de performances applicatives, une puce Trainium2 délivre entre 1,3 et 5,2 pétaflops en FP8, selon la quantité de bits valant 0 dans les valeurs à traiter.
À l’échelle d’une instance Trn2, on trouve donc 128 NeuronCores avec 1,5 To de mémoire HBM (qui s’ajoute aux 2 To de RAM du serveur) délivrant une puissance comprise entre 20,8 et 83,2 pétaflops. Sur une instance UltraServer, on grimpe à 512 NeuronCores, 6 To de HBM, entre 83 pétaflops et 332 pétaflops.
Notons qu’à partir du moment où les instances UltraServer sont elles-mêmes utilisées en cluster, le service de stockage à leur associer est forcément FSx for Lustre, le système de fichiers le plus parallélisé sur AWS, seul capable de supporter les hautes performances d’un tel cluster.
AWS a annoncé avoir achevé le design du prochain Trainium3. A priori mis en production d’ici à un an, le temps de le faire fabriquer par TSMC, il disposera d’une finesse de gravure en 3 nm et offrira deux fois plus de performances que le Trainium2. À vitesse de calcul égale, le Trainium3 consommera 40 % d’énergie en moins.
Toujours de nouvelles instances Nvidia
Parallèlement aux instances Trainium2, AWS met aussi en production des instances P5en. Il s’agit d’une mise à jour en plus haut débit des instances P5e annoncées en septembre dernier.
On retrouve les huit GPU H200 de la version précédente (qui totalisent 1,128 Go de mémoire HBM) sur deux serveurs x86 totalisant toujours 2 To de RAM et 192 cœurs. En revanche, les quatre processeurs AMD Epyc de troisième génération sont ici remplacés par quatre processeurs Intel Xeon de quatrième génération. Ce changement permet de mettre dans le serveur des bus PCIe 5.0 qui offrent quatre fois plus de bande passante entre les CPU et les GPUs que les bus PCIe 3.0 précédents.
Les bus PCIe 5.0 servent accessoirement à installer dans la machine les mêmes cartes réseau EFA v3 en 3,2 Tbit/s que sur les instances Trn2. Dans ces instances, les cartes réseau EFA prennent en charge le protocole GPU-Direct de Nvidia qui permet aux H200 de lire directement leurs données depuis une baie de stockage. La rapidité des transferts vers le stockage aurait été augmentée de 25 % par rapport aux cartes réseau EFA v2 précédentes.
Selon Nvidia, une puce H200 délivre une puissance applicative de 3,96 pétaflops en FP8, quel que soit le nombre de 0 dans les valeurs traitées. Une instance P5en permettrait donc en théorie d’atteindre une puissance de calcul de 31,68 pétaflops.
Selon le tableau des tarifs d’AWS, une instance p5en.48xlarge coûte 45,23 $/heure, tandis qu’une instance trn2.48xlarge coûte 44,7 $/heure. Si l’on ajoute à cela que la puissance de calcul d’une instance Trn2 est variable selon les données traitées, il est permis de conclure que les 50 % de bénéfices au profit du Trainium annoncés au début de cet article sont à prendre avec des pincettes.
En 2025, AWS lancera des instances P6 qui, cette fois-ci, seront équipées de GPU Nvidia Blackwell. À ce stade, on ignore s’il s’agira de B100 ou de B200. Nvidia ne semble lui-même plus sûr du nom du modèle qu’il fournira. AWS estime que ces nouveaux GPU Blackwell permettront à ses instances P6 d’être 2,5 fois plus rapides que les instances P5e. On imagine donc que les futures instances P6 et Trn3 se compareront comme les actuelles P5en et Trn2.