in

GeForce RTX 3080 : Noyaux de tenseur comparés à Turing et A100

Avec l’architecture Ampère, Nvidia a également révisé les cœurs tenseurs des GPU introduits avec Volta. Après qu’il ait été initialement difficile de savoir dans quelle mesure les cœurs Tensor du GeForce RTX 3080 (test) diffèrent de ceux du GPU professionnel A100, un livre blanc de Nvidia fournit maintenant des informations.

À quoi servent les noyaux tenseurs

Les cœurs tenseurs sont des unités de calcul qui ont été spécialement développées pour accélérer les multiplications de la matrice. Le nom vient des tenseurs mathématiques utilisés dans les réseaux de neurones. C’est également là qu’interviennent les noyaux tenseurs, qui peuvent accélérer massivement la formation et l’inférence, qui fait largement appel aux multiplications matricielles, d’un réseau de neurones.

Des types de données plus pertinents

Les noyaux tenseurs de première génération, qui ont été introduits avec Volta (Titan V et Quadro GV100), ne pouvaient traiter que les matrices FP16. Dans la plupart des cas, cependant, le FP32 est utilisé dans les réseaux neuronaux, et le passage au FP16 peut avoir un effet négatif sur la précision de la sortie. Avec Turing, Nvidia a révisé les noyaux Tensor et a ajouté le support pour les types de données INT8, INT4 et INT1. Comme tous ces types de données ne couvrent que de très petites plages de valeurs et qu’il a fallu quantifier les données d’entrée, leurs objectifs d’application ont été limités.

Types de données
Types de données (Image : Nvidia)

La troisième génération de noyaux tenseurs, qui est arrivée en ampères, peut traiter beaucoup plus de types de données. Les cœurs Tensor du GPU A100 introduit en mai peuvent également gérer les FP64, TF32 et bfloat16. Parmi ceux-ci, TF32 et bfloat16, les deux types de données les plus pertinents, ont également été intégrés dans les GPU GA10x des GeForce RTX 3070, 3080 et 3090. La TF32 est un compromis entre le FP32 et le FP16, bien que son nom soit quelque peu trompeur. Comme le FP32, TF32 a 8 bits pour représenter l’exposant et comme le FP16, 10 bits pour représenter la mantisse, plus un bit supplémentaire pour le signe. Cela signifie que le type de données se compose de 19 bits et est donc nettement plus petit que le FP32 avec 32 bits. Selon Nvidia, l’utilisation de TF32 n’entraîne aucune perte (significative) de précision dans les réseaux neuronaux, alors que les cœurs Tensor peuvent fonctionner environ 2,7 fois plus vite avec TF32 qu’avec FP32. Pour Bfloat16, l’exposant a été étendu de 5 à 8 bits par rapport à FP16, et la mantisse a été raccourcie de 10 à 7 bits en contrepartie.

Comme la TF32 a la même structure que la FP32 (avec une mantisse plus courte), les noyaux tenseurs peuvent travailler sur les entrées de la FP32 et aussi sortir à nouveau de la FP32. Ainsi, le passage de FP32 à TF32 est trivial pour les développeurs et est entièrement pris en charge par CUDA/cuDNN de Nvidia.

Moins de noyaux tenseurs, mais plus rapides

Alors que Volta et Turing avaient encore 8 noyaux tenseurs par SM, Ampère n’en a que 4, mais chaque noyau tenseur lui-même fonctionne deux fois plus vite. Ainsi, Ampere réalise les opérations FMA du 16e PC tout comme Turing par SM 512. En comparaison, l’A100 de Nvidia réalise 1 024 opérations FMA du 16e PC par SM. Une autre caractéristique que Nvidia a introduite dans les nouveaux cœurs tenseurs est d’accélérer automatiquement les réseaux neuronaux clairsemés (Sparsity). À cette fin, les noyaux tenseurs peuvent ignorer jusqu’à 2 valeurs zéro dans une structure à 4 cellules lors du calcul des opérations matricielles. Cela peut accélérer les opérations d’un facteur 2. Cependant, cette méthode ne peut (pour l’instant) être utilisée que pour l’inférence – comme l’application d’un réseau neuronal.

La rareté - L'ampère peut accélérer les matrices rares

La rareté – L’ampère peut accélérer les matrices rares

La rareté - Comparaison du débit

La rareté – comparaison du débit

Haute performance de l’IA

En théorie, Ampere offre non seulement une plus grande flexibilité en termes de formation et d’application de l’IA sur la GeForce RTX 3080 que sur la Turing et la Volta, mais il offre également des performances nettement supérieures. Par rapport à Turing sous la forme du GeForce RTX 2080 (Super), la puissance de calcul est 2,66 fois plus importante sur le FP32 et 1,40 fois plus importante sur le FP16 (2,80 avec Sparsity). En utilisant TF32, on constate un saut de performance par un facteur de 2,66 (5,22 avec la parcimonie) par rapport à FP32 avec la GeForce 2080 Super. Pour utiliser les nouvelles fonctionnalités, il faut disposer de CUDA 11 et de cuDNN 8 ainsi que d’une version adaptée du cadre d’apprentissage approfondi correspondant.

Partager cet article

Robin Vigneron

Par Robin Vigneron

Robin est un passionné de nouvelles technologies et il n'hésites pas à creuser le web pour vous trouver les meilleurs bons plans et astuce High-Tech !

22.9. ab 9 Uhr: Microsoft nennt Uhrzeit für Xbox-Vorbestellungen

22.9. à partir de 9 heures : Microsoft nomme le temps pour les précommandes de Xbox

Multi-GPU: Nvidia entwickelt ab 2021 keine neuen SLI-Profile mehr

Multi-GPU : Nvidia ne développera plus de nouveaux profils SLI à partir de 2021