Déverrouiller les performances du Tensor Core pour les potentiels interatomiques en apprentissage automatique

NVIDIA évalue les méthodes Tensor Core FP32 sur le Point Edge Transformer (PET) afin d’accélérer les potentiels interatomiques en apprentissage automatique. Les résultats montrent que BF16x9 sur les GPU Blackwell et TF32x3 sur les GPU Ampere accélèrent de manière significative les multiplications matricielles, tout en maintenant la cohérence physique et la conservation de l’énergie dans les simulations de dynamique moléculaire.

Lecture audio non disponible dans ce navigateur
Déverrouiller les performances du Tensor Core pour les potentiels interatomiques en apprentissage automatique

Tags

Résumé rapide

NVIDIA évalue les méthodes Tensor Core FP32 sur le Point Edge Transformer (PET) afin d’accélérer les potentiels interatomiques en apprentissage automatique. Les résultats montrent que BF16x9 sur les GPU Blackwell et TF32x3 sur les GPU Ampere accélèrent de manière significative les multiplications matricielles, tout en maintenant la cohérence physique et la conservation de l’énergie dans les simulations de dynamique moléculaire.

Déverrouiller les performances du Tensor Core pour les potentiels interatomiques d’apprentissage automatique

Les simulations atomistiques sont fondamentales pour comprendre le comportement des molécules et des matériaux, allant des réactions chimiques et des transitions de phase aux défaillances mécaniques. Cependant, ces simulations présentent un compromis important entre coût et précision. Les méthodes mécaniques quantiques, telles que la théorie fonctionnelle de densité (DFT), offrent une grande précision mais sont coûteuses en termes de calcul, ce qui limite souvent leur utilisation à de petits systèmes ou à de courtes échelles de temps. Inversement, les potentiels interatomiques classiques sont rapides mais manquent de généralisabilité nécessaire pour des environnements atomiques variés. Les potentiels interatomiques d’apprentissage automatique (MLIPs) comblent cette lacune en utilisant des réseaux neuronaux pour prédire les énergies et les forces à un coût bien inférieur, permettant ainsi l’étude de systèmes plus grands tout en maintenant la précision requise.

Malgré leur efficacité, faire fonctionner les MLIPs de manière efficace reste un défi. Les simulations atomistiques sont sensibles aux petites erreurs numériques qui s’accumulent avec le temps, en particulier lors du calcul des forces dérivées de la dérivation de l’énergie. Lors de la dynamique moléculaire, ces forces guident les mises à jour atomiques au cours de nombreux pas temporels, ce qui rend la précision numérique cruciale tant pour la précision physique que pour la stabilité des trajectoires. Par conséquent, de nombreux MLIPs continuent d’être exécutés dans FP32, même si les GPU NVIDIA modernes offrent un débit de multiplication de matrices considérablement plus élevé grâce à des opérations Tensor Core à faible précision.

Pour y remédier, des chercheurs ont évalué des méthodes Tensor Core FP32. Ces techniques décomposent les opérandes FP32 en composants à plus faible précision, évaluent leurs produits scalaires sur les Tensor Cores, puis recombinent les résultats dans FP32.. Cette approche augmente le débit de multiplication de matrices tout en conservant une précision proche de celle du format natif FP32, sans nécessiter de réentraînement du modèle ni de changements architecturaux. L’analyse suivante évalue les performances de ces méthodes sur le Point Edge Transformer (PET), un MLIP basé sur des transformeurs développé par Lab COSMO à l’EPFL.

Comment Tensor Core FP32 comble l’écart matériel

LES GPU NVIDIA modernes offrent un débit bien plus élevé pour les opérations Tensor Core pour BF16 et TF32 par rapport à la multiplication matricielle pour FP32. Cela crée un écart entre le débit disponible et les exigences de précision des charges de travail scientifiques. Les méthodes Tensor Core FP32 aident à réduire cet écart en tirant parti des capacités du matériel en matière de précision plus faible, tout en maintenant la précision de sortie nécessaire à la stabilité.

