Tensor Core-Leistung für interatomare Potenziale im Maschinelles-Lernen freischalten

NVIDIA prüft Tensor Core FP32-Methoden am Point Edge Transformer (PET), um interatomare Potenziale im Maschinelles-Lernen zu beschleunigen. Die Ergebnisse zeigen, dass BF16x9 auf Blackwell-GPUs sowie TF32x3 auf Ampere-GPUs die Matrixmultiplikationen erheblich beschleunigen, wobei in Simulationen der Moleküldynamik physikalische Konsistenz und Energieerhaltung gewahrt bleiben.

Vorlesen ist in diesem Browser nicht verfügbar
Tensor Core-Leistung für interatomare Potenziale im Maschinelles-Lernen freischalten

Tags

Kurze Zusammenfassung

NVIDIA prüft Tensor Core FP32-Methoden am Point Edge Transformer (PET), um interatomare Potenziale im Maschinelles-Lernen zu beschleunigen. Die Ergebnisse zeigen, dass BF16x9 auf Blackwell-GPUs sowie TF32x3 auf Ampere-GPUs die Matrixmultiplikationen erheblich beschleunigen, wobei in Simulationen der Moleküldynamik physikalische Konsistenz und Energieerhaltung gewahrt bleiben.

Aktivierung der Tensor Core-Leistung für Machine-Learning-Interatompotenziale

Atomare Simulationen sind grundlegend, um das Verhalten von Molekülen und Materialien zu verstehen – von chemischen Reaktionen und Phasenübergängen bis hin zu mechanischem Versagen. Allerdings erfordern diese Simulationen einen erheblichen Kompromiss zwischen Kosten und Genauigkeit. Quantenmechanische Methoden wie die Dichte-Funktional-Theorie (DFT) bieten hohe Genauigkeit, sind jedoch rechenintensiv, wodurch ihr Einsatz oft auf kleine Systeme oder kurze Zeitskalen beschränkt bleibt. Klassische Interatompotenziale hingegen sind schnell, verfügen aber nicht über die Generalisierbarkeit, die für unterschiedliche atomare Umgebungen erforderlich ist. Machine-Learning-Interatompotenziale (MLIPs) überbrücken diese Lücke, indem sie neuronale Netze nutzen, um Energien und Kräfte zu berechnen – und zwar zu einem Bruchteil der Kosten – wodurch die Untersuchung größerer Systeme bei gleichzeitiger Beibehaltung der notwendigen Genauigkeit möglich wird.

Trotz ihrer Effizienz bleibt die effiziente Ausführung von MLIPs eine Herausforderung. Atomare Simulationen sind empfindlich gegenüber kleinen numerischen Fehlern, die im Laufe der Zeit anwachsen, insbesondere bei der Berechnung von aus Energiedifferenziation abgeleiteten Kräften. Während der Moleküldynamik lenken diese Kräfte die Aktualisierung der Atome über viele Zeitschritte hinweg – wodurch die numerische Präzision sowohl für die physikalische Genauigkeit als auch für die Stabilität der Bahnen entscheidend ist. Infolgedessen werden viele MLIPs weiterhin in FP32 ausgeführt, obwohl moderne NVIDIA-GPUs durch niedrigpräzise Tensor Core-Operationen eine deutlich höhere Matrixmultiplikationsleistung bieten.

Um dieses Problem zu lösen, haben Forscher Methoden mit Tensor Core FP32 evaluiert. Dabei werden die FP32-Operanden in Komponenten niedrigerer Präzision zerlegt, ihre Kreuzprodukte auf Tensor Cores berechnet und die Ergebnisse in FP32. wieder zusammengeführt. Dieser Ansatz erhöht die Matrixmultiplikationsleistung, behält dabei eine Genauigkeit nahe der des nativen FP32 bei – ohne dass ein Neutraining des Modells oder architektonische Änderungen erforderlich sind. Die folgende Analyse bewertet die Leistung dieser Methoden am Point Edge Transformer (PET), einem auf Transformern basierenden MLIP, das von Lab COSMO an der EPFL entwickelt wurde.

Wie Tensor Core FP32 die Hardware-Lücke schließt

MODERNE NVIDIA-GPUs liefern einen erheblich höheren Durchsatz der Tensor Core für BF16 und TF32 im Vergleich zur Matrixmultiplikation für FP32. Dadurch entsteht eine Lücke zwischen dem verfügbaren Durchsatz und den Präzisionsanforderungen wissenschaftlicher Arbeitslasten. Tensor Core FP32-Methoden helfen, diese Lücke zu verringern, indem sie die Stärken der Hardware bei niedrigerer Präzision nutzen und gleichzeitig die für die Stabilität erforderliche Ausgabepräzision beibehalten.

