Skip to content
ReviewRamble

The weekly brief

AI, reviewed, in your inbox.

  • New reviews of tools, models, MCP servers and repos, with the verdict up front
  • Re-checked prices and ratings when something changes
  • New analysis pieces as they are published

Models, agents, MCP servers and the tools actually worth your time.

One email a week. Unsubscribe with the link in any brief. How we use your email

AI news & research

News ·

PyTorch 2.15 brings FP8 and much faster MoE decoding to Macs

PyTorch 2.15 adds FP8 to Apple's MPS backend and a native grouped matmul that makes mixture-of-experts models decode 5 to 6.5 times faster than in 2.14: Qwen3.6-35B-A3B goes from 9.4 to 61.3 tokens per second on an M3 Ultra. Softmax over the vocabulary is about 8 times faster, and Wan2.2's video decode peaks at 8 GiB of memory instead of 270 GiB.

At the start of 2026, running even small models in PyTorch on a Mac often meant working around missing operations, sudden slowdowns and memory that grew without warning. PyTorch 2.15, with a large share of the Apple work done by Hugging Face's PyTorch team, closes a lot of that gap. For anyone running models locally on Apple silicon through Transformers, Diffusers or tools such as ComfyUI, it is the most consequential Mac release in some time.

The headline is speed for mixture-of-experts models, which activate only part of their weights per token and have become the common design for capable open models. A native grouped matrix multiply with its own decoding path, plus fewer pauses while the GPU waits on the CPU, makes them decode 5 to 6.5 times faster than in 2.14. On an M3 Ultra with torch.compile, Qwen3.6-35B-A3B goes from 9.4 to 61.3 tokens per second and LFM2.5-8B-A1B from 23.6 to 123.6. Dense models gain too: decoding layers now use dedicated matrix-vector kernels, with a 1.23 times average speed-up across 96 real layer shapes, and softmax over a large vocabulary is about 8 times faster.

Other fixes matter as much as speed. FP8 tensors arrive on Apple's MPS backend, storing values in half the space of BF16 and multiplying them directly on the GPU. Decoding a video with Wan2.2's tiled VAE used to push memory to about 270 GiB; it now peaks at about 8 GiB. And a padding bug that silently corrupted images in Qwen-Image-2.1 editing on 2.14 is fixed, with an encode-decode round trip now matching the CPU at 29.95 dB, up from 10.06 dB.

For Mac users, this narrows the case for detouring through MLX, the Apple-specific framework we also review, when a model already runs in PyTorch. This does not make MLX redundant, but code written for PyTorch now has a far less painful route to running well on a Mac.

Two cautions before upgrading. The new minimums are macOS 15 and Python 3.11, which will break older setups. The speed figures are Hugging Face's own measurements, mostly on an M3 Ultra, the top of Apple's range, so gains on a base laptop will be smaller in absolute terms. Attention is still partly handled by Apple's older MPSGraph layer; fully Metal attention is promised for 2.16 and is not in this release.

Our take: Macs are becoming a serious place to run PyTorch models without a detour through MLX. Note the new minimums of macOS 15 and Python 3.11 before upgrading.

Our reviews:PyTorchMLX

Source: Hugging Face

More stories