MPS in PyTorch 2.15
huggingface ·
PyTorch 2.15 introduce ottimizzazioni significative delle prestazioni e della memoria per gli utenti di Apple Silicon, principalmente migrando le operazioni da MPSGraph a kernel Metal dedicati. Un punto di forza principale è l'introduzione del supporto FP8, che consente ai tensori float8_e4m3fn di dimezzare l'utilizzo della memoria rispetto a BF16 mantenendo la compatibilità con le operazioni CUDA/CPU. Il decoding dei modelli linguistici registra accelerazioni sostanziali: i modelli Mixture-of-Experts raggiungono una generazione di token fino a 6,5 volte più veloce su hardware M3 Ultra grazie alla moltiplicazione nativa di matrici raggruppate. L'efficienza della memoria è notevolmente migliorata, riducendo in particolare il picco di memoria per il decoding video VAE da 270 GiB a soli 8 GiB attraverso percorsi di padding ottimizzati. Il rilascio potenzia le capacità di algebra lineare con nuovi calcoli complessi e inverse di matrici piccole più veloci. Inoltre, PyTorch 2.15 richiede macOS 15 o versioni successive e Python 3.11 o versioni successive, segnando un cambiamento nei requisiti di sistema. Guardando al futuro, la versione 2.16 promette di spostare interamente i meccanismi di attenzione su Metal e di ridurre ulteriormente le dimensioni di installazione.
huggingface