Les « pauvres en GPU » sont sur le point de faire leurs adieux à leur situation difficile !
NVIDIA vient de publier un logiciel open source TensorRT-LLM, qui peut accélérer le raisonnement de grands modèles de langage sur le H100.
Alors, combien de fois peut-il être amélioré ?
Après avoir ajouté TensorRT-LLM et sa série de fonctions d'optimisation (y compris le traitement par lots en vol), le débit total du modèle a été multiplié par 8.
Comparaison des GPT-J-6B A100 et H100 avec et sans TensorRT-LLM
De plus, en prenant Llama 2 comme exemple, TensorRT-LLM peut améliorer les performances d'inférence de 4,6 fois par rapport à l'utilisation d'A100 seul.
Comparaison de Llama 2 70B, A100 et H100 avec et sans TensorRT-LLM
Les internautes ont déclaré que le super puissant H100, combiné à TensorRT-LLM, changerait sans aucun doute complètement la situation actuelle de l'inférence de modèles de langage à grande échelle !
## TensorRT-LLM : artefact d'accélération d'inférence de grand modèle
Actuellement, en raison de l’énorme échelle de paramètres des grands modèles, la difficulté et le coût du « déploiement et de l’inférence » restent élevés.
TensorRT-LLM développé par NVIDIA vise à améliorer considérablement le débit LLM et à réduire les coûts grâce au GPU.
Plus précisément, TensorRT-LLM encapsule le compilateur d'apprentissage profond de TensorRT, le noyau optimisé de FasterTransformer, le pré- et post-traitement et la communication multi-GPU/multi-nœuds dans une simple API Python open source.
NVIDIA a encore amélioré FasterTransformer pour en faire une solution produit.
On peut voir que TensorRT-LLM fournit une interface de programmation d'applications Python facile à utiliser, open source et modulaire.
Les codeurs n'ont pas besoin d'une expertise approfondie en C++ ou CUDA pour déployer, exécuter et déboguer divers grands modèles de langage, et peuvent également obtenir des performances optimales et une personnalisation rapide.
Selon le blog officiel de Nvidia, TensorRT-LLM optimise les performances d'inférence LLM sur les GPU Nvidia de quatre manières.
Tout d'abord, TensorRT-LLM est introduit pour les plus de 10 grands modèles actuels, permettant aux développeurs de les exécuter immédiatement.
Deuxièmement, TensorRT-LLM, en tant que bibliothèque logicielle open source, permet à LLM d'effectuer des inférences sur plusieurs GPU et plusieurs serveurs GPU simultanément.
Ces serveurs sont connectés via les interconnexions NVLink et InfiniBand de NVIDIA.
Le troisième est le « traitement par lots en vol », qui est une toute nouvelle technologie de planification qui permet à différentes tâches de modèle d'entrer et de sortir du GPU indépendamment des autres tâches.
Enfin, TensorRT-LLM est optimisé pour utiliser le moteur de transformateur H100 afin de réduire l'utilisation de la mémoire et la latence lors de l'inférence de modèle.
Examinons ensuite de plus près comment TensorRT-LLM améliore les performances du modèle.
Soutenir une riche écologie LLM
TensorRT-LLM fournit un très bon support pour l'écosystème de modèles open source.
Les modèles de langage les plus vastes et les plus avancés, tels que Llama 2-70B de Meta, nécessitent que plusieurs GPU travaillent ensemble pour fournir des réponses en temps réel.
Auparavant, s'ils souhaitaient obtenir des performances optimales pour l'inférence LLM, les développeurs devaient réécrire le modèle d'IA, le diviser manuellement en plusieurs fragments et coordonner l'exécution sur les GPU.
TensorRT-LLM utilise le parallélisme tensoriel pour distribuer la matrice de poids à chaque appareil, simplifiant ainsi ce processus et permettant une inférence efficace à grande échelle.
Chaque modèle peut fonctionner en parallèle sur plusieurs GPU et plusieurs serveurs connectés via NVLink, sans intervention du développeur ni modification du modèle.
Avec l'introduction de nouveaux modèles et architectures de modèles, les développeurs peuvent optimiser leurs modèles à l'aide du dernier noyau NVIDIA AI (Kernal) open source dans TensorRT-LLM.
Fusion de noyau prise en charge (Kernal Fusion), y compris l'implémentation FlashAttention la plus avancée et une attention multi-tête masquée pour le contexte et les étapes de génération de l'exécution du modèle GPT, etc.
De plus, TensorRT-LLM comprend des versions entièrement optimisées et prêtes à l'emploi de nombreux grands modèles de langage qui sont populaires aujourd'hui.
Il s'agit notamment de Meta Llama 2, OpenAI GPT-2 et GPT-3, Falcon, Mosaic MPT, BLOOM et plus de 10 modèles, qui peuvent tous être appelés à l'aide de l'API Python TensorRT-LLM simple et facile à utiliser.
Ces fonctionnalités peuvent aider les développeurs à créer de grands modèles de langage personnalisés plus rapidement et avec plus de précision pour répondre aux différents besoins de divers secteurs.
Traitement par lots en vol
Les grands modèles de langage sont aujourd’hui utilisés dans une grande variété d’applications.
Un modèle peut être utilisé simultanément pour plusieurs tâches apparemment disparates : des simples réponses aux questions/réponses dans un chatbot, à la synthèse de documents ou à la génération de longs blocs de code. Les charges de travail sont très dynamiques et les tailles de sortie doivent être de différents ordres de grandeur pour la tâche. besoin.
La diversité des tâches peut rendre difficile le regroupement efficace des requêtes et leur exécution parallèle efficace, ce qui peut entraîner l'exécution de certaines requêtes plus tôt que d'autres.
Pour gérer ces charges dynamiques, TensorRT-LLM inclut une technologie de planification optimisée appelée « In-flight batching ».
Son principe de base est que l'ensemble du processus de génération de texte d'un grand modèle de langage peut être décomposé en plusieurs itérations d'exécution sur le modèle.
Avec le traitement par lots en cours, le runtime TensorRT-LLM libère immédiatement les séquences terminées du lot, plutôt que d'attendre que l'ensemble du lot soit terminé avant de continuer à traiter l'ensemble de requêtes suivant.
Pendant qu'une nouvelle demande est en cours d'exécution, d'autres demandes du lot précédent qui n'ont pas été complétées sont toujours en cours de traitement.
Le traitement par lots en cours et les optimisations supplémentaires au niveau du noyau améliorent l'utilisation du GPU et peuvent au moins doubler le débit du benchmark de requêtes LLM réel sur le H100.
Moteur H100 Transformer utilisant FP 8
TensorRT-LLM fournit également une fonctionnalité appelée H100 Transformer Engine, qui peut réduire efficacement la consommation de mémoire et la latence lors de l'inférence de grands modèles.
Étant donné que LLM contient des milliards de poids de modèle et de fonctions d'activation, il est généralement entraîné et représenté avec des valeurs FP16 ou BF16, chacune occupant 16 bits de mémoire.
Cependant, au moment de l'inférence, la plupart des modèles peuvent être représentés efficacement avec une précision moindre à l'aide de techniques de quantification, telles que des entiers de 8 bits ou même de 4 bits (INT8 ou INT4).
La quantification est le processus de réduction des poids du modèle et de la précision d'activation sans sacrifier la précision. L’utilisation d’une précision inférieure signifie que chaque paramètre est plus petit et que le modèle occupe moins d’espace dans la mémoire GPU.
Cela permet l'inférence sur des modèles plus grands en utilisant le même matériel tout en consacrant moins de temps aux opérations de mémoire pendant l'exécution.
Grâce à la technologie H100 Transformer Engine, le GPU H100 avec TensorRT-LLM permet aux utilisateurs de convertir facilement les poids des modèles au nouveau format FP8 et de compiler automatiquement le modèle pour tirer parti du noyau FP8 optimisé.
Et ce processus ne nécessite aucun codage ! Le format de données FP8 introduit par H100 permet aux développeurs de quantifier leurs modèles et de réduire considérablement la consommation de mémoire sans réduire la précision du modèle.
Par rapport à d'autres formats de données tels que INT8 ou INT4, la quantification FP8 conserve une plus grande précision tout en atteignant les performances les plus rapides et est la plus pratique à mettre en œuvre.
Comment obtenir TensorRT-LLM
Bien que TensorRT-LLM n'ait pas encore été officiellement publié, les utilisateurs peuvent désormais bénéficier d'un accès anticipé.
Le lien de candidature est le suivant :
NVIDIA a également déclaré que TensorRT-LLM serait bientôt intégré au framework NVIDIA NeMo.
Ce cadre fait partie de l'AI Enterprise lancé par NVIDIA il n'y a pas si longtemps, offrant aux entreprises clientes une plate-forme logicielle d'IA de niveau entreprise sécurisée, stable et hautement gérable.
Les développeurs et les chercheurs peuvent accéder à TensorRT-LLM via le framework NeMo sur NVIDIA NGC ou en tant que projet sur GitHub.
Cependant, il convient de noter que les utilisateurs doivent s'inscrire au programme pour développeurs NVIDIA pour pouvoir postuler à la version à accès anticipé.
Discussion animée parmi les internautes
Les internautes sur Reddit ont lancé une discussion animée sur le lancement de TensorRT-LLM.
Il est difficile d'imaginer à quel point l'effet sera amélioré après l'optimisation du matériel spécifiquement pour LLM.
Mais certains internautes pensent que le but de cette chose est d'aider Lao Huang à vendre plus de H100.
Cependant, certains internautes ne sont pas tout à fait d'accord. Il estime que Tensor RT est également utile pour les utilisateurs qui déploient SD localement, donc tant qu'il y a un GPU RTX, il devrait être possible de bénéficier de produits similaires à l'avenir.
D'un point de vue plus macro, peut-être pour LLM, il y aura également une série d'optimisations au niveau matériel, et même du matériel conçu spécifiquement pour LLM apparaîtra à l'avenir pour améliorer les performances de LLM. Cette situation est en fait déjà populaire dans de nombreux pays. est apparu dans les candidatures, et le LLM ne fait pas exception.
Les références:
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
Le raisonnement H100 s'est envolé 8 fois ! NVIDIA a officiellement annoncé TensorRT-LLM open source, prenant en charge plus de 10 modèles
Source originale : Xinzhiyuan
Les « pauvres en GPU » sont sur le point de faire leurs adieux à leur situation difficile !
NVIDIA vient de publier un logiciel open source TensorRT-LLM, qui peut accélérer le raisonnement de grands modèles de langage sur le H100.
Après avoir ajouté TensorRT-LLM et sa série de fonctions d'optimisation (y compris le traitement par lots en vol), le débit total du modèle a été multiplié par 8.
De plus, en prenant Llama 2 comme exemple, TensorRT-LLM peut améliorer les performances d'inférence de 4,6 fois par rapport à l'utilisation d'A100 seul.
Les internautes ont déclaré que le super puissant H100, combiné à TensorRT-LLM, changerait sans aucun doute complètement la situation actuelle de l'inférence de modèles de langage à grande échelle !
Actuellement, en raison de l’énorme échelle de paramètres des grands modèles, la difficulté et le coût du « déploiement et de l’inférence » restent élevés.
TensorRT-LLM développé par NVIDIA vise à améliorer considérablement le débit LLM et à réduire les coûts grâce au GPU.
NVIDIA a encore amélioré FasterTransformer pour en faire une solution produit.
On peut voir que TensorRT-LLM fournit une interface de programmation d'applications Python facile à utiliser, open source et modulaire.
Les codeurs n'ont pas besoin d'une expertise approfondie en C++ ou CUDA pour déployer, exécuter et déboguer divers grands modèles de langage, et peuvent également obtenir des performances optimales et une personnalisation rapide.
Tout d'abord, TensorRT-LLM est introduit pour les plus de 10 grands modèles actuels, permettant aux développeurs de les exécuter immédiatement.
Deuxièmement, TensorRT-LLM, en tant que bibliothèque logicielle open source, permet à LLM d'effectuer des inférences sur plusieurs GPU et plusieurs serveurs GPU simultanément.
Ces serveurs sont connectés via les interconnexions NVLink et InfiniBand de NVIDIA.
Le troisième est le « traitement par lots en vol », qui est une toute nouvelle technologie de planification qui permet à différentes tâches de modèle d'entrer et de sortir du GPU indépendamment des autres tâches.
Enfin, TensorRT-LLM est optimisé pour utiliser le moteur de transformateur H100 afin de réduire l'utilisation de la mémoire et la latence lors de l'inférence de modèle.
Examinons ensuite de plus près comment TensorRT-LLM améliore les performances du modèle.
Soutenir une riche écologie LLM
TensorRT-LLM fournit un très bon support pour l'écosystème de modèles open source.
Les modèles de langage les plus vastes et les plus avancés, tels que Llama 2-70B de Meta, nécessitent que plusieurs GPU travaillent ensemble pour fournir des réponses en temps réel.
Auparavant, s'ils souhaitaient obtenir des performances optimales pour l'inférence LLM, les développeurs devaient réécrire le modèle d'IA, le diviser manuellement en plusieurs fragments et coordonner l'exécution sur les GPU.
Chaque modèle peut fonctionner en parallèle sur plusieurs GPU et plusieurs serveurs connectés via NVLink, sans intervention du développeur ni modification du modèle.
Fusion de noyau prise en charge (Kernal Fusion), y compris l'implémentation FlashAttention la plus avancée et une attention multi-tête masquée pour le contexte et les étapes de génération de l'exécution du modèle GPT, etc.
De plus, TensorRT-LLM comprend des versions entièrement optimisées et prêtes à l'emploi de nombreux grands modèles de langage qui sont populaires aujourd'hui.
Il s'agit notamment de Meta Llama 2, OpenAI GPT-2 et GPT-3, Falcon, Mosaic MPT, BLOOM et plus de 10 modèles, qui peuvent tous être appelés à l'aide de l'API Python TensorRT-LLM simple et facile à utiliser.
Ces fonctionnalités peuvent aider les développeurs à créer de grands modèles de langage personnalisés plus rapidement et avec plus de précision pour répondre aux différents besoins de divers secteurs.
Traitement par lots en vol
Les grands modèles de langage sont aujourd’hui utilisés dans une grande variété d’applications.
Un modèle peut être utilisé simultanément pour plusieurs tâches apparemment disparates : des simples réponses aux questions/réponses dans un chatbot, à la synthèse de documents ou à la génération de longs blocs de code. Les charges de travail sont très dynamiques et les tailles de sortie doivent être de différents ordres de grandeur pour la tâche. besoin.
La diversité des tâches peut rendre difficile le regroupement efficace des requêtes et leur exécution parallèle efficace, ce qui peut entraîner l'exécution de certaines requêtes plus tôt que d'autres.
Son principe de base est que l'ensemble du processus de génération de texte d'un grand modèle de langage peut être décomposé en plusieurs itérations d'exécution sur le modèle.
Avec le traitement par lots en cours, le runtime TensorRT-LLM libère immédiatement les séquences terminées du lot, plutôt que d'attendre que l'ensemble du lot soit terminé avant de continuer à traiter l'ensemble de requêtes suivant.
Pendant qu'une nouvelle demande est en cours d'exécution, d'autres demandes du lot précédent qui n'ont pas été complétées sont toujours en cours de traitement.
Le traitement par lots en cours et les optimisations supplémentaires au niveau du noyau améliorent l'utilisation du GPU et peuvent au moins doubler le débit du benchmark de requêtes LLM réel sur le H100.
Moteur H100 Transformer utilisant FP 8
TensorRT-LLM fournit également une fonctionnalité appelée H100 Transformer Engine, qui peut réduire efficacement la consommation de mémoire et la latence lors de l'inférence de grands modèles.
Étant donné que LLM contient des milliards de poids de modèle et de fonctions d'activation, il est généralement entraîné et représenté avec des valeurs FP16 ou BF16, chacune occupant 16 bits de mémoire.
Cependant, au moment de l'inférence, la plupart des modèles peuvent être représentés efficacement avec une précision moindre à l'aide de techniques de quantification, telles que des entiers de 8 bits ou même de 4 bits (INT8 ou INT4).
La quantification est le processus de réduction des poids du modèle et de la précision d'activation sans sacrifier la précision. L’utilisation d’une précision inférieure signifie que chaque paramètre est plus petit et que le modèle occupe moins d’espace dans la mémoire GPU.
Grâce à la technologie H100 Transformer Engine, le GPU H100 avec TensorRT-LLM permet aux utilisateurs de convertir facilement les poids des modèles au nouveau format FP8 et de compiler automatiquement le modèle pour tirer parti du noyau FP8 optimisé.
Et ce processus ne nécessite aucun codage ! Le format de données FP8 introduit par H100 permet aux développeurs de quantifier leurs modèles et de réduire considérablement la consommation de mémoire sans réduire la précision du modèle.
Par rapport à d'autres formats de données tels que INT8 ou INT4, la quantification FP8 conserve une plus grande précision tout en atteignant les performances les plus rapides et est la plus pratique à mettre en œuvre.
Comment obtenir TensorRT-LLM
Bien que TensorRT-LLM n'ait pas encore été officiellement publié, les utilisateurs peuvent désormais bénéficier d'un accès anticipé.
Le lien de candidature est le suivant :
NVIDIA a également déclaré que TensorRT-LLM serait bientôt intégré au framework NVIDIA NeMo.
Ce cadre fait partie de l'AI Enterprise lancé par NVIDIA il n'y a pas si longtemps, offrant aux entreprises clientes une plate-forme logicielle d'IA de niveau entreprise sécurisée, stable et hautement gérable.
Les développeurs et les chercheurs peuvent accéder à TensorRT-LLM via le framework NeMo sur NVIDIA NGC ou en tant que projet sur GitHub.
Cependant, il convient de noter que les utilisateurs doivent s'inscrire au programme pour développeurs NVIDIA pour pouvoir postuler à la version à accès anticipé.
Discussion animée parmi les internautes
Les internautes sur Reddit ont lancé une discussion animée sur le lancement de TensorRT-LLM.
Il est difficile d'imaginer à quel point l'effet sera amélioré après l'optimisation du matériel spécifiquement pour LLM.