Microsoft a trouvé le moyen de rivaliser avec NVIDIAl’accélérateur d’IA Maia 100. Cette nouvelle puce représente une démarche stratégique pour défier La domination de NVIDIA dans le secteur du matériel d’IA en proposant des fonctionnalités avancées conçues pour le cloud computing hautes performances. Avec le Maia 100, Microsoft vise à fournir une solution plus rentable et plus efficace pour la gestion des charges de travail d’IA à grande échelle.
Tout ce que nous savons sur le Maia 100 de Microsoft jusqu’à présent
Maia 100 de Microsoft est un nouvel accélérateur d’IA puissant conçu pour gérer de grandes tâches d’IA dans le cloud. Dévoilé à Frites chaudes 2024, Cette puce est un grand pas en avant pour rendre l’infrastructure de l’IA plus rentable, et voici comment :
Conception et technologie des puces
- Taille et fabrication:La puce Maia 100 mesure environ 820 mm² et est construite à l’aide de la technologie avancée N5 de TSMC. Elle utilise la technologie COWOS-S, qui permet d’intégrer efficacement la puce à d’autres composants.
- Mémoire et bande passante:La puce dispose d’une grande capacité de mémoire et peut gérer une énorme quantité de données. Elle est dotée d’une grande mémoire SRAM intégrée (un type de mémoire rapide) et de quatre puces mémoire HBM2E. Ensemble, elles offrent une vitesse de transfert de données de 1,8 téraoctet par seconde et une capacité de mémoire de 64 gigaoctets. Cette configuration est essentielle pour traiter rapidement de grands ensembles de données d’IA.
Performances et efficacité énergétique
- Consommation d’énergie:Le Maia 100 peut gérer jusqu’à 700 watts de puissance, mais est réglé pour utiliser 500 watts pour une meilleure efficacité. Cela lui permet de bien fonctionner tout en gardant la consommation d’énergie sous contrôle.
- Unité tensorielle:La puce comprend une unité tensorielle à grande vitesse pour gérer des tâches d’IA complexes telles que l’entraînement de modèles et la réalisation de prédictions. Elle peut traiter différents types de données, notamment un nouveau format appelé MX, que Microsoft a introduit en 2023. Cette unité est conçue pour gérer efficacement de nombreux calculs à la fois.
- Processeur vectoriel: Maia 100 dispose d’un processeur vectoriel qui prend en charge différents types de données, tels que FP32 (virgule flottante 32 bits) et BF16 (virgule flottante 16 bits). Cela permet d’effectuer une large gamme de tâches d’apprentissage automatique.
- Moteur DMA:Le moteur d’accès direct à la mémoire (DMA) permet de déplacer rapidement les données et prend en charge différentes manières de diviser les tenseurs (blocs de données), ce qui améliore l’efficacité.
Gestion et efficacité des données
- Stockage et compression des données: Maia 100 utilise un stockage de données de moindre précision et un moteur de compression pour réduire la quantité de données à déplacer. Cela permet de gérer plus efficacement les tâches d’IA volumineuses.
- Bloc-notes:Il dispose de grands blocs-notes L1 et L2 (zones de stockage temporaires) gérés par un logiciel pour garantir que les données sont utilisées efficacement et que l’énergie est économisée.
- Mise en réseau:La puce prend en charge les connexions Ethernet haut débit, ce qui lui permet de gérer jusqu’à 4 800 Gbit/s de données dans certains cas et 1 200 Gbit/s dans d’autres. Ce protocole réseau personnalisé garantit un transfert de données fiable et rapide, qui est également sécurisé grâce au cryptage AES-GCM.
La commande de puces IA de Nvidia par Elon Musk est trop importante pour être gérée
Outils logiciels et intégration
- Kit de développement logiciel Maia:Microsoft fournit un ensemble d’outils appelé Maia SDK pour faciliter l’utilisation de Maia 100. Ces outils incluent :
- Intégration du framework:Un backend PyTorch qui prend en charge à la fois le mode impatient (pour un développement rapide) et le mode graphique (pour de meilleures performances).
- Outils de développement:Outils de débogage, de réglage des performances et de validation des modèles, qui contribuent à améliorer l’efficacité des tâches d’IA.
- Compilateurs: Maia prend en charge deux modèles de programmation : Triton, un langage facile à utiliser pour l’apprentissage en profondeur, et l’API Maia, un modèle personnalisé pour des performances élevées.
- Noyau et bibliothèque collective:Fournit des noyaux de calcul et de communication optimisés pour l’apprentissage automatique, avec des options pour créer des noyaux personnalisés.
- Exécution de l’hôte/du périphérique:Gère l’allocation de mémoire, l’exécution des programmes, la planification des tâches et la gestion des périphériques.
Modèles de programmation et traitement des données
- Programmation asynchrone:Maia prend en charge la programmation asynchrone avec des sémaphores, ce qui permet de chevaucher les calculs avec les transferts de données pour améliorer l’efficacité.
- Modèles de programmation:Les développeurs peuvent choisir entre :
- Triton:Un outil de mesure de plan simple pour l’apprentissage en profondeur qui fonctionne à la fois sur les GPU et Maia. Il gère automatiquement la mémoire et la synchronisation.
- API Maia:Un modèle de programmation plus détaillé pour ceux qui ont besoin d’un contrôle précis sur les performances, nécessitant plus de code et de gestion.
- Optimisation des flux de données:Maia utilise une méthode basée sur Gather pour la multiplication de matrices (GEMM) plutôt que la méthode traditionnelle All-Reduce. Cela accélère le traitement en combinant les résultats directement dans la SRAM (mémoire rapide), en réduisant la latence et en améliorant les performances.
- Utilisation de la mémoire SRAM:La puce utilise la SRAM pour stocker temporairement les données et les résultats, ce qui réduit le besoin d’accès mémoire plus lents et augmente les performances globales.
Flexibilité et portabilité
Maia 100 peut exécuter des modèles PyTorch avec des modifications minimales. Le backend PyTorch prend en charge à la fois le développement (mode impatient) et les hautes performances (mode graphique), ce qui facilite le déplacement des modèles entre différentes configurations matérielles.
Besoin d’un récapitulatif des spécifications du Maia 100 ?
Spécification | Détails |
Taille de la puce | ~820 mm² |
Technologie de fabrication | Procédé TSMC N5 avec interposeur COWOS-S |
SRAM intégrée | Grande capacité pour un accès rapide aux données |
Mémoire | 64 Go HBM2E (mémoire à large bande passante) |
Bande passante totale | 1,8 téraoctets par seconde |
Puissance de conception thermique (TDP) | Prend en charge jusqu’à 700 W, provisionné à 500 W |
Unité tensorielle | Haute vitesse, prend en charge le format MX, 16xRx16 |
Processeur vectoriel | Moteur superscalaire personnalisé, prend en charge FP32 et BF16 |
Moteur DMA | Prend en charge divers schémas de partitionnement de tenseurs |
Compression des données | Comprend un moteur à compression pour plus d’efficacité |
Bande passante Ethernet | Jusqu’à 4 800 Gbit/s en mode tout-à-tout, 1 200 Gbit/s en mode tout-à-tout |
Protocole réseau | Cryptage personnalisé de type RoCE, AES-GCM |
Modèles de programmation | Triton (langage spécifique au domaine), API Maia (modèle personnalisé) |
Bloc-notes | Grands L1 et L2, gérés par logiciel |
Utilisation de la mémoire SRAM | Pour la mise en mémoire tampon des activations et des résultats |
Kit de développement logiciel | Inclut le backend PyTorch, les outils de débogage, les compilateurs et la gestion de l’exécution |
Optimisation du flux de données | Multiplication de matrice basée sur la collecte (GEMM) |
C’est tout ! En résumé, l’accélérateur d’IA Maia 100 de Microsoft se positionne comme un concurrent direct des offres de NVIDIA sur le marché du matériel d’IA. Avec son architecture avancée et ses fonctionnalités de performance, le Maia 100 cherche à fournir une alternative viable pour gérer les tâches d’IA à grande échelle.
Crédits de l’image principale : Microsoft