DeepGEMM testé par Novita AI : peut-il remplacer SGLang ?

DeepGEMM testé par Novita AI : peut-il remplacer SGLang ?

Hier était le troisième jour de l’Open Source Week, et DeepSeek a officiellement publié la bibliothèque open-source DeepGEMM.
Il s’agit d’une bibliothèque de calcul FP8 GEMM conçue spécifiquement pour les modèles denses et MoE, offrant un support solide pour l’entraînement et l’inférence des modèles quantifiés FP8 MoE comme DeepSeek-V3/R1.

DeepGEMM a été profondément optimisé pour les GPU de l’architecture NVIDIA Hopper (tels que H100, H200, H800).
Ses principales caractéristiques incluent un code concis (la partie centrale ne fait qu’environ 300 lignes) tout en offrant des performances exceptionnelles, pouvant égaler, voire surpasser, les bibliothèques réglées par des experts sur diverses formes matricielles.

En tant que plateforme cloud dédiée à la fourniture de services de calcul IA haute performance, Novita AI a déployé un grand nombre de modèles quantifiés FP8 MoE (comme la version FP8 de DeepSeek).
Pour mieux exploiter la technologie DeepGEMM et améliorer l’efficacité d’inférence de ces modèles, Novita AI a réalisé des tests de performance complets sur DeepGEMM dès sa disponibilité.
Avant de plonger dans les données de test spécifiques, familiarisons-nous d’abord avec quelques concepts de base pertinents.

Qu’est-ce que GEMM ?

GEMM (General Matrix Multiplication) est l’opérateur de calcul le plus fondamental et le plus important en apprentissage profond, et l’optimisation de GEMM est au cœur du calcul IA haute performance.
DeepGEMM est une bibliothèque open-source conçue spécifiquement pour accélérer les opérations GEMM clés en apprentissage profond, améliorant ainsi les performances globales du système IA en augmentant l’efficacité des calculs GEMM.

Avantages uniques de DeepGEMM

Contrairement aux bibliothèques de modèles matures comme CUTLASS et CuTe, DeepGEMM adopte une approche de conception légère : elle ne vise pas une compatibilité étendue avec tous les GPU et tous les scénarios de calcul, mais se concentre sur l’exploitation complète des capacités de calcul FP8 de l’architecture Hopper, avec une optimisation minutieuse pour les formes matricielles couramment utilisées dans les grands modèles comme DeepSeek R1 et V3.

Innovations technologiques de DeepGEMM

DeepGEMM réalise des percées de performance grâce aux quatre innovations technologiques clés suivantes :

  • Compilation à la volée (JIT)

Les méthodes traditionnelles nécessitent de pré-compiler le code CUDA avant de l’appeler, tandis que la technologie JIT de DeepGEMM cache le processus de compilation au moment de l’exécution, éliminant ainsi le besoin de compilation manuelle.
Les développeurs n’ont pas besoin de créer des interfaces Python complexes, ce qui simplifie le processus de développement et permet de réaliser des fonctionnalités avec seulement quelques lignes de code.

  • Optimisation du chevauchement calcul et transfert

DeepGEMM effectue simultanément les opérations de transfert de données et de calcul, en utilisant pleinement la fonction Tensor Memory Accelerator (TMA) de l’architecture Hopper, optimisant ainsi davantage l’efficacité du transfert de données. De plus, DeepGEMM utilise des instructions PTX de bas niveau pour atteindre des performances extrêmes.

  • Support de tailles matricielles arbitraires

Les implémentations GEMM traditionnelles exigent que les tailles de matrices soient des puissances de 2 (par exemple 128, 256), tandis que DeepGEMM prend en charge des tailles de blocs non alignées pour les matrices. Cette fonction évite le gaspillage de mémoire et améliore l’efficacité globale du calcul.

  • Optimisation au niveau des instructions FFMA SASS

En modifiant les bits de yield et de reuse des instructions FFMA, davantage d’opportunités sont créées pour chevaucher les instructions MMA avec les instructions promotion FFMA, ce qui entraîne des améliorations de performance de plus de 10 % dans certains scénarios, même avec une compréhension limitée de l’architecture sous-jacente.

Évaluation directe de Novita AI : Universalité de DeepGEMM

