MPS no PyTorch 2.15
huggingface ·
O PyTorch 2.15 introduz otimizações significativas de desempenho e memória para usuários com Apple Silicon, migrando principalmente operações do MPSGraph para kernels Metal dedicados. Um grande destaque é a introdução do suporte a FP8, permitindo que tensores float8_e4m3fn reduzam pela metade o uso de memória em comparação com BF16, mantendo compatibilidade com operações CUDA/CPU. O decodificação de modelos de linguagem apresenta acelerações substanciais, com modelos Mixture-of-Experts alcançando até 6,5 vezes mais geração de tokens no hardware M3 Ultra devido à multiplicação nativa de matrizes agrupadas. A eficiência de memória também foi grandemente melhorada, reduzindo notavelmente a memória de pico para decodificação de VAE de vídeo de 270 GiB para apenas 8 GiB por meio de caminhos de preenchimento otimizados. A versão aprimora as capacidades de álgebra linear com novos cálculos complexos e inversões de matrizes pequenas mais rápidas. Além disso, o PyTorch 2.15 exige macOS 15 ou posterior e Python 3.11 ou posterior, marcando uma mudança nos requisitos do sistema. Olhando para o futuro, a versão 2.16 promete mover os mecanismos de atenção inteiramente para o Metal e reduzir ainda mais os tamanhos de instalação.
huggingface