veilletech.fr
21 oct. Feed du jour
#10 LLM Article

PyTorch 2.15 sur Mac : MoE jusqu'à 6,5× plus vite

Votre Mac décode enfin les modèles à experts sans passer par le CPU.

L'équipe PyTorch de Hugging Face détaille les gains du backend MPS dans PyTorch 2.15 : calcul groupé des modèles à experts natif sur GPU, couches linéaires et softmax plus rapides, FP8 disponible, et un décodage vidéo qui tombe de 270 à 8 GiB de mémoire pilote. Sur un M3 Ultra, un modèle Qwen à experts passe de 9,4 à 61,3 tokens par seconde. La version était encore en candidate, avec macOS 15 et Python 3.11 requis.

3 min de lectureintermédiairevidéo 1:15
Partager
Sommaire6 sections
  1. Ce qui se passe
  2. Les modèles à experts
  3. Le reste
  4. Les limites
  5. Comment s'y prendre
  6. À retenir

Ce qui se passe

L'équipe PyTorch de Hugging Face, qui travaille sur le backend MPS (le GPU des Mac via Metal), présente ce qu'apporte PyTorch 2.15. Ce backend est celui des projets qui passent par PyTorch sur Mac : transformers, diffusers, ComfyUI. Ce n'est pas celui de llama.cpp ni de MLX, qui n'en profitent pas.

Les modèles à experts

Pour un modèle mixture-of-experts (MoE), chaque token n'active qu'une partie des experts, et leur calcul se fait par un produit matriciel groupé. En 2.14, MPS copiait les décalages des groupes vers le CPU et bouclait groupe par groupe. La 2.15 le fait sur le GPU, avec des noyaux Metal dédiés, dont un pour les petits groupes, cas courant au décodage, et accélère aussi le tri top-k du routage.

Mesures de l'équipe, sur M3 Ultra avec torch.compile (2.14 → 2.15) :

Le billet donne un second chiffre, à ne pas confondre : le seul noyau de décodage ajoute environ 1,3× (Qwen3.6-35B-A3B : 38,7 → 51,7 tokens/s avec 512 tokens de contexte). Le « 5 à 6,5× » additionne donc plusieurs changements.

Le reste

Les limites

Ces mesures viennent des auteurs des noyaux, sur un M3 Ultra, une puce haut de gamme qui n'est pas celle de la plupart des portables, et la version décrite était encore une candidate. Prérequis : macOS 15 ou plus et Python 3.11 ou plus. Le billet annonce déjà pour la 2.16 l'attention entièrement sur Metal, avec des gains complémentaires de +16 à +19 % de tokens/s sur deux modèles MoE.

Comment s'y prendre

Dans un environnement séparé, pour comparer avant de migrer :

Terminal
uv pip install torch==2.15.0 --index-url https://download.pytorch.org/whl/test/cpu

Relancer ensuite un décodage de votre modèle avec torch.compile et comparer les tokens par seconde avec la 2.14.

Source : Hugging Face, 20 octobre 2026. Source en anglais.