Dans les scénarios d’inférence des modèles MoE, Novita AI a réalisé des tests de performance détaillés de DeepGEMM sur les GPU H100 et H200, et a comparé les résultats avec les données de référence officielles du H800.

Tout d’abord, nous avons résumé les paramètres matériels clés des GPU H100, H200 et H800 qui impactent les performances de DeepGEMM :

Métrique H100 SXM H200 SXM H800 SXM
Puissance de calcul FP8 3958 TFLOPS 3958 TFLOPS 3958 TFLOPS
Bande passante mémoire 3.35 To/s 4.8 To/s 3.35 To/s

Modèle MoE : GEMM groupé avec disposition de stockage continue (Forward Pass d’entraînement, Prefill d’inférence)

Dans les réseaux MoE utilisant la disposition de stockage continue, les différences de performance entre H100, H200 et H800 (officiel) sont minimes.

La figure ci-dessous montre le test de comparaison de l’utilisation de la bande passante mémoire. En raison des goulots d’étranglement de calcul et de la puissance de calcul FP8 similaire des trois GPU, leurs performances ne présentent pas de différences significatives.

utilisation bande passante moe gemm

La figure ci-dessous illustre la comparaison des performances de calcul. Comme le goulot d’étranglement d’accès mémoire n’a pas été atteint, les performances des trois GPU ne montrent pas de différences notables.

calcul moe gemm

Modèle MoE : GEMM groupé avec disposition de stockage masquée (Décodage d’inférence)

Dans les réseaux MoE utilisant la disposition de stockage masquée, le H200 affiche les meilleures performances, tandis que les différences entre H100 et H800 sont très faibles.

La figure ci-dessous montre le test de comparaison de l’utilisation de la bande passante mémoire. Étant donné que la disposition de stockage masquée consomme plus de bande passante mémoire que la disposition continue, certains scénarios ont atteint le goulot d’étranglement d’accès mémoire, entraînant des différences de performance entre les trois GPU :

La figure ci-dessous est le test de comparaison des performances de calcul, mettant en évidence les différences causées par la bande passante :

Comparaison des performances DeepGEMM vs SGLang Triton

Actuellement, les frameworks d’inférence grand public utilisent des opérateurs GEMM groupés développés à partir de SGLang Triton pour le module MoE. Nous avons effectué des tests de comparaison de performances entre DeepGEMM et SGLang Triton sur du matériel H200 :

DeepGEMM présente certains avantages dans la disposition de stockage continue, mais SGLang Triton est plus performant dans la disposition masquée. Actuellement, certains opérateurs de SGLang Triton sont principalement appliqués aux scénarios de stockage masqué. Par conséquent, DeepGEMM nécessite une optimisation supplémentaire pour remplacer SGLang Triton dans les frameworks d’inférence.

  • Pour les modèles MoE utilisant la disposition de stockage continue (forward pass d’entraînement, prefill d’inférence), DeepGEMM montre des avantages plus significatifs.

sglang

sglang

  • Pour les modèles MoE utilisant la disposition de stockage masquée (décodage d’inférence), Triton affiche des performances supérieures :

Conclusion

Les résultats de l’évaluation montrent que DeepGEMM présente des capacités d’optimisation de performance significatives sur plusieurs GPU, y compris H100, H200 et H800, soulignant sa forte polyvalence.

Pour les modèles de la série MoE (tels que DeepSeek V3 et R1) fonctionnant sur l’architecture Hopper, l’intégration de DeepGEMM dans le framework d’inférence en remplacement des GEMM groupés de la version CUTLASS devrait offrir une accélération d’environ 1,2x de l’inférence des modèles, améliorant ainsi les performances globales.

Actuellement, DeepGEMM ne peut pas remplacer complètement SGLang Triton et nécessite une optimisation supplémentaire pour étendre son champ d’application. Dans le décodage d’inférence, SGLang Triton reste plus efficace, tandis que DeepGEMM montre des avantages plus importants dans les étapes de forward pass d’entraînement et de prefill d’inférence.

Novita AI est une plateforme cloud IA qui offre aux développeurs un moyen simple de déployer des modèles IA via notre API simple, tout en fournissant un cloud GPU abordable et fiable pour construire et passer à l’échelle.

essayer deepseek r1

Obtenez 20 $ de crédits et essayez DeepSeek maintenant !

Lecture recommandée