Visuelle Darstellung der PyTorch 2.11 Features, welche die verbesserten KI-Leistungsfähigkeiten und die Schlüsselkomponenten des Frameworks veranschaulicht.

PyTorch 2.11 Release bringt massive KI-Leistungssteigerungen

PyTorch hat heute Version 2.11 veröffentlicht und liefert Leistungssteigerungen von bis zu 600x für bestimmte KI-Operationen, während gleichzeitig die Unterstützung für GPUs der nächsten Generation von NVIDIA und Intel hinzugefügt wird. Das Update, entstanden aus 2.723 Beiträgen von 432 Entwicklerinnen und Entwicklern, führt Differentiable Collectives für Distributed Training, ein FlashAttention-4 Backend sowie eine erweiterte Apple-Silicon-Kompatibilität ein und markiert einen bedeutenden Fortschritt für Machine-Learning-Forschende sowie Entwicklerinnen und Entwickler weltweit.

Die neuen Fähigkeiten positionieren PyTorch an der Spitze des Wettbewerbs der KI-Frameworks, da Organisationen darum ringen, Training und Inferenz für zunehmend komplexe Modelle zu optimieren. Das Feature Differentiable Collectives verändert grundlegend, wie Forschende Distributed Training Algorithmen angehen können, indem es erlaubt, Gradienten direkt über Collective Communication Operations zu berechnen, wodurch die Notwendigkeit für benutzerdefinierte Implementierungen entfällt.


Die Leistungsgewinne in diesem Release sind besonders ausgeprägt bei linearen Algebra-Operationen. Die Funktion torch.linalg.lstsq erreicht Beschleunigungen von 1,7x bis 620x, während torch.linalg.svd Verbesserungen von 2x bis 400x liefert. Diese Verbesserungen resultieren aus dem Ersatz des Legacy-MAGMA-Backends durch optimierte cuSOLVER- und cuBLAS-Implementierungen.


FlexAttention, nun mit dem FlashAttention-4 Backend, bietet 1,2x bis 3,2x Beschleunigungen für rechenintensive Attention-Workloads auf NVIDIAs Hopper- und Blackwell-GPUs. Diese Optimierung nutzt Just-in-Time Kompilierung, um Kernels zu generieren, die speziell auf Architekturen der nächsten Generation zugeschnitten sind.

Änderungen bei der Hardware-Kompatibilität

Innenansicht eines Data Centers mit Reihen von Servern und Speichereinheiten.

Eine bedeutende Änderung begleitet die Leistungsverbesserungen: Die Standardinstallation von PyTorch 2.11 wird nun mit CUDA 13.0 ausgeliefert, wodurch die Unterstützung für ältere GPU-Architekturen entfällt. Volta-, Pascal- und Maxwell-GPUs werden im Standard-Build nicht mehr unterstützt, allerdings können Nutzende weiterhin auf CUDA-12.6-Builds für Legacy-Hardware-Kompatibilität zugreifen.


Das Update erweitert die plattformübergreifende Unterstützung mit verbesserten Apple Silicon-Fähigkeiten, ergänzt neue statistische Verteilungsfunktionen und eine verbesserte Fehlerberichterstattung für MPS Operationen. Intel GPU-Nutzende erhalten XPUGraph-Support, eine Funktion ähnlich wie CUDA Graphs, die den CPU-Overhead reduziert, indem sie Sequenzen von Operationen aufzeichnet und wiedergibt.


Das Release markiert außerdem Fortschritte bei PyTorchs Fähigkeiten für produktive Deployments. Die torch.export API unterstützt nun das Exportieren von RNN-Modulen einschließlich LSTM und GRU für die Ausführung auf der GPU und erweitert damit die Bandbreite der Modelle, die für produktive Inferenz bereit sind. Dieser Fortschritt steht im Einklang mit der fortgesetzten Abkündigung von TorchScript zugunsten des Export-Ökosystems.

Sicherheits- und Migrationsaspekte

Zu den Sicherheitsverbesserungen gehört die Härtung von torch.hub.load, das Nutzende nun um Bestätigung bittet, bevor Code aus nicht vertrauenswürdigen Repositories ausgeführt wird. Organisationen, die von PyTorch 2.10 aktualisieren, müssen mehrere Breaking Changes berücksichtigen, insbesondere bei der CUDA-Kompatibilität und API-Änderungen an Attention-Mechanismen.


Die kollaborative Natur des Releases, aufgebaut aus 2.723 Beiträgen von 432 Entwicklerinnen und Entwicklern, unterstreicht PyTorchs Position als Community-getriebenes Projekt, das mit proprietären Alternativen großer Tech-Unternehmen konkurriert.

Sources

  • pytorch.org/blog