Voltar
PyTorch 2.15 turbina o Mac: FP8 chega ao MPS e decoding de LLMs fica até 6,5× mais rápido

PyTorch 2.15 turbina o Mac: FP8 chega ao MPS e decoding de LLMs fica até 6,5× mais rápido

Aprofundamento CEVIU

Aprofundamento

O PyTorch 2.15 ataca um problema que o time de PyTorch da Hugging Face descreve sem rodeios: no começo de 2026, rodar até modelos pequenos no MPS exigia contornar operações não suportadas, quedas de desempenho e crescimento inesperado de memória. A resposta técnica é trocar o MPSGraph por kernels Metal dedicados, operação por operação. O FP8 entra nesse pacote com tensores float8_e4m3fn (um byte por valor, metade do BF16) e multiplicação via F.scaled_mm, com escala por tensor ou por linha.

O salto maior vem do decoding em modelos MoE. No 2.14, o grouped matmul copiava os offsets dos grupos para a CPU e rodava um loop. Agora os kernels leem os offsets direto na GPU, e grupos pequenos, o caso comum no decoding, têm kernel próprio. Somando menos sincronizações GPU-CPU e top-k mais rápido, o Qwen3.6-35B-A3B sobe de 9,4 para 61,3 tokens/s num M3 Ultra. Camadas lineares densas ganham GEMV (1,23× na média geométrica) e o softmax sobre vocabulário grande fica cerca de 8× mais rápido. Detalhe de custo: o requisito mínimo agora é macOS 15 e Python 3.11.

Por que isso importa

Inferência local em Mac deixa de ser curiosidade e vira opção prática, inclusive para vídeo: o decode do VAE do Wan2.2 cai de 270 GiB para cerca de 8 GiB de pico. E o Qwen-Image-2.1 deixa de corromper imagens no MPS (PSNR de 10,06 para 29,95 dB). Isso conversa com a onda de IA on-device em Apple Silicon que o CEVIU vem cobrindo, como o motor Lily da Apple, de 2 de setembro de 2026, e a otimização do Muse Spark Open da Meta para Mac Studios M5 Ultra, de 19 de outubro de 2026.

Linha do tempo

  1. PyTorch 2.12 chega com eigendecomposição CUDA mais rápida e API unificada de captura de grafos.

  2. Apple apresenta o motor Lily para LLMs em Apple Silicon.

  3. Muse Spark Open, da Meta, é otimizado para clusters de Mac Studios M5 Ultra.

  4. PyTorch 2.15 traz FP8 ao MPS e decoding de MoE até 6,5× mais rápido.

Perguntas frequentes

O que muda com o FP8 no PyTorch 2.15 para Mac?

O MPS passa a aceitar tensores torch.float8_e4m3fn, que ocupam metade da memória do BF16. Dá para multiplicá-los diretamente na GPU com F.scaled_mm, com escala por tensor ou por linha. Na prática, cabem pesos maiores na memória unificada do Mac.

Quanto o decoding de LLMs ficou mais rápido?

Em modelos MoE, de 5 a 6,5× mais rápido que no 2.14. O Qwen3.6-35B-A3B vai de 9,4 para 61,3 tokens/s num M3 Ultra, e o LFM2.5-8B-A1B de 23,6 para 123,6 tokens/s com torch.compile. Modelos densos também ganham, com camadas lineares mais ágeis e softmax cerca de 8× mais rápido.

Quais são os requisitos para usar o PyTorch 2.15 com MPS?

Um Mac com Apple silicon, macOS 15 ou superior e Python 3.11 ou superior. Se o sistema for antigo demais ou não houver GPU Metal, a checagem de disponibilidade do MPS agora informa o motivo.

O que vem no PyTorch 2.16?

Attention rodando inteiramente em Metal, mais migrações de MPSGraph para Metal e decoding de LLMs mais rápido. Parte das mudanças já está nos nightlies, outras ainda estão em revisão e podem mudar antes do lançamento.

Fontes

Avalie este artigo:
Categoria
CEVIU IA
Publicado
21 de outubro de 2026
Editoria
CEVIU IA

Quer receber mais sobre CEVIU IA?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser