PyTorch a publié aujourd’hui la version 2.11, apportant des améliorations de performances allant jusqu’à 600x pour des opérations d’IA spécifiques tout en ajoutant la prise en charge des GPU NVIDIA et Intel de nouvelle génération. Cette mise à jour, issue de 2 723 contributions de 432 développeurs, introduit des collectives différentiables pour un entraînement distribué, un moteur FlashAttention-4, ainsi qu’une compatibilité Apple Silicon élargie, marquant une avancée significative pour les chercheurs et développeurs en apprentissage automatique dans le monde entier.
Ces nouvelles capacités placent PyTorch à l’avant-garde de la compétition entre cadriciels d’IA, alors que les organisations s’efforcent d’optimiser les entraînements et l’inférence pour des modèles de plus en plus complexes. La fonctionnalité des collectives différentiables change fondamentalement la manière dont les chercheurs peuvent aborder les algorithmes pour l’entraînement distribué en permettant de calculer les gradients directement au travers d’opérations de communication collective, supprimant la nécessité d’implémentations sur mesure.
Les gains de performance de cette version sont particulièrement impressionnants pour les opérations d’algèbre linéaire. La fonction torch.linalg.lstsq atteint des accélérations allant de 1,7x à 620x, tandis que torch.linalg.svd offre des améliorations de 2x à 400x. Ces avancées découlent du remplacement de l’ancien moteur MAGMA par des implémentations cuSOLVER et cuBLAS optimisées.
FlexAttention, désormais propulsé par le moteur FlashAttention-4, offre des accélérations de 1,2x à 3,2x pour des tâches d’attention gourmandes sur les GPU NVIDIA Hopper et Blackwell. Cette optimisation utilise la compilation juste-à-temps pour générer des noyaux spécifiquement adaptés à ces architectures de nouvelle génération.
Évolutions de compatibilité matérielle

Une évolution majeure accompagne ces améliorations de performances : l’installation par défaut de PyTorch 2.11 est désormais livrée avec CUDA 13.0, abandonnant la prise en charge des architectures GPU plus anciennes. Les GPU Volta, Pascal et Maxwell ne sont plus pris en charge dans la version par défaut, bien que les utilisateurs puissent toujours accéder à des versions CUDA 12.6 pour la compatibilité avec du matériel hérité.
La mise à jour élargit la prise en charge multiplateforme avec des capacités Apple Silicon améliorées, ajoutant de nouvelles fonctions de distribution et un signalement d’erreurs amélioré pour les opérations MPS. Les utilisateurs de GPU Intel bénéficient de l’intégration XPUGraph, une fonctionnalité similaire aux CUDA Graphs qui réduit l’empreinte CPU en capturant et rejouant des séquences d’opérations.
Cette version marque également des progrès dans les capacités de déploiement en production de PyTorch. L’API torch.export prend désormais en charge l’export de modules RNN incluant LSTM et GRU pour une exécution sur GPU, élargissant l’éventail de modèles prêts pour l’inférence en production. Cette avancée s’aligne avec la dépréciation continue de TorchScript par PyTorch au profit de l’écosystème d’export.
Considérations de sécurité et de migration
Les améliorations de sécurité incluent le renforcement de torch.hub.load, qui demande désormais une confirmation aux utilisateurs avant d’exécuter du code provenant de dépôts non approuvés. Les organisations qui migrent depuis PyTorch 2.10 devront traiter plusieurs changements majeurs, en particulier autour de la compatibilité CUDA et des modifications d’API dans les mécanismes d’attention.
La nature collaborative de cette version, issue de 2 723 contributions de 432 développeurs, souligne la position de PyTorch comme projet porté par la communauté, en concurrence avec des alternatives propriétaires proposées par de grandes entreprises technologiques.
Sources
- pytorch.org/blog