Bei NVIDIA Blackwell-GPUs (Rechenfähigkeit 10.0 oder 10.3) wird das BF16x9-Algorithmus über NVIDIA cuBLAS unterstützt. Wie in der Dokumentation dargestellt, wird jeder FP32-Operand in drei BF16-Komponenten zerlegt, wodurch neun Paarprodukte entstehen, die in FP32 entlang von fünf Antidiagonalebändern akkumuliert werden. NVIDIA cuBLAS ermöglicht diesen Weg über die Umgebungsvariable CUBLAS_EMULATE_SINGLE_PRECISION=1, wodurch kompatible PyTorch GEMMs diesen Weg nutzen können, ohne die Modellarchitektur zu ändern oder eigene Kerne zu implementieren.

Bei NVIDIA Ampere-GPUs wendet die TF32x3-Methode ein ähnliches Prinzip an. Jeder FP32-Operand wird durch eine führende TF32-Komponente und eine residuelle TF32-Komponente dargestellt. Die Implementierung berechnet drei Kreuzprodukte – eines aus führenden Komponenten untereinander sowie zwei aus führenden und residuellen Komponenten – und akkumuliert diese in FP32, wobei der Term aus residuellen Komponenten weggelassen wird. NVIDIA CUTLASS bietet diesen Ansatz über den Operator OpMultiplyAddFastF32 an, wobei Eingaben und Ausgaben weiterhin in FP32. verbleiben.

Benchmarking von Tensor Core FP32-Matrixrechnungen auf PET

Die Bewertung konzentrierte sich auf den mit dem 26M-Parameter versehenen kleinen PET-MAD-Checkpoint (pet-mad-s-v1.6.0-nn-32) an einer Wasserbox mit 192 Atomen und einer Supercell mit 17,280 Atomen sowie auf den mit dem 255M-Parameter versehenen großen Checkpoint (pet-mad-m-v1.6.0) am 192-Atom-System. Die vorhergesagten Energien, Kräfte und Spannungen wurden mit dem nativen FP32-Weg verglichen.

BF16x9-Methode auf NVIDIA Blackwell-GPUs

Bei Blackwell-GPUs zeigte die BF16x9-Methode eine erhebliche Beschleunigung für große GEMMs im PET-Modell. Bei der 17,280-Atom-Arbeitlast wurden große GEMMs um 2.2–2.5x. beschleunigt. Bei der 192-Atom-Arbeitlast lag die Beschleunigung zwischen 1.2–1.4x..

Beim Bewerten der Leistung von molekularen Dynamiken vom Anfang bis zum Ende wurden zwei Strategien getestet:

  • Leistungsstarke Strategie: Nutzt BF16x9, wenn cuBLAS eine schnellere Ausführung erwartet.
  • Eifrige Strategie: Nutzt BF16x9, sobald die Operation dies unterstützt.

Am 192-Atom-System beschleunigte die leistungsstarke Strategie den MD-Schritt um 1.2x, während die eifrige Strategie eine Beschleunigung von 1.1x. erzielte. Am 17,280-Atom-System erreichte die leistungsstarke Strategie eine Beschleunigung von 1.7x, während die eifrige Strategie 1.4x. erreichte. Wichtig ist, dass der durch die BF16x9-Tensor-Core-Methode verursachte Fehler unter dem eigenen Nivau an Nichtbestimmtheit des Modells lag. Dieses Ergebnis ist bedeutend, da PET bereits einen Großteil seiner Laufzeit als optimierte GEMM-Arbeit ausdrückt; dennoch bot der BF16x9-Weg Leistungspotenzial, ohne das Modell neu trainieren oder seine Transformer-Architektur ändern zu müssen.

TF32x3-Methode auf Ampere-GPUs

Auf Ampere-GPUs wurde die TF32x3-Methode umgesetzt, indem die standardmäßigen nn.Linear-Schichten von PET durch eine benutzerdefinierte TF32Linear-Schicht ersetzt wurden, die ein CUTLASS C++-TF32x3-Kernel aufruft. Die wichtigste Einstellung in der PET-Implementierung wählt den schnellen und präzisen FP32-Multiplikationsmodus von CUTLASS aus. Der Kernel stellt jeden FP32-Operanden als führende und restliche TF32-Komponenten dar, und die Tensor Cores führen die drei TF32-Produkte mit Akkumulation in FP32. aus.

