15 Punkte von ninebow 2023-09-10 | Noch keine Kommentare. | Auf WhatsApp teilen

In den vergangenen Jahren ist die GPU-Geschwindigkeit explosionsartig gestiegen, und damit haben sich auch die Methoden zur Optimierung von Deep-Learning-Workloads verändert. Auch PyTorch ergänzt Optimierungsfunktionen wie torch.compile(), doch bei einigen Workloads, darunter LLMs, laufen die Verbesserungen noch.

(Während wir auf weitere Verbesserungen bei torch.compile() warten) bin ich auf einen Artikel gestoßen, der CUDA Graphs als Optimierungsmethode vorstellt, die sich sofort anwenden lässt, und habe ihn übersetzt. (⚠️Achtung: Am Ende des Textes befindet sich teilweise Eigenwerbung von Fireworks.ai, einem Unternehmen, das eine LLM-Inferenzplattform entwickelt und anbietet.)

In diesem Artikel werden CUDA Graphs in folgender Reihenfolge vorgestellt:

  • Einführung in CPU/GPU-Overlap als bestehende Optimierungsmethode

  • Bereiche, in denen CPU-Overhead entsteht

  • Verfahren zur Optimierung von CPU-Overhead und CUDA Graphs

  • Vorstellung eines Anwendungsbeispiels von CUDA Graphs auf das Modell LLaMA2-7B

  • Darstellung der Leistungsgewinne durch CUDA Graphs

  • Anhang: Probleme bei der Nutzung von torch.compile() zum aktuellen Zeitpunkt (PyTorch 2.0.1) und Lösungsansätze

Noch keine Kommentare.

Noch keine Kommentare.