ML-Framework PyTorch 2.2: Fortschritte in Observability und Effizienz

Das neue Release des ML-Frameworks liefert detailliertere Einblicke in Subsysteme und mehr Performance durch Ahead-of-Time-Kompilierung.​

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen

(Bild: Machine Learning & Artificial Intelligence / Mike MacKenzie / cc-by-2.0))

Lesezeit: 2 Min.

Das PyTorch-Team hat Version 2.2 des quelloffenen Machine-Learning-Frameworks vorgelegt. Die neue Hauptversion zielt vor allem auf flexibleres Logging sowie höhere Performance in verschiedenen Bereichen ab. Dazu führt PyTorch 2.2 einige neue Funktionen wie etwa das konfigurierbare Logging für Subsysteme oder auch das Kompilier- und Deployment-Tool AOTInductor ein.

Verbesserte Observability in PyTorch 2.2 verspricht der neue standardisierte Logging-Mechanismus TORCH_LOGS. Anwenderinnen und Anwender des ML-Frameworks können das konfigurierbare Logging nutzen, um eine detailliertere Analyse verschiedener Subsysteme zu erhalten – darunter jene für den verteilten Betrieb und die Kompilierung. Das Logging lässt sich über die Umgebungsvariable TORCH_LOGS aktivieren. Der Befehl TORCH_LOGS=”-dynamo,+inductor” beispielsweise setzt die Protokollierungsstufe von TorchDynamo auf logging.ERROR und die von TorchInductor auf logging.DEBUG. In PyTorch 2.2 ist die neue Logging-Funktion zunächst im Betastatus integriert.

Weitere Neuerungen im aktuellen Release zielen auf Performanceverbesserungen ab. Dem PyTorch-Team zufolge soll die Funktion scaled_dot_product_attention künftig die doppelte Leistung liefern. Zu verdanken sei dies der Integration des Algorithmus FlashAttention-v2, der zu besserer Parallelisierung und Arbeitsteilung beitrage. In serverseitigen Deployments jenseits von Python soll zudem die TorchInductor-Erweiterung AOTInductor das Bereitstellen durch Ahead-of-Time-Kompilierung beschleunigen. Darüber hinaus seien eine Reihe von Verbesserungen in torch.compile eingeflossen, die unter anderem zu geringerem Overhead beim Kompilieren von Optimierern beitragen sollen.

Auf Tests und Builds von PyTorch für die auf Intel-Prozessoren aufbauende Plattform macOS x86_64 will das PyTorch-Team künftig verzichten – der Support für diese Systeme erhält den Status veraltet (deprecated). Die 2.2.x-Serie des ML-Frameworks soll die letzte sein, die noch Binaries für macOS x86_64 bereitstellt.

Die wichtigsten Highlights von Version 2.2 fasst der PyTorch-Blog zusammen, die Library-Updates behandelt ein separater Blogbeitrag. Eine komplette Übersicht aller Änderungen findet sich in den Release Notes auf GitHub.

(map)