L’A100, nouvelle arme maîtresse de Nvidia pour le HPC
Nvidia a dévoilé un GPU surpuissant à destination des applications d’intelligence artificielle. Les performances sont démultipliées par rapport à la génération précédente.
Les gamers en seront pour leurs frais, mais les scientifiques apprécieront. Les dernières annonces de Nvidia lors de son événement GPU Technology Conference – en ligne, comme il se doit désormais – montrent que Nvidia se place désormais comme un acteur majeur du datacenter. Le récent rachat de Mellanox en est une autre illustration.
Nvidia a présenté son dernier processeur A100, basé sur sa nouvelle architecture Ampere. Sur le plan électronique, la puce, fabriquée par TSMC, est gravée en 7 nm (contre 12 nm pour la génération précédente de GPU, Volta), ce qui lui permet d’embarquer sur une surface à peu près identique (820 mm2) 54 milliards de transistors, contre un peu plus de 20 milliards pour Volta. L’A100 comporte 6 912 cœurs CUDA simple précision (FP32), ou la moitié en FP64. Surtout, il apporte des améliorations pour les calculs employés dans les routines d’intelligence artificielle. L’A100 adopte un nouveau format de codage des nombres, le TF32, en plus du FP32 et FP64.
Le TF32 est assez proche du format Bfloat16, employé notamment par Intel sur son processeur Nervana NNP (Neural Network Processeur). TF32 utilise une mantisse 10 bits comme le format FP16, et un exposant en 8 bits comme FP32. Autrement dit, TF32 gère des nombres aussi grands qu’avec FP32, mais avec une précision moindre. L’argument de Nvidia étant que les calculs liés à l’IA nécessitent de grands nombres, mais que les arrondis sont acceptables.
Résultat – sur le modèle BERT (Bidirectional Encoder Representations from Transformers) dédié au traitement automatique du langage – développé par Google pour son moteur de recherche, l’A100 est 6 fois plus rapide en TF32 que le V100 (Volta) en FP32, en nombre de séquences traitées par seconde. L’A100 prend charge également le format Bfloat16, et les applications exploitant les bibliothèques de calcul Nvidia n’auront pas besoin d’être modifiées.
Des instructions spécifiques pour certains calculs
L’A100 apporte également des gains de performances pour les calculs matriciels, notamment en présence de matrices creuses, largement présentes dans les systèmes peu couplés que l’on trouve dans les modèles d’intelligence artificielle. Les matrices creuses sont en fait constituées majoritairement de 0 (zéro), et l’idée est donc de simplifier la représentation mathématique des valeurs non nulles.
Nvidia s’appuie sur le fait que lors de l’entraînement d’un modèle d’intelligence artificielle, le nombre de facteurs ayant une influence sur le résultat tend à diminuer au cours de l’apprentissage. Autrement dit, le poids de certains paramètres diminue pour approcher de 0. Cette optimisation des calculs en utilisant la fonction dédiée de l’A100 (dénommée sparsity), permet de réduire de moitié les temps de calcul. À noter que les instructions sparsity, qui en fait effectuent une sorte de compression, peuvent être activées ou désactivées par l’utilisateur.
L’A100 apporte une nouvelle architecture, MIG (Multi Instance GPU). Le GPU peut ainsi être divisé en 7 instances indépendantes. Par indépendante, il faut comprendre que chaque GPU virtuel a un accès dédié et isolé à ses propres ressources (cache L2, DRAM). Ce partitionnement intéressera les fournisseurs de cloud, qui pourront attribuer des instances à différents utilisateurs, avec pour chacun une isolation et une qualité de service garanties.
Autre application, la possibilité d’attribuer certains workloads d’inférence pas trop gourmands à un seul GPU virtuel.
Enfin, le bus d’interconnexion NVLink de 3e génération voit ses performances doublées, avec une bande passante atteignant 600 Gbit/s.
Les premiers serveurs disponibles
L’A100 se concrétise chez Nvidia par son serveur DGX A100, destiné, on s’en doute, aux applications de calcul haute performance (HPC) en général, et à l’intelligence artificielle en particulier. Celui-ci embarque 8 GPU A100 pour un total de 320 Go de mémoire, et une puissance de 5 Pflops. Les composants réseau de Mellanox présents sous forme de 9 interfaces assurent une bande passante de 3,6 Tbit/s.
L’A100 est également présent sur le supercalculateur fourni par Atos au centre de recherche de Jülich, en Allemagne. Ce super calculateur, à base de lames Bull Sequana, devrait être le plus puissant d’Europe lors de sa mise en production, à l’automne prochain. Enfin, si un seul serveur DGX A100 ne suffit pas, Nvidia propose une architecture de référence pour les configurer en cluster, les DGX SuperPOD. Pour ses propres besoins, Nvidia exploite en interne un SuperPOD de 140 DGX A100, offrant une puissance totale de 700 Petaflops.