Mantium est un fournisseur mondial de plateforme cloud pour la création d'applications d'IA et leur gestion à grande échelle. La plate-forme de développement de bout en bout de Mantium permet aux entreprises et aux entreprises de toutes tailles de créer des applications d'IA et d'automatisation plus rapidement et plus facilement que ce qui était traditionnellement possible. Avec Mantium, les équipes techniques et non techniques peuvent prototyper, développer, tester et déployer des applications d'IA, le tout avec une approche low-code. Grâce à des fonctionnalités de journalisation, de surveillance et de sécurité automatiques, Mantium évite également aux ingénieurs logiciels et DevOps de passer leur temps à réinventer la roue. À un niveau élevé, Mantium offre :
- IA de pointe - Expérimentez et développez avec une vaste sélection de grands modèles de langage open source et privés avec une interface utilisateur ou une API simple.
- Automatisation des processus d'IA – Créez facilement des applications basées sur l'IA avec une bibliothèque croissante d'intégrations et le générateur d'IA graphique de Mantium.
- Déploiement rapide – Réduisez le délai de production de plusieurs mois à plusieurs semaines, voire plusieurs jours, grâce à un déploiement en un clic. Cette fonctionnalité transforme les applications d'IA en applications Web partageables en un seul clic.
- Sécurité et réglementation – Garantir la sécurité et la conformité avec les politiques de gouvernance et la prise en charge des processus human-in-the-loop.
Avec Mantium AI Builder, vous pouvez développer des workflows sophistiqués qui intègrent des API externes, des opérations logiques et des modèles d'IA. La capture d'écran suivante montre un exemple de l'application Mantium AI, qui enchaîne une entrée Twilio, une politique de gouvernance, un bloc AI (qui peut s'appuyer sur un modèle open source comme GPT-J) et une sortie Twilio.
Pour prendre en charge cette application, Mantium fournit un accès complet et uniforme non seulement aux modèles d'API de fournisseurs d'IA tels que Open AI, Co:here et AI21, mais également à des modèles open source de pointe. Chez Mantium, nous pensons que tout le monde devrait pouvoir créer des applications d'IA modernes qu'il possède, de bout en bout, et nous soutenons cela en fournissant un accès sans code et à faible code à des modèles open source optimisés en termes de performances.
Par exemple, l'un des principaux modèles open source de Mantium est GPT-J, un modèle de traitement du langage naturel (TAL) de pointe développé par Eleuther IA. Avec 6 milliards de paramètres, GPT-J est l'un des modèles de génération de texte open source les plus importants et les plus performants. Les utilisateurs de Mantium peuvent intégrer GPT-J dans leurs applications d'IA via AI Builder de Mantium. Dans le cas de GPT-J, cela implique de spécifier un rapide (une représentation en langage naturel de ce que le modèle doit faire) et la configuration de certains paramètres facultatifs.
Par exemple, la capture d'écran suivante montre une démonstration abrégée d'une invite d'analyse de sentiment qui produit des explications et des prédictions de sentiment. Dans cet exemple, l'auteur a écrit que « la nourriture était délicieuse » et que leur « service était extraordinaire ». Par conséquent, ce texte exprime un sentiment positif.
Cependant, l'un des défis des modèles open source est qu'ils sont rarement conçus pour des performances de niveau production. Dans le cas de grands modèles comme GPT-J, cela peut rendre le déploiement en production peu pratique, voire impossible, selon le cas d'utilisation.
Pour nous assurer que nos utilisateurs ont accès aux meilleures performances de leur catégorie, nous recherchons en permanence des moyens de réduire la latence de nos modèles de base. Dans cet article, nous décrivons les résultats d'une expérience d'optimisation d'inférence dans laquelle nous utilisons le moteur d'inférence de DeepSpeed pour augmenter la vitesse d'inférence de GPT-J d'environ 116 %. Nous décrivons également comment nous avons déployé l'implémentation Hugging Face Transformers de GPT-J avec DeepSpeed dans notre Amazon Sage Maker critères d'inférence.
Présentation du modèle GPT-J
GPT-J est un modèle de langage génératif pré-entraîné (GPT) et, en termes d'architecture, il est comparable aux grands modèles de langage populaires, privés, comme le GPT-3 d'Open AI. Comme indiqué précédemment, il se compose d'environ 6 milliards de paramètres et de 28 couches, qui consistent en un bloc d'anticipation et un bloc d'auto-attention. Lors de sa première sortie, GPT-J a été l'un des premiers grands modèles de langage à utiliser encastrements rotatifs, une nouvelle stratégie de codage de position qui unifie les codeurs de position absolus et relatifs. Il utilise également une stratégie de parallélisation innovante où les couches denses et à anticipation sont combinées en une seule couche, ce qui minimise les frais de communication.
Bien que GPT-J ne soit pas tout à fait considéré comme grand selon les normes actuelles - les grands modèles se composent généralement de plus de 100 milliards de paramètres - il est toujours incroyablement performant, et avec une ingénierie rapide ou un réglage fin minimal, vous pouvez l'utiliser pour résoudre de nombreux problèmes. De plus, sa taille relativement modeste permet de la déployer plus rapidement et à moindre coût que des modèles plus gros.
Cela dit, GPT-J est encore assez gros. Par exemple, la formation GPT-J en FP32 avec des mises à jour complètes du poids et l'optimiseur Adam nécessite plus de 200 Go de mémoire : 24 Go pour les paramètres du modèle, 24 Go pour les gradients, 24 Go pour les gradients au carré d'Adam, 24 Go pour les états de l'optimiseur, et les exigences de mémoire supplémentaires pour le chargement des lots de formation et le stockage des activations. Bien sûr, la formation en FP16 réduit ces besoins en mémoire de près de moitié, mais une empreinte mémoire de plus de 100 Go nécessite toujours des stratégies de formation innovantes. Par exemple, en collaboration avec SageMaker, l'équipe NLP de Mantium a développé un workflow pour la formation (réglage fin) GPT-J à l'aide de la bibliothèque parallèle de modèles distribués SageMaker.
En revanche, servir GPT-J pour l'inférence nécessite beaucoup moins de mémoire - dans FP16, les poids des modèles occupent moins de 13 Go, ce qui signifie que l'inférence peut facilement être effectuée sur un seul GPU de 16 Go. Cependant, l'inférence avec des implémentations prêtes à l'emploi de GPT-J, telles que les transformateurs Hugging Face la mise en oeuvre que nous utilisons, est relativement lent. Pour prendre en charge les cas d'utilisation nécessitant une génération de texte hautement réactive, nous nous sommes concentrés sur la réduction de la latence d'inférence de GPT-J.
Défis de latence de réponse de GPT-J
La latence de réponse est un obstacle majeur pour les transformateurs pré-entraînés génératifs (GPT) tels que GPT-J qui alimentent la génération de texte moderne. Les modèles GPT génèrent du texte via des séquences d'étapes d'inférence. À chaque étape d'inférence, le modèle reçoit du texte en entrée et, sous réserve de cette entrée, il échantillonne un mot de son vocabulaire à ajouter au texte. Par exemple, étant donné la séquence de jetons "J'ai besoin d'un parapluie parce que c'est", un prochain jeton à forte probabilité pourrait être "il pleut". Cependant, cela pourrait aussi être "ensoleillé" ou "lié", ce qui pourrait être le premier pas vers une séquence de texte comme "J'ai besoin d'un parapluie car il va forcément commencer à pleuvoir".
Des scénarios comme celui-ci soulèvent des défis intéressants pour le déploiement de modèles GPT, car les cas d'utilisation réels peuvent impliquer des dizaines, des centaines, voire des milliers d'étapes d'inférence. Par exemple, générer une réponse de 1,000 1,000 jetons nécessite 280 100 étapes d'inférence ! Par conséquent, bien qu'un modèle puisse offrir des vitesses d'inférence qui semblent assez rapides isolément, il est facile pour la latence d'atteindre des niveaux intenables lorsque de longs textes sont générés. Nous avons observé une latence moyenne de 6.7 millisecondes par étape d'inférence sur un GPU V30. Cela peut sembler rapide pour un modèle de 500 milliards de paramètres, mais avec de telles latences, il faut environ XNUMX secondes pour générer une réponse de XNUMX jetons, ce qui n'est pas idéal du point de vue de l'expérience utilisateur.
Optimiser les vitesses d'inférence avec DeepSpeed Inference
Vitesse profonde est une bibliothèque d'optimisation d'apprentissage en profondeur open source développée par Microsoft. Bien qu'il se concentre principalement sur l'optimisation de la formation de grands modèles, DeepSpeed fournit également un cadre d'optimisation d'inférence qui prend en charge un ensemble sélectionné de modèles, notamment BERT, Megatron, GPT-Neo, GPT2 et GPT-J. DeepSpeed Inference facilite l'inférence haute performance avec de grandes architectures basées sur Transformer grâce à une combinaison de parallélisme de modèles, de noyaux CUDA optimisés pour l'inférence et de quantification.
Pour augmenter la vitesse d'inférence avec GPT-J, nous utilisons le moteur d'inférence de DeepSpeed pour injecter des noyaux CUDA optimisés dans l'implémentation GPT-J de Hugging Face Transformers.
Pour évaluer les avantages de vitesse du moteur d'inférence de DeepSpeed, nous avons effectué une série de tests de latence dans lesquels nous avons chronométré GPT-J sous diverses configurations. Plus précisément, nous avons fait varier l'utilisation ou non de DeepSpeed, le matériel, la longueur de la séquence de sortie et la longueur de la séquence d'entrée. Nous nous sommes concentrés sur la longueur des séquences de sortie et d'entrée, car elles affectent toutes deux la vitesse d'inférence. Pour générer une séquence de sortie de 50 jetons, le modèle doit effectuer 50 étapes d'inférence. De plus, le temps nécessaire pour effectuer une étape d'inférence dépend de la taille de la séquence d'entrée - des entrées plus importantes nécessitent plus de temps de traitement. Bien que l'effet de la taille de la séquence de sortie soit beaucoup plus important que l'effet de la taille de la séquence d'entrée, il est toujours nécessaire de tenir compte des deux facteurs.
Dans notre expérience, nous avons utilisé le design suivant :
- Moteur d'inférence DeepSpeed - Allumé éteint
- Matériel – T4 (ml.g4dn.2xlarge), V100 (ml.p3.2xlarge)
- Longueur de la séquence d'entrée - 50, 200, 500, 1000
- Longueur de la séquence de sortie - 50, 100, 150, 200
Au total, cette conception comporte 64 combinaisons de ces quatre facteurs, et pour chaque combinaison, nous avons effectué 20 tests de latence. Chaque test a été exécuté sur un point de terminaison d'inférence SageMaker pré-initialisé, garantissant que nos tests de latence reflètent les temps de production, y compris les échanges d'API et le prétraitement.
Nos tests démontrent que le moteur d'inférence GPT-J de DeepSpeed est nettement plus rapide que l'implémentation PyTorch de Hugging Face Transformers de base. La figure suivante illustre les latences moyennes de génération de texte pour GPT-J avec et sans accélération DeepSpeed sur les points de terminaison d'inférence SageMaker ml.g4dn.2xlarge et ml.p3.2xlarge.
Sur l'instance ml.g4dn.2xlarge, qui est équipée d'un GPU NVIDIA T16 de 4 Go, nous avons observé une réduction moyenne de la latence d'environ 24 % [écart type (SD) = 0.05]. Cela correspondait à une augmentation d'une moyenne de 12.5 (SD = 0.91) jetons par seconde à une moyenne de 16.5 (SD = 2.13) jetons par seconde. Notamment, l'effet d'accélération de DeepSpeed était encore plus fort sur l'instance ml.p3.2xlarge, qui est équipée d'un GPU NVIDIA V100. Sur ce matériel, nous avons observé une réduction de la latence moyenne de 53 % (SD = 07). En termes de jetons par seconde, cela correspondait à une augmentation d'une moyenne de 21.9 (SD = 1.97) jetons par seconde à une moyenne de 47.5 (SD = 5.8) jetons par seconde.
Nous avons également observé que l'accélération offerte par DeepSpeed s'atténuait légèrement sur les deux configurations matérielles à mesure que la taille des séquences d'entrée augmentait. Cependant, dans toutes les conditions, l'inférence avec les optimisations GPT-J de DeepSpeed était encore nettement plus rapide que la ligne de base. Par exemple, sur l'instance g4dn, les réductions de latence maximale et minimale étaient respectivement de 31 % (taille de la séquence d'entrée = 50) et 15 % (taille de la séquence d'entrée = 1000 3). Et sur l'instance p62, les réductions de latence maximale et minimale étaient respectivement de 50 % (taille de la séquence d'entrée = 40) et 1000 % (taille de la séquence d'entrée = XNUMX XNUMX).
Déploiement de GPT-J avec DeepSpeed sur un point de terminaison d'inférence SageMaker
En plus d'augmenter considérablement les vitesses de génération de texte pour GPT-J, le moteur d'inférence de DeepSpeed est simple à intégrer dans un point de terminaison d'inférence SageMaker. Avant d'ajouter DeepSpeed à notre pile d'inférence, nos points de terminaison fonctionnaient sur une image Docker personnalisée basée sur une image PyTorch officielle. SageMaker facilite le déploiement de points de terminaison d'inférence personnalisés, et l'intégration de DeepSpeed était aussi simple que d'inclure la dépendance et d'écrire quelques lignes de code. Le guide open source du flux de travail de déploiement pour déployer GPT-J avec DeepSpeed est disponible sur GitHub.
Conclusion
Mantium se consacre à l'innovation de pointe afin que chacun puisse construire rapidement avec l'IA. De l'automatisation des processus basée sur l'IA aux paramètres de sécurité et de conformité stricts, notre plate-forme complète fournit tous les outils nécessaires pour développer et gérer des applications d'IA robustes et responsables à grande échelle et abaisse la barrière à l'entrée. SageMaker aide des entreprises comme Mantium à se lancer rapidement sur le marché.
Pour savoir comment Mantium peut vous aider à créer des flux de travail complexes basés sur l'IA pour votre organisation, visitez www.mantiumai.com.
À propos des auteurs
Joe Hoover est scientifique appliquée senior au sein de l'équipe R&D IA de Mantium. Il est passionné par le développement de modèles, de méthodes et d'infrastructures qui aident les gens à résoudre des problèmes du monde réel avec des systèmes NLP de pointe. Dans ses temps libres, il aime faire de la randonnée, jardiner, cuisiner et passer du temps avec sa famille.
Dhawal Patel est architecte principal en apprentissage machine chez AWS. Il a travaillé avec des organisations allant des grandes entreprises aux startups de taille moyenne sur des problèmes liés à l'informatique distribuée et à l'intelligence artificielle. Il se concentre sur l'apprentissage en profondeur, y compris les domaines de la PNL et de la vision par ordinateur. Il aide les clients à obtenir une inférence de modèle haute performance sur SageMaker.
Sunil Padmanabhan est architecte de solutions de démarrage chez AWS. En tant qu'ancien fondateur de startup et CTO, il est passionné par l'apprentissage automatique et s'attache à aider les startups à tirer parti de l'IA/ML pour leurs résultats commerciaux et à concevoir et déployer des solutions ML/AI à grande échelle.
- Coinsmart. Le meilleur échange Bitcoin et Crypto d'Europe.
- Platoblockchain. Intelligence métaverse Web3. Connaissance amplifiée. ACCÈS LIBRE.
- CryptoHawk. Radar Altcoins. Essai gratuit.
- Source : https://aws.amazon.com/blogs/machine-learning/how-mantium-achieves-low-latency-gpt-j-inference-with-deepspeed-on-amazon-sagemaker/
- "
- 000
- 100
- 28
- 7
- 9
- a
- Qui sommes-nous
- Absolute
- accès
- en conséquence
- Compte
- atteindre
- à travers
- ajout
- Supplémentaire
- affecter
- AI
- Tous
- Bien que
- toujours
- Amazon
- selon une analyse de l’Université de Princeton
- chacun.e
- api
- Apis
- appli
- applications
- appliqué
- une approche
- d'environ
- applications
- architecture
- artificiel
- intelligence artificielle
- Automatique
- Automation
- disponibles
- moyen
- AWS
- une barrière
- Baseline
- car
- before
- avantages.
- Milliards
- Block
- construire
- constructeur
- Développement
- la performance des entreprises
- entreprises
- cas
- challenge
- globaux
- le cloud
- cloud Platform
- code
- collaboration
- combinaison
- комбинации
- combiné
- Communication
- Sociétés
- complet
- complexe
- conformité
- complet
- ordinateur
- informatique
- conditions
- Core
- pourriez
- CTO
- Customiser
- Clients
- En investissant dans une technologie de pointe, les restaurants peuvent non seulement rester compétitifs dans un marché en constante évolution, mais aussi améliorer significativement l'expérience de leurs clients.
- dévoué
- profond
- offre
- démontrer
- Selon
- dépend
- déployer
- déployé
- déployer
- déploiement
- décrire
- Conception
- un
- développer
- développé
- développement
- Développement
- distribué
- informatique distribuée
- Docker
- domaines
- Dramatiquement
- même
- effet
- emploie
- permet
- end-to-end
- Endpoint
- Moteur
- ENGINEERING
- Les ingénieurs
- assurer
- entreprises
- équipé
- évaluer
- tout le monde
- exemple
- Échanges
- Découvrez
- expérience
- les
- Photobooth
- Visage
- facteurs
- famille
- RAPIDE
- plus rapide
- Fonctionnalité
- Fonctionnalités:
- Figure
- Prénom
- concentré
- se concentre
- Abonnement
- numérique
- fondateur
- Framework
- de
- plein
- En outre
- générer
- générateur
- génération
- génératif
- Global
- gouvernance
- GPU
- Croissance
- guide
- Matériel
- aider
- aider
- aide
- ici
- Haute
- très
- Comment
- Cependant
- HTTPS
- Des centaines
- idéal
- image
- la mise en oeuvre
- Y compris
- Améliore
- croissant
- Innovation
- technologie innovante
- contribution
- instance
- intégrer
- intégrations
- Intelligence
- seul
- IT
- langue
- gros
- plus importantes
- le plus grand
- couche
- conduisant
- APPRENTISSAGE
- apprentissage
- Niveau
- niveaux
- Levier
- Bibliothèque
- lignes
- chargement
- Location
- recherchez-
- click
- machine learning
- faire
- FAIT DU
- gérer
- les gérer
- Marché
- veux dire
- Mémoire
- méthodes
- Microsoft
- pourrait
- minimum
- ML
- modèle
- numériques jumeaux (digital twin models)
- Stack monitoring
- mois
- PLUS
- Nature
- nécessaire
- Nvidia
- obstacle
- code
- présenté
- officiel
- ouvert
- open source
- Opérations
- à mettre en œuvre pour gérer une entreprise rentable. Ce guide est basé sur trois décennies d'expérience
- optimisé
- l'optimisation
- organisation
- organisations
- propre
- passionné
- Personnes
- performant
- objectifs
- plateforme
- politiques
- politique
- Populaire
- position
- positif
- possible
- power
- Prédictions
- assez
- Directeur
- Privé
- d'ouvrabilité
- processus
- Process Automation
- les process
- traitement
- Vidéo
- de voiture.
- fournisseurs
- fournit
- aportando
- qualifier
- vite.
- R & D
- augmenter
- allant
- nous joindre
- réduire
- refléter
- libéré
- de Presse
- représentation
- exigent
- conditions
- Exigences
- a besoin
- réponse
- responsables
- Résultats
- Courir
- pour le running
- Sécurité
- Saïd
- Escaliers intérieurs
- Scientifique
- secondes
- sélection
- sentiment
- Série
- service
- set
- étapes
- unique
- Taille
- So
- Logiciels
- Solutions
- RÉSOUDRE
- quelques
- sophistiqué
- spécifiquement
- vitesse
- vitesses
- Dépenses
- empiler
- Standard
- Commencer
- Commencez
- Startups
- state-of-the-art
- États
- Encore
- les stratégies
- de Marketing
- plus efficacement
- Support
- Les soutiens
- Système
- équipe
- Technique
- conditions
- tester
- tests
- Les
- donc
- milliers
- Avec
- fiable
- fois
- aujourd'hui
- ensemble
- jeton
- Tokens
- les outils
- traditionnellement
- Formation
- typiquement
- ui
- sous
- Actualités
- utilisé
- utilisateurs
- divers
- vision
- façons
- web
- Quoi
- Jante
- que
- sans
- travaillé
- workflows
- écriture
- Votre