All stories

Models

MPS in PyTorch 2.15

Published 2026-10-20 · Reported by Hugging Face

PyTorch 2.15 brings substantial speedups and memory savings for Apple silicon Macs, according to a post published October 20, 2026 by Irakli Salia and Khushi Agrawal of Hugging Face's PyTorch team. The group says it tests real Hub models on the MPS backend and fixes shortcomings upstream, increasingly by swapping MPSGraph for dedicated Metal kernels.

The headline numbers concern local language models. On an M3 Ultra with torch.compile, the authors report mixture-of-experts models decoding 5 to 6.5 times faster than in 2.14, with Qwen3.6-35B-A3B rising from 9.4 to 61.3 tokens per second and LFM2.5-8B-A1B from 23.6 to 123.6. Softmax over large vocabularies is about eight times faster, and dense linear layers gain a 1.23x average speedup across 96 tested shapes.

Other changes include FP8 tensors, which use half the storage of BF16, plus complex-valued LU and triangular solves on the GPU and public MPS streams in Python. Moving constant padding to Metal cut peak driver memory during Wan2.2 video VAE decoding from about 270 GiB to 8 GiB, and a related fix ended silent image corruption in the Qwen-Image-2.1 encoder. The release requires macOS 15 and Python 3.11 or later, and the post points readers to a release candidate.

Looking ahead, the team says 2.16 will run attention entirely on Metal and shrink a core library by about 25 percent, though some work remains in review. The changes matter because, by the authors' account, even small models on MPS often hit unsupported operations and memory growth at the start of 2026.

2 min recap · This recap was written by an AI model from Hugging Face's reporting and has not been checked by a person. It can contain errors.

Discuss in the forum

Source: Hugging Face