Für die 17,280-Atom-Arbeitlast auf einer NVIDIA A100 Tensor Core GPU beschleunigte TF32x3 große PET SGEMMs um etwa 1.7–1.9x im Vergleich zu nativen FP32.-Verfahren. Bei vollständigen Schritten der Moleküldynamik beschleunigte TF32x3 den Prozess um bis zu 1.5x, wobei der Kraftfehler nahe bei der FP32-Baseline blieb.

Überprüfung der physikalischen Konsistenz

Ein entscheidender Aspekt beim Einsatz von Arithmetiken mit niedrigerer Präzision in wissenschaftlichen Simulationen ist die Gewährleistung der physikalischen Konsistenz. Die Bewertung prüfte die TF32x3-Methode hinsichtlich der Glätte der Potenzialenergie, der Energieerhaltung und der strukturellen Entspannung.

Energieerhaltung und Glätte

TF32x3 bewahrt die Glätte der Potenzialenergie sowie die Energieerhaltung in NVE-Trajektorien und entspricht damit dem Verhalten von FP32. Im Gegensatz dazu zeigten ein-Pass-Verfahren wie TF32 eine Abweichung sowie Rauheit in diesen Trajektorien. Dies unterstreicht die Bedeutung der spezifischen Zerlegungsmethode, die über lange Simulationen hinweg die numerische Stabilität gewährleisten muss.

Strukturelle Entspannung

Die Methoden wurden weiterhin bei der strukturellen Entspannung einer 539-Atom-Cantor-Legierungsplatte getestet. In diesem Szenario konvergierte TF32x3 in 218–222 Schritten mit einer Beschleunigung von 1.5x pro Schritt. Ein-Pass-Verfahren wie TF32 erreichten hingegen selbst nach 1,000 Schritten nicht die erforderliche Krafttoleranz. Dies zeigt, dass herkömmliche Methoden mit niedriger Präzision zwar eine höhere Geschwindigkeit bieten können, aber die für Aufgaben der strukturellen Optimierung notwendige Konvergenz und Zuverlässigkeit beeinträchtigen können.

Einschränkungen und Entscheidungskriterien

Obwohl Tensor Core FP32-Methoden erhebliche Leistungsverbesserungen liefern, stellen sie keine universelle Lösung dar. Die Bewertung maß nicht den kombinierten Gewinn, wenn diese Methoden zusammen mit optimierter Graphenerstellung, gefügten Operationen, benutzerdefinierten Kernen sowie NVIDIA CUDA-Graphen eingesetzt werden; solche end-to-end-Verbesserungen müssen für jede spezifische Arbeitlast ermittelt werden.

Weiterhin unterscheiden sich die Implementierungsdetails zwischen den Hardware-Generationen. Bei Blackwell-GPUs stützt sich der Ansatz auf cuBLAS-Umgebungsvariablen, um den Weg für die Multiplikation allgemeiner Matrizen in einfacher Präzision (SGEMM) ohne Codeänderungen zu ermöglichen. Bei Ampere-GPUs ist eine eigene C++-Implementierung unter Verwendung von CUTLASS erforderlich, um standardmäßige lineare Schichten zu ersetzen. Nutzer müssen die Leistungsvorteile gegenüber der Implementierungskomplexität abwägen und sicherstellen, dass die spezifischen Fehlermargen für ihr wissenschaftliches Gebiet akzeptabel bleiben.

Schlussfolgerung

Tensor Core FP32-Methoden bieten einen praktikablen Weg, um interatomare Potenziale im Maschinenlernen zu beschleunigen, ohne die für atomare Simulationen erforderliche numerische Stabilität zu opfern. Durch die Aufteilung der FP32-Operanden in Komponenten niedrigerer Präzision können Methoden wie BF16x9 bei Blackwell-GPUs und TF32x3 bei Ampere-GPUs von einer höheren Durchsatzleistung der Tensor Cores profitieren.

Die Erkenntnisse deuten darauf hin, dass BF16x9 beim Point Edge Transformer große GEMM-Operationen bei Blackwell-Hardware um bis zu 2.5x beschleunigen kann, während TF32x3 ähnliche Vorteile bei Ampere-GPUs erzielt. Entscheidend ist, dass diese Methoden die physikalische Konsistenz bewahren, indem sie Energieerhaltung und Konvergenz in Aufgaben der strukturellen Entspannung gewährleisten – in solchen Fällen versagen einpfadige Methoden niedriger Präzision. Forscher können diese Leistungssteigerungen durch die dokumentierten Tools und Umgebungsvariablen nutzen, um Materialien und Moleküle schneller zu untersuchen, während gleichzeitig die für wissenschaftliche Entdeckungen essentielle Genauigkeit erhalten bleibt.

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

Quellen