MPS en PyTorch 2.15
huggingface ·
PyTorch 2.15 introduce optimizaciones significativas de rendimiento y memoria para usuarios de Apple Silicon, principalmente mediante la migración de operaciones desde MPSGraph a kernels Metal dedicados. Un destacado es la introducción del soporte FP8, que permite a los tensores float8_e4m3fn reducir a la mitad el uso de memoria en comparación con BF16 mientras mantiene la compatibilidad con las operaciones de CUDA/CPU. La decodificación de modelos de lenguaje experimenta aceleraciones sustanciales, con modelos Mixture-of-Experts logrando hasta 6,5 veces más velocidad en la generación de tokens en hardware M3 Ultra debido a la multiplicación nativa de matrices agrupadas. La eficiencia de memoria también mejora notablemente, reduciendo la memoria pico de decodificación de video VAE de 270 GiB a solo 8 GiB mediante rutas de relleno optimizadas. La versión mejora las capacidades de álgebra lineal con nuevos cálculos de valores complejos e inversas de matrices pequeñas más rápidas. Además, PyTorch 2.15 requiere macOS 15 o posterior y Python 3.11 o posterior, lo que marca un cambio en los requisitos del sistema. De cara al futuro, la versión 2.16 promete trasladar completamente los mecanismos de atención a Metal y reducir aún más los tamaños de instalación.
huggingface