Début 2026, faire tourner même un petit modèle sous PyTorch sur un Mac obligeait souvent à contourner des opérations manquantes, des ralentissements brutaux et une mémoire qui gonflait sans prévenir. PyTorch 2.15, dont une grande partie du travail pour Apple vient de l'équipe PyTorch de Hugging Face, comble une bonne part de cet écart. Pour qui fait tourner des modèles en local sur Apple silicon avec Transformers, Diffusers ou des outils comme ComfyUI, c'est la version Mac la plus importante depuis longtemps.
Le point principal est la vitesse des modèles à mélange d'experts, qui n'activent qu'une partie de leurs poids par token et sont devenus l'architecture courante des modèles ouverts performants. Une multiplication matricielle groupée native, avec un chemin de décodage dédié, et moins de pauses pendant lesquelles le GPU attend le CPU, les font décoder 5 à 6,5 fois plus vite qu'en 2.14. Sur un M3 Ultra avec torch.compile, Qwen3.6-35B-A3B passe de 9,4 à 61,3 tokens par seconde et LFM2.5-8B-A1B de 23,6 à 123,6. Les modèles denses y gagnent aussi : les couches de décodage utilisent désormais des kernels matrice-vecteur dédiés, avec une accélération moyenne de 1,23 fois sur 96 formes de couches réelles, et le softmax sur un grand vocabulaire est environ 8 fois plus rapide.
D'autres corrections comptent autant que la vitesse. Les tenseurs FP8 arrivent sur le backend MPS d'Apple : ils stockent les valeurs dans deux fois moins de place que BF16 et se multiplient directement sur le GPU. Décoder une vidéo avec le VAE en tuiles de Wan2.2 faisait grimper la mémoire à environ 270 Gio ; le pic est désormais d'environ 8 Gio. Et un bogue de remplissage qui, en 2.14, corrompait en silence les images lors de l'édition avec Qwen-Image-2.1 est corrigé : un aller-retour encodage-décodage concorde maintenant avec le CPU à 29,95 dB, contre 10,06 dB.
Pour les utilisateurs de Mac, cela réduit l'intérêt du détour par MLX, le framework propre à Apple que nous testons aussi, quand un modèle tourne déjà sous PyTorch. Cela ne rend pas MLX inutile, mais le code écrit pour PyTorch dispose désormais d'un chemin beaucoup moins pénible pour bien fonctionner sur Mac.
Deux mises en garde avant de mettre à jour. Les nouveaux minimums sont macOS 15 et Python 3.11, ce qui cassera d'anciennes installations. Les chiffres de vitesse sont des mesures de Hugging Face, surtout sur un M3 Ultra, le haut de gamme d'Apple : les gains seront plus modestes en valeur absolue sur un portable d'entrée de gamme. L'attention passe encore en partie par l'ancienne couche MPSGraph d'Apple ; une attention entièrement en Metal est promise pour la 2.16 et ne figure pas dans cette version.