PyTorch 2.15 suporta MPS no Mac

PyTorch 2.15 suporta MPS no Mac
2 min de leitura

A versão 2.15 do PyTorch, a biblioteca de aprendizagem automática, traz o formato FP8 para os Mac e acelera significativamente a descodificação de modelos de mistura de peritos (mixture-of-experts). Segundo a equipa PyTorch da Hugging Face, que assina o anúncio, a versão inclui também novos núcleos Metal para áudio, vídeo e treino. O backend MPS, alvo destes trabalhos, permite executar os modelos PyTorch na GPU dos Mac.

  • O PyTorch 2.15 traz FP8 para o Mac.
  • Os modelos de mistura de peritos descodificam até 6,5 vezes mais depressa.
  • Os tensores float8 reduzem para metade a memória dos pesos.
  • A nova descodificação VAE em Metal baixa a memória de 270 GiB para cerca de 8 GiB e corrige erros de imagem no MPS.

Para os modelos de linguagem, o ganho mais visível diz respeito aos modelos de mistura de peritos, onde cada camada distribui os tokens entre vários peritos. Segundo a fonte, estes modelos descodificam 5 a 6,5 vezes mais rápido do que com o PyTorch 2.14. Num M3 Ultra com torch.compile, o Qwen3.6-35B-A3B passa de 9,4 para 61,3 tokens por segundo, e o LFM2.5-8B-A1B de 23,6 para 123,6 tokens por segundo. Os modelos densos também beneficiam de camadas lineares mais rápidas. A amostragem do texto é acelerada pelo cálculo do softmax: numa linha de logits de tamanho [1, 128256] em FP32, o tempo passa de 57 µs para 7 µs, ou seja, cerca de oito vezes mais rápido do que a versão MPSGraph.

O FP8 chega ao Mac

O PyTorch 2.15 adiciona os tensores torch.float8_e4m3fn no MPS. Cada valor ocupa um byte, ou seja, metade do espaço do FP16 ou do BF16, o que reduz a memória necessária para os pesos de um modelo. Estes tensores multiplicam-se com F.scaled_mm, que gere as escalas por tensor e por linha. A fonte indica ainda que as outras operações suportadas em CUDA e CPU estão agora também disponíveis no MPS.

O desempenho da geração de vídeo também é afetado. A descodificação do VAE em mosaico do Wan2.2 fazia subir a memória do controlador até 270 GiB, porque o preenchimento constante gerava 8 764 chamadas numa descodificação completa em 28 mosaicos. Com o preenchimento reescrito em Metal, o pico desce para cerca de 8 GiB. A mesma alteração corrige um defeito reportado no ComfyUI, onde o codificador VAE do Qwen-Image-2.1 alterava silenciosamente as imagens no MPS. Um ciclo de codificação-descodificação atinge agora 29,95 dB de PSNR face à CPU, contra 10,06 dB anteriormente.

Para usar a versão, é necessário um Mac equipado com um chip Apple silicon, macOS 15 ou posterior e Python 3.11 ou posterior. A equipa indica que a versão candidata pode ser instalada num ambiente separado com o comando uv pip install torch==2.15.0, utilizando um índice dedicado. Refere também que a verificação da disponibilidade do MPS indica agora a razão de uma falha, por exemplo, um sistema operativo demasiado antigo ou a ausência de GPU Metal.

S’abonner
Notification pour
guest

0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x