MPS dans PyTorch 2.15
huggingface ·
PyTorch 2.15 introduit des optimisations significatives des performances et de la mémoire pour les utilisateurs d'Apple Silicon, principalement en migrant les opérations de MPSGraph vers des noyaux Metal dédiés. Une fonctionnalité majeure est l'introduction du support FP8, permettant aux tenseurs float8_e4m3fn de diviser par deux l'utilisation de la mémoire par rapport à BF16 tout en maintenant la compatibilité avec les opérations CUDA/CPU. Le décodage des modèles de langage connaît des accélérations substantielles, les modèles Mixture-of-Experts atteignant jusqu'à 6,5 fois plus de génération de tokens sur le matériel M3 Ultra grâce à la multiplication matricielle groupée native. L'efficacité mémoire est également grandement améliorée, réduisant notamment la mémoire pic de décodage vidéo VAE de 270 GiB à seulement 8 GiB grâce à des chemins de remplissage optimisés. La version améliore les capacités d'algèbre linéaire avec de nouveaux calculs à valeurs complexes et des inversions de petites matrices plus rapides. De plus, PyTorch 2.15 nécessite macOS 15 ou ultérieur et Python 3.11 ou ultérieur, marquant un changement dans les exigences système. Pour l'avenir, la version 2.16 promet de déplacer entièrement les mécanismes d'attention vers Metal et de réduire davantage la taille d'installation.
huggingface