DeepSpeed : la bibliothèque d'optimisation derrière BLOOM et MT-530B
DeepSpeed est une bibliothèque d'optimisation d'apprentissage en profondeur qui rend la formation et l'inférence distribuées faciles, efficaces et efficientes.
En bref
- De quoi s’agit-il ?
- Bibliothèque Apache 2.0 de Microsoft pour l'entraînement distribué et l'inférence : ZeRO, parallélisme 3D, offload, support NVIDIA et AMD, intégrations Hugging Face et un rythme de publications qui suit la recherche.
- À qui s’adresse-t-il ?
- DeepSpeed concerne les équipes qui entraînent ou servent des modèles trop grands pour un seul GPU et veulent des techniques éprouvées, du ZeRO à l'offload, sans réécrire leur boucle d'entraînement, notamment via l'intégration Hugging Face Transformers. Il concerne moins les projets mono-GPU, où PyTorch seul suffit, et les postes Windows dépendant de l'offload AIO ou GDS, non supportés selon le README.
- Puis-je l’utiliser commercialement ?
- Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Le dépôt a reçu de nouveaux commits au cours des dernières 24 heures.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
La bibliothèque derrière Megatron-Turing NLG et BLOOM
DeepSpeed se décrit comme une bibliothèque d'optimisation pour l'apprentissage profond qui rend l'entraînement distribué et l'inférence simples, efficaces et performants. Sa carte de visite tient en deux noms : Megatron-Turing NLG à 530B paramètres et BLOOM à 176B, présentés par le README comme les modèles de langue les plus puissants du monde à l'époque de leur entraînement, tous deux passés par cette pile. Le socle technique réunit ZeRO, ZeRO-Infinity, le parallélisme 3D, le parallélisme de séquence Ulysses et DeepSpeed-MoE. Issu de l'initiative AI at Scale de Microsoft, le projet vit sous Apache 2.0 avec 43 018 étoiles, et une communauté organisée tient des heures de bureau publiques le dernier mardi de chaque mois à 12 heure de New York, sur Zoom.
Une galerie de modèles de 5,4B à 530B paramètres
La section Adoption du README dresse la liste des modèles de grande taille entraînés avec la bibliothèque, chacun avec son lien de référence : Megatron-Turing NLG 530B, Jurassic-1 178B, BLOOM 176B, GLM 130B, xTrimoPGLM 100B, YaLM 100B, GPT-NeoX 20B, AlexaTM 20B, Turing NLG 17B et METRO-LM 5,4B. Cette échelle couvre des laboratoires industriels, des consortiums ouverts et des équipes académiques, indice que la bibliothèque sert des régimes d'usage très différents. La liste reste déclarative, tenue par le projet lui-même et alimentée par pull requests, sans évaluation comparative des configurations employées. Elle documente au minimum une compatibilité avec des architectures de modèles variées, MoE incluses via DeepSpeed-MoE.
pip install deepspeed, puis ds_report pour vérifier
L'installation suit un ordre précis : PyTorch d'abord, version 2.0 ou plus récente recommandée pour la couverture complète des fonctions, puis pip install deepspeed depuis PyPI. Le point délicat tient aux ops C++/CUDA embarquées, compilées par défaut à la volée, en JIT, via le chargeur d'extensions de PyTorch, ce qui transfère une partie du coût d'installation au premier lancement et dépend de la propreté de votre chaîne de compilation CUDA. La commande ds_report valide l'installation et liste les extensions utilisables sur la machine, premier réflexe à prendre. Les instructions avancées du site deepspeed.ai couvrent les ops précompilées, voie recommandée pour les clusters où l'on veut figer l'environnement plutôt que compiler à l'exécution.
De NVIDIA Hopper aux NPU chinoises : la carte matérielle
Le README distingue deux cercles de support matériel. Le cercle principal, développé et testé par l'équipe, couvre les architectures NVIDIA Pascal, Volta, Ampere et Hopper, ainsi que les GPU AMD MI100 et MI200, signe d'une ouverture réelle au-delà du vert. Le second cercle réunit les ports contribués par des tiers : Huawei Ascend NPU, Intel Gaudi 2, processeurs Xeon, gamme Intel Data Center GPU Max et accélérateur SDAA de Tecorigin. Un tableau indique lesquels ont été validés par leur contributeur et lesquels ont aussi été validés en amont, mais le README ne décrit pas le processus de validation lui-même. Pour un parc hétérogène, cette distinction entre validation interne et contribution tierce commande de tester avant d'engager un entraînement long.
Des actualités qui suivent la recherche mois après mois
La section Latest News du README tient un journal dense. En 2026 : le support de l'optimiseur Muon en mai, le système SDMA pour ZeRO-3 qui déporte les collectives hors des unités de calcul sur GPU AMD, un tutoriel à ASPLOS 2026 et une mention honorable au prix du meilleur papier pour SuperOffload. En 2025 : mise à jour de l'API cœur avec backward à la PyTorch et états maîtres basse précision, distillation à grande échelle chez LinkedIn propulsée par ZeRO++, meetup avec Ray chez Anyscale, moteur d'offload ZenFlow, entraînement de séquences de plusieurs millions de jetons avec Snowflake, et DeepNVMe pour l'E/S abordable. Chaque entrée renvoie à un blog ou un papier, ce qui fait du README un index de lecture autant qu'une vitrine.
Windows sans AIO ni GDS, et une v0.19 qui patche
Le support Windows existe mais avec des bornes nettes : beaucoup de fonctions servent l'entraînement et l'inférence, mais les E/S asynchrones AIO et GDS n'en font pas partie. Le chemin de compilation documenté réclame PyTorch, par exemple en 2.3+cu121, les outils de build Visual C++ 2022, une invite de commandes avec droits administrateur pour créer les liens symboliques requis, puis l'exécution de build_win.bat qui produit une wheel dans le dossier dist, sans passage pip. Côté versions, le projet publie des correctifs rapprochés : v0.19.4 le 6 août 2026, v0.19.5 le 10, v0.19.6 le 27, sur une branche master vivante. Les 1 333 tickets ouverts rappellent l'échelle du périmètre, matériel et configuration confondus, et l'utilité de figer sa version.
Conclusion éditoriale
DeepSpeed concerne les équipes qui entraînent ou servent des modèles trop grands pour un seul GPU et veulent des techniques éprouvées, du ZeRO à l'offload, sans réécrire leur boucle d'entraînement, notamment via l'intégration Hugging Face Transformers. Il concerne moins les projets mono-GPU, où PyTorch seul suffit, et les postes Windows dépendant de l'offload AIO ou GDS, non supportés selon le README. Avant de vous engager, installez par pip install deepspeed après PyTorch 2.0 minimum, lancez ds_report pour vérifier les ops compilables sur votre pile CUDA, puis rejouez un entraînement court avec votre configuration ZeRO visée sur deepspeed.ai avant de mesurer le gain réel.
Notes de la communauté