PyTorch 2.15 unterstützt MPS auf dem Mac

PyTorch 2.15 unterstützt MPS auf dem Mac
2 Minuten Lesezeit

Die Version 2.15 von PyTorch, der Bibliothek für maschinelles Lernen, bringt das FP8-Format auf Macs und beschleunigt deutlich die Dekodierung von Modellen mit Mischung von Experten (mixture-of-experts). Laut dem PyTorch-Team von Hugging Face, das die Ankündigung verfasst hat, enthält die Version auch neue Metal-Kerne für Audio, Video und Training. Das MPS-Backend, auf das sich diese Arbeiten beziehen, ermöglicht die Ausführung von PyTorch-Modellen auf der GPU von Macs.

  • PyTorch 2.15 bringt FP8 auf den Mac und beschleunigt Modelle mit Mischung von Experten um das 5- bis 6,5-Fache.
  • Neue Metal-Kerne verbessern Audio, Video und Training auf der GPU des Macs.
  • Dank neuem Padding sinkt der Speicherbedarf bei der Videodekodierung mit Wan2.2 von bis zu 270 GiB auf etwa 8 GiB.
  • Die Nutzung setzt einen Mac mit Apple Silicon, macOS 15 oder neuer und Python 3.11 oder neuer voraus.

Für Sprachmodelle ist der sichtbarste Gewinn bei Modellen mit Mischung von Experten zu verzeichnen, bei denen jede Schicht die Tokens auf mehrere Experten verteilt. Laut Quelle dekodieren diese Modelle 5 bis 6,5 Mal schneller als mit PyTorch 2.14. Auf einem M3 Ultra mit torch.compile steigt Qwen3.6-35B-A3B von 9,4 auf 61,3 Tokens pro Sekunde, und LFM2.5-8B-A1B von 23,6 auf 123,6 Tokens pro Sekunde. Auch dichte Modelle profitieren von schnelleren linearen Schichten. Das Sampling des Textes wird durch die Berechnung des Softmax beschleunigt: Bei einer Logits-Zeile der Größe [1, 128256] in FP32 sinkt die Zeit von 57 µs auf 7 µs, also etwa achtmal schneller als die MPSGraph-Version.

FP8 kommt auf den Mac

PyTorch 2.15 fügt die Tensoren torch.float8_e4m3fn auf MPS hinzu. Jeder Wert belegt ein Byte, also die Hälfte des Speicherplatzes von FP16 oder BF16, was den Speicherbedarf für die Gewichte eines Modells reduziert. Diese Tensoren werden mit F.scaled_mm multipliziert, das Skalierungen pro Tensor und pro Zeile verwaltet. Die Quelle gibt außerdem an, dass andere auf CUDA und CPU unterstützte Operationen nun auch auf MPS verfügbar sind.

Auch die Leistung bei der Videogenerierung ist betroffen. Die Dekodierung des gekachelten VAE von Wan2.2 ließ den Speichereinsatz des Treibers auf bis zu 270 GiB ansteigen, da das konstante Padding bei einer vollständigen Dekodierung in 28 Kacheln 8.764 Aufrufe erzeugte. Mit dem in Metal neu geschriebenen Padding sinkt der Spitzenwert auf etwa 8 GiB. Dieselbe Änderung behebt einen Fehler, der in ComfyUI gemeldet wurde, wo der VAE-Encoder von Qwen-Image-2.1 auf MPS die Bilder stillschweigend verfälschte. Eine Hin- und Rückkodierung erreicht nun 29,95 dB PSNR gegenüber der CPU, statt zuvor 10,06 dB.

Um die Version zu nutzen, benötigt man einen Mac mit Apple Silicon Chip, macOS 15 oder neuer und Python 3.11 oder neuer. Das Team gibt an, dass die Release Candidate-Version in einer separaten Umgebung mit dem Befehl uv pip install torch==2.15.0 installiert werden kann, unter Verwendung eines dedizierten Index. Es wird außerdem klargestellt, dass die Verfügbarkeitsprüfung von MPS nun den Grund für ein Scheitern angibt, beispielsweise ein zu altes Betriebssystem oder das Fehlen einer Metal-GPU.

S’abonner
Notification pour
guest

0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x