Sur les GPU NVIDIA Blackwell (capacité de calcul 10.0 ou 10.3), l’algorithme BF16x9 est pris en charge via NVIDIA cuBLAS. Comme indiqué dans la documentation, chaque opérande FP32 est décomposé en trois composants BF16, ce qui produit neuf produits en paires qui sont accumulés dans FP32 le long de cinq bandes anti-diagonales. NVIDIA cuBLAS permet d’utiliser cette voie grâce à la variable d’environnement CUBLAS_EMULATE_SINGLE_PRECISION=1, ce qui permet aux GEMM PyTorch compatibles d’exploiter cette voie sans modifier l’architecture du modèle ni implémenter des noyaux personnalisés.

Sur les GPU NVIDIA Ampere, la méthode TF32x3 applique un principe similaire. Chaque opérande FP32 est représenté par un composant principal TF32 et un composant résiduel TF32. L’implémentation évalue trois produits croisés — un produit entre les composants principaux et deux produits entre un composant principal et un composant résiduel — et les accumule dans FP32, en omettant le terme entre les composants résiduels. NVIDIA CUTLASS propose cette approche via l’opérateur OpMultiplyAddFastF32, où les entrées et les sorties restent dans FP32..

Évaluation des calculs matriciels Tensor Core FP32 sur PET

L’évaluation s’est concentrée sur le petit fichier de vérification PET-MAD au paramètre 26M (pet-mad-s-v1.6.0-nn-32) sur une boîte d’eau contenant 192 atomes et une supercellule contenant 17,280 atomes, ainsi que sur le grand fichier de vérification au paramètre 255M (pet-mad-m-v1.6.0) sur le système composé de 192 atomes. Les énergies, forces et contraintes prédictives ont été comparées avec la voie native FP32.

Méthode BF16x9 sur les GPU NVIDIA Blackwell

Sur les GPU Blackwell, la méthode BF16x9 a montré une accélération significative pour de grandes opérations GEMM au sein du modèle PET. Pour la charge de travail à 17,280 atomes, les grandes opérations GEMM ont été accélérées de 2.2–2.5x.. Pour la charge de travail à 192 atomes, l’accélération variait de 1.2–1.4x..

Lors de l’évaluation des performances en dynamique moléculaire du début à la fin, deux stratégies ont été testées :

  • Stratégie performante : Utilise BF16x9 lorsque cuBLAS estime que c’est plus rapide.
  • Stratégie proactive : Utilise BF16x9 chaque fois que l’opération le permet.

Sur le système à 192 atomes, la stratégie performante a accéléré l’étape de MD de 1.2x, tandis que la stratégie proactive a atteint 1.1x.. Sur le système à 17,280 atomes, la stratégie performante a permis une accélération de 1.7x, tandis que la stratégie proactive a atteint 1.4x.. Il est important de noter que l’erreur introduite par la méthode des BF16x9 Tensor Core s’est avérée inférieure au niveau de non-déterminisme propre au modèle. Ce résultat est significatif car PET exprime déjà une grande partie de son temps d’exécution sous forme de travaux GEMM optimisés, et pourtant la voie BF16x9 a permis d’améliorer les performances sans retraitrer le modèle ni modifier son architecture de transformateur.

Méthode TF32x3 sur les GPU Ampere

Sur les GPU Ampere, la méthode TF32x3 a été mise en œuvre en remplaçant les couches standard nn.Linear de PET par une couche personnalisée TF32Linear qui appelle un noyau C++ CUTLASS TF32x3. La configuration clé dans l’implémentation de PET sélectionne le mode de multiplication rapide et précis FP32 de CUTLASS. Le noyau représente chaque opérande FP32 comme des composantes principale et résiduelle TF32, et les Tensor Cores exécutent les trois produits TF32 avec accumulation dans FP32..

