PyTorch 2.15 ondersteunt MPS op Mac

PyTorch 2.15 ondersteunt MPS op Mac
2 min lezen

Versie 2.15 van PyTorch, de machine learning-bibliotheek, brengt het FP8-formaat naar Macs en versnelt aanzienlijk het decoderen van mixture-of-experts-modellen (mixture-of-experts). Volgens het PyTorch-team van Hugging Face, dat de aankondiging doet, bevat de versie ook nieuwe Metal-kernen voor audio, video en training. De MPS-backend, het doel van deze werkzaamheden, maakt het mogelijk om PyTorch-modellen op de GPU van Macs uit te voeren.

  • PyTorch 2.15 brengt FP8 naar Macs via de MPS-backend.
  • Mixture-of-experts-modellen decoderen 5 tot 6,5 keer sneller dan met versie 2.14.
  • Videogeneratie met Wan2.2 gebruikt nu ongeveer 8 GiB in plaats van 270 GiB geheugen.
  • Installatie vereist een Apple silicon-Mac, macOS 15 of hoger en Python 3.11 of hoger.

Voor taalmodellen is de meest zichtbare winst voor mixture-of-experts-modellen, waarbij elke laag tokens verdeelt over meerdere experts. Volgens de bron decoderen deze modellen 5 tot 6,5 keer sneller dan met PyTorch 2.14. Op een M3 Ultra met torch.compile gaat Qwen3.6-35B-A3B van 9,4 naar 61,3 tokens per seconde, en LFM2.5-8B-A1B van 23,6 naar 123,6 tokens per seconde. Ook dichte modellen profiteren van snellere lineaire lagen. Het tekstsamplen wordt versneld door de berekening van softmax: op een logit-lijn van grootte [1, 128256] in FP32 gaat de tijd van 57 µs naar 7 µs, ongeveer acht keer sneller dan de MPSGraph-versie.

FP8 komt naar Mac

PyTorch 2.15 voegt de tensors torch.float8_e4m3fn toe op MPS. Elke waarde neemt één byte in beslag, de helft van de ruimte van FP16 of BF16, wat het geheugen voor de gewichten van een model vermindert. Deze tensors worden vermenigvuldigd met F.scaled_mm, die schalingen per tensor en per rij beheert. De bron geeft ook aan dat andere operaties die op CUDA en CPU worden ondersteund, nu ook op MPS beschikbaar zijn.

De prestaties van videogeneratie worden ook beïnvloed. Het decoderen van de getegelde VAE van Wan2.2 deed het geheugen van de driver oplopen tot 270 GiB, omdat de constante padding 8.764 oproepen genereerde bij een volledige decodering in 28 tegels. Met de opnieuw geschreven padding in Metal daalt de piek tot ongeveer 8 GiB. Dezelfde wijziging corrigeert een fout gemeld in ComfyUI, waar de VAE-encoder van Qwen-Image-2.1 stilletjes afbeeldingen wijzigde op MPS. Een encodeer-decode-ronde bereikt nu 29,95 dB PSNR ten opzichte van de CPU, tegenover 10,06 dB eerder.

Om de versie te gebruiken is een Mac met een Apple silicon-chip nodig, macOS 15 of hoger en Python 3.11 of hoger. Het team geeft aan dat de release candidate in een aparte omgeving kan worden geïnstalleerd met het commando uv pip install torch==2.15.0, met gebruik van een speciale index. Ook wordt vermeld dat de controle op MPS-beschikbaarheid nu de reden van een mislukking aangeeft, bijvoorbeeld een te oud besturingssysteem of het ontbreken van een 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