No início de 2026, rodar até modelos pequenos com PyTorch num Mac muitas vezes significava contornar operações ausentes, quedas bruscas de desempenho e memória que crescia sem aviso. O PyTorch 2.15, com boa parte do trabalho para a Apple feito pela equipe de PyTorch do Hugging Face, fecha muito dessa lacuna. Para quem roda modelos localmente em Apple silicon com Transformers, Diffusers ou ferramentas como o ComfyUI, é a versão para Mac mais relevante em bastante tempo.
O destaque é a velocidade em modelos de mistura de especialistas, que ativam só parte dos pesos a cada token e viraram o desenho comum dos modelos abertos mais capazes. Uma multiplicação de matrizes agrupada nativa, com um caminho próprio de decodificação, e menos pausas em que a GPU espera a CPU fazem esses modelos decodificarem de 5 a 6,5 vezes mais rápido que na 2.14. Num M3 Ultra com torch.compile, o Qwen3.6-35B-A3B vai de 9,4 para 61,3 tokens por segundo e o LFM2.5-8B-A1B de 23,6 para 123,6. Modelos densos também ganham: as camadas de decodificação agora usam kernels dedicados de matriz por vetor, com ganho médio de 1,23 vez em 96 formatos reais de camada, e o softmax sobre um vocabulário grande ficou cerca de 8 vezes mais rápido.
Outras correções importam tanto quanto a velocidade. Os tensores FP8 chegam ao backend MPS da Apple, guardando valores na metade do espaço do BF16 e sendo multiplicados direto na GPU. Decodificar um vídeo com o VAE em blocos do Wan2.2 levava a memória a cerca de 270 GiB; agora o pico fica em cerca de 8 GiB. E um bug de preenchimento que, na 2.14, corrompia imagens em silêncio na edição com o Qwen-Image-2.1 foi corrigido: um ciclo de codificação e decodificação agora bate com a CPU a 29,95 dB, contra 10,06 dB.
Para usuários de Mac, isso diminui o motivo para desviar pelo MLX, o framework específico da Apple que também analisamos, quando um modelo já roda em PyTorch. Isso não torna o MLX dispensável, mas o código escrito para PyTorch agora tem um caminho bem menos penoso para rodar bem num Mac.
Dois alertas antes de atualizar. Os novos mínimos são macOS 15 e Python 3.11, o que vai quebrar ambientes antigos. Os números de velocidade são medições do próprio Hugging Face, quase todas num M3 Ultra, o topo da linha da Apple, então num notebook básico os ganhos serão menores em termos absolutos. A atenção ainda passa em parte pela camada MPSGraph, mais antiga; atenção totalmente em Metal está prometida para a 2.16 e não faz parte desta versão.