Pour la charge de travail à 17,280 atomes sur une GPU NVIDIA A100 Tensor Core, TF32x3 a accéléré les grands SGEMM PET d’environ 1.7–1.9x par rapport à FP32. natif. En ce qui concerne les étapes complètes de dynamique moléculaire, TF32x3 a accéléré le processus jusqu’à 1.5x tout en maintenant l’erreur de force proche de la valeur de référence FP32.

Validation de la cohérence physique

Un aspect critique de l’utilisation d’une arithmétique à précision inférieure dans les simulations scientifiques est de garantir la cohérence physique. L’évaluation a testé la méthode TF32x3 en ce qui concerne la régularité de l’énergie potentielle, la conservation de l’énergie et le relâchement structurel.

Conservation de l’énergie et régularité

TF32x3 préserve la régularité de l’énergie potentielle et la conservation de l’énergie dans les trajectoires NVE, correspondant au comportement de FP32. En revanche, TF32 en une seule passe a montré des déviations et une rugosité dans ces trajectoires. Cette différence souligne l’importance de la méthode de décomposition spécifique utilisée pour maintenir la stabilité numérique au cours de simulations longues.

Relâchement structurel

Les méthodes ont été testées davantage lors du relâchement structurel d’une plaque en alliage Cantor à 539 atomes. Dans ce scénario, TF32x3 a convergé en 218–222 étapes, avec un accélération de 1.5x par étape. Inversement, TF32 en une seule passe n’a pas atteint la tolérance de force même après 1,000 étapes. Cela montre que, bien que les méthodes standard à faible précision puissent offrir une vitesse brute, elles peuvent compromettre la convergence et la fiabilité nécessaires aux tâches d’optimisation structurelle.

Limites et critères de décision

Bien que les méthodes Tensor Core FP32 offrent des gains de performance importants, elles ne constituent pas une solution universelle. L’évaluation n’a pas mesuré le gain combiné lorsque ces méthodes sont utilisées avec une construction de graphes optimisée, des opérations fusionnées, des noyaux personnalisés et des graphes NVIDIA CUDA ; de tels gains globaux doivent être déterminés pour chaque charge de travail spécifique.

De plus, les détails d’implémentation diffèrent entre les générations de matériel. Sur les GPU Blackwell, l’approche repose sur des variables d’environnement cuBLAS pour permettre la multiplication matricielle générale en précision simple (SGEMM) sans modification du code. Sur les GPU Ampere, une implémentation personnalisée en C++ utilisant CUTLASS est nécessaire pour remplacer les couches linéaires standard. Les utilisateurs doivent évaluer les avantages en termes de performances par rapport à la complexité d’implémentation et s’assurer que les marges d’erreur spécifiques restent acceptables pour leur domaine scientifique.

Conclusion

Les méthodes Tensor Core FP32 offrent une solution viable pour accélérer les potentiels interatomiques en apprentissage automatique sans compromettre la stabilité numérique requise pour les simulations atomistiques. En décomposant les opérandes FP32 en composants à plus faible précision, des méthodes comme BF16x9 sur les GPU Blackwell et TF32x3 sur les GPU Ampere peuvent tirer parti d’un débit plus élevé des Tensor Core.

Les éléments disponibles indiquent que, pour le Point Edge Transformer, BF16x9 peut accélérer de grandes opérations GEMM jusqu’à 2.5x sur du matériel Blackwell, tandis que TF32x3 obtient des gains similaires sur les GPU Ampere. Il est essentiel de noter que ces méthodes maintiennent la cohérence physique, préservant la conservation de l’énergie et la convergence dans les tâches de relaxation structurale où les méthodes à faible précision en une seule passe échouent. Les chercheurs peuvent exploiter ces améliorations de performance en utilisant les outils et variables d’environnement documentés, ce qui permet une exploration plus rapide des matériaux et des molécules tout en conservant la précision indispensable à la découverte scientifique.

Source : https://developer.nvidia.com/blog/unlocking-tensor-core-performance-for-machine-learning-interatomic-potentials

Sources