HyperAIHyperAI

Command Palette

Search for a command to run...

PyTorch 2.15 verbessert MPS

PyTorch 2.15 stärkt den MPS-Backend für Apple Silicon und macht den Mac als Beschleuniger für Training und Inferenz deutlich praktikabler. Der von der PyTorch-Gruppe bei Hugging Face, PyTorch-Maintainern und Community-Beiträgern getragene Release bringt FP8-Support mit torch.float8_e4m3fn auf MPS, wodurch Werte bei halber Speichergröße gegenüber BF16 gespeichert werden können. F.scaled_mm unterstützt skalierte Matrixmultiplikationen mit tensorweiser und zeilenweiser Skalierung, was die Nutzung von FP8 für Inferenz und Training erweitert. Ein Schwerpunkt liegt auf schnellerem Decoding von Sprachmodellen. Dense lineare Schichten mit kleineren Einzelreihen-Eingaben erhalten spezialisierte Matrix-Vektor-Kernel, was über relevante Layer-Formate hinweg im geometrischen Mittel 1,23-fachen Durchsatz bringt. Für Mixture-of-Experts-Modelle nutzt PyTorch 2.15 native grouped matmul-Kernel auf GPU, ohne group offsets über die CPU zu kopieren. Auf einem M3 Ultra steigt der Token-Durchsatz für Qwen3.6-35B-A3B von 9,4 auf 61,3 Tokens pro Sekunde, über die MoE-Klasse hinweg etwa 5 bis 6,5 mal schneller als in 2.14. Softmax über große Vokabulare wird mit dedizierten Metal-Kernels rund achtmal schneller. Zusätzliche Beschleunigungen betreffen lineare Algebra, Audio, Video und Training. Complex-valued LU-Faktorisierung, LU-Solve und triangular Solve laufen nun auf MPS, kleine FP32-Matrizen bis 4x4 werden effizient invertiert, und QR sowie SVD sind stabiler oder schneller. Für Convolution-, Padding-, Dropout-, Upsampling- und channels-last-Workloads ersetzen Metal-Kernel bisherige MPSGraph-Pfade. Besonders deutlich ist die Wirkung beim Video-VAE-Decoding von Wan2.2: Durch Metal-Padding sinkt der peak driver memory von etwa 270 GiB auf 8 GiB. MPS bekommt außerdem mehr Kontrolle aus Python: öffentliche torch.mps.Stream-Objekte, ein stream context manager und Tensor.record_stream für allocator-aware Streaming. Weitere Operationen wie frexp, logspace, take, heaviside, Laguerre-Polynome und unsigned comparisons laufen jetzt auf MPS; die Korrektheit von scaled dot-product attention bei Batch- und Head-Broadcasting wurde verbessert. Der Release verlangt macOS 15 oder neuer sowie Python 3.11 oder neuer. Für 2.16 steht eine weitere Metal-Migration an: Attention soll vollständig auf Metal laufen, Command Buffer sollen während des Encodings früher committet werden, und MPSGraph wird weiter durch spezialisierte Kernel ersetzt. Zudem soll die Installationsgröße durch kleinere gebündelte Metal-Shaders deutlich sinken. PyTorch 2.15 positioniert den Mac damit als deutlich tauglichere Plattform für moderne Sprach-, Bild- und Videomodelle, insbesondere für Inferenz-Pipelines und zunehmend für leichteres Training.

Verwandte Links