Les grands modèles de langage (ou LLM) sont devenus un sujet de conversations quotidiennes. Leur adoption rapide est évidente par le temps nécessaire pour atteindre 100 millions d'utilisateurs, qui est passé de « 4.5 ans par Facebook » à un minimum historique de seulement « 2 mois par ChatGPT ». Un transformateur génératif pré-entraîné (GPT) utilise des mises à jour causales autorégressives pour effectuer des prédictions. Une variété de tâches telles que la reconnaissance vocale, la génération de texte et la réponse aux questions se révèlent avoir des performances extraordinaires grâce à ces architectures de modèles. Plusieurs modèles récents tels que NeoX, Falcon, Flamme utilisez l’architecture GPT comme épine dorsale. La formation des LLM nécessite un temps de calcul colossal, qui coûte des millions de dollars. Dans cet article, nous résumerons la procédure de formation de GPT NeoX on Formation AWS, un accélérateur d'apprentissage automatique (ML) spécialement conçu et optimisé pour la formation en apprentissage profond. Nous expliquerons comment nous avons formé de tels modèles de manière rentable (3.2 millions de jetons/$) avec AWS Trainium sans perdre la qualité du modèle.
Vue d'ensemble de la solution
Modèles GPT NeoX et Pythia
GPT NeoX et les Pythia sont les modèles de langage causal open source d'Eleuther-AI avec environ 20 milliards de paramètres dans NeoX et 6.9 milliards dans Pythia. Les deux sont des modèles de décodeurs suivant une conception architecturale similaire à celle du Chat GPT3. Cependant, ils disposent également de plusieurs ajouts, qui sont également largement adoptés dans les modèles récents tels que Llama. En particulier, ils ont une intégration positionnelle en rotation (ROPE) avec une rotation partielle sur les dimensions de la tête. Les modèles originaux (NeoX et Pythia 6.9B) sont formés sur des outils disponibles gratuitement Jeu de données de pieux avec déduplication et utilisation du backend Megatron et Deepspeed.
Nous démontrons la pré-formation et le réglage fin de ces modèles sur les instances Trn1 basées sur AWS Trainium à l'aide Neurone NeMo bibliothèque. Pour établir la preuve de concept et la reproduction rapide, nous utiliserons un sous-ensemble de données Wikipédia plus petit tokenisé à l'aide du tokenizer GPT2 Byte-pair Encoding (BPE).
Procédure pas à pas
Téléchargez l'ensemble de données Wikipédia pré-tokenisé comme indiqué :
NeoX 20B et Pythia 6.9B utilisent tous deux ROPE avec rotation partielle, par exemple, faisant pivoter 25 % des dimensions de la tête et gardant le reste sans rotation. Pour implémenter efficacement la rotation partielle sur l'accélérateur AWS Trainium, au lieu de concaténer les dimensions rotatives et non rotatives, nous ajoutons des fréquences nulles pour les dimensions non rotatives, puis faisons pivoter l'ensemble complet des dimensions de la tête. Cette astuce simple nous a aidé à améliorer le débit (séquences traitées par seconde) sur AWS Trainium.
Étapes de formation
Pour exécuter la formation, nous utilisons Amazon Elastic Compute Cloud multi-nœuds géré par SLURM (Amazon EC2) Cluster Trn1, avec chaque nœud contenant une instance trn1.32xl. Chaque trn1.32xl dispose de 16 accélérateurs avec deux travailleurs par accélérateur. Après avoir téléchargé la dernière Neurone NeMo paquet, utilisez le néox et les la pythie scripts de pré-entraînement et de réglage fin avec des hyper-paramètres optimisés et exécutez ce qui suit pour une formation à quatre nœuds.
- Compiler : précompilez le modèle avec trois itérations d'entraînement pour générer et enregistrer les graphiques :
- Exécuter : exécutez la formation en chargeant les graphiques mis en cache dès les premières étapes
- Surveiller les résultats
Les mêmes étapes doivent être suivies pour exécuter le modèle Pythia 6.9B en remplaçant neox_20B_slurm.sh
by pythia_6.9B_slurm.sh
.
Expériences de pré-formation et de mise au point
Nous démontrons la pré-formation des modèles GPT-NeoX et Pythia sur AWS Trainium en utilisant Neurone NeMo bibliothèque pour 10 1 itérations, et montre également le réglage fin de ces modèles pour 2 XNUMX étapes. Pour la pré-formation, nous utilisons le tokenizer GPTXNUMX BPE à l'intérieur du NeMo et suivons la même chose config tel qu'utilisé dans le modèle original. Le réglage fin sur AWS Trainium nécessite la modification de quelques paramètres (tels que facteur de division de la taille du vocabulaire), qui sont fournis dans les scripts de réglage fin pour tenir compte des différences Megatron par rapport à NeMo et des modifications GPU par rapport à AWS Trainium. Le débit de formation distribué multi-nœuds avec un nombre variable de nœuds est indiqué dans le tableau 1.
Modèle | Tenseur Parallèle | Pipeline parallèle | Nombre d'instances | Coût ($/heure) | Longueur de séquence | Taille globale du lot | Débit (séq/s) | Rapport coût-débit (jetons/$) |
Pythie 6.9B | 8 | 1 | 1 | 7.59 | 2048 | 256 | 10.4 | 10,102,387 |
8 | 1 | 4 | 30.36 | 2048 | 256 | 35.8 | 8,693,881 | |
NéoX 20B | 8 | 4 | 4 | 30.36 | 2048 | 16384 | 13.60 | 3,302,704 |
8 | 4 | 8 | 60.72 | 2048 | 16384 | 26.80 | 3,254,134 | |
8 | 4 | 16 | 121.44 | 2048 | 16384 | 54.30 | 3,296,632 | |
8 | 4 | 32 | 242.88 | 2048 | 16384 | 107.50 | 3,263,241 | |
8 | 4 | 64 | 485.76 | 2048 | 16384 | 212.00 | 3,217,708 |
Tableau 1. Comparaison du débit moyen des modèles GPT NeoX et Pythia pour une formation jusqu'à 500 étapes avec un nombre changeant de nœuds. Le prix du trn1.32xl est basé sur le taux horaire effectif réservé sur 3 ans.
Ensuite, nous évaluons également la trajectoire de perte de la formation du modèle sur AWS Trainium et la comparons avec l'exécution correspondante sur un cluster P4d (cœurs GPU Nvidia A100). Parallèlement à la perte d'entraînement, nous comparons également des indicateurs utiles tels que la norme de gradient, qui est la norme à 2 normes des gradients du modèle calculés à chaque itération d'entraînement pour suivre la progression de l'entraînement. Les résultats de la formation sont présentés dans les figures 1 et 2 et le réglage fin de NeoX 20B dans la figure 3.
Figure 1. Perte de formation moyenne pour tous les travailleurs (à gauche) et norme de gradient (à droite) à chaque étape de formation. NeoX 20B est formé sur 4 nœuds avec un petit ensemble de données wiki sur GPU et Trainium avec les mêmes hyper-paramètres de formation (taille globale du lot = 256). Le GPU utilise BF16 et la précision mixte par défaut, tandis qu'AWS Trainium utilise le BF16 complet avec arrondi stochastique. Les trajectoires des normes de perte et de gradient correspondent pour le GPU et AWS Trainium.
Figure 2. Perte de formation moyenne pour tous les travailleurs (à gauche) et norme de gradient (à droite) à chaque étape de formation. Semblable à GPT NeoX dans la figure 1, Pythia 6.9B est formé sur 4 nœuds avec un petit ensemble de données wiki sur GPU et Trainium avec les mêmes hyper-paramètres de formation (taille globale du lot = 256). Les trajectoires des normes de perte et de gradient correspondent pour le GPU et Trainium.
Figure 3. Ajustement du modèle GPT NeoX 20B sur GPU et AWS Trainium avec perte de formation moyenne pour tous les travailleurs (à gauche) et norme de gradient (à droite). Un petit ensemble de données wiki est utilisé pour affiner la démonstration. Les trajectoires des normes de perte et de gradient correspondent pour le GPU et AWS Trainium.
Dans cet article, nous avons montré une formation rentable des LLM sur le matériel d'apprentissage en profondeur AWS. Nous avons formé les modèles GPT NeoX 20B et Pythia 6.9B sur AWS Trn1 avec la bibliothèque Neuron NeMo. Le coût de débit normalisé pour 20 milliards de modèles avec AWS Trainium est d'environ 3.2 millions de jetons/$ dépensé. Parallèlement à une formation rentable sur AWS Trainium, nous obtenons une précision de modèle similaire, comme en témoignent la perte d'étape de formation et la trajectoire de la norme de gradient. Nous avons également affiné les points de contrôle disponibles pour le modèle NeoX 20B sur AWS Trainium. Pour plus d'informations sur la formation distribuée avec NeMo Megatron sur AWS Trainium, consultez Référence des neurones AWS pour NeMo Megatron. Une bonne ressource pour commencer à peaufiner le modèle Llama peut être trouvée ici, Mise au point de Llama2. Pour démarrer avec AWS Trainium géré sur Amazon Sage Maker, Voir Entraînez vos modèles ML avec AWS Trainium et Amazon SageMaker.
À propos des auteurs
Gaurav Gupta est actuellement scientifique appliqué dans les laboratoires d'IA d'Amazon Web Services (AWS). Le Dr Gupta a obtenu son doctorat à l'USC Viterbi. Ses intérêts de recherche couvrent le domaine de la modélisation de données séquentielles, l'apprentissage des équations aux dérivées partielles, la théorie de l'information pour l'apprentissage automatique, les modèles dynamiques fractionnaires et les réseaux complexes. Il travaille actuellement sur des problèmes appliqués et mathématiques sur le comportement d'entraînement des LLM, les modèles de vision avec les PDE et les modèles multimodaux de théorie de l'information. Le Dr Gupta a publié des publications dans des revues/conférences de premier plan telles que Neurips, ICLR, ICML, Nature, IEEE Control Society, ACM cyber-physical Society.
Ben Snyder est un scientifique appliqué chez AWS Deep Learning. Ses intérêts de recherche comprennent les modèles fondamentaux, l'apprentissage par renforcement et l'optimisation asynchrone. En dehors du travail, il aime faire du vélo et du camping dans l’arrière-pays.
Amith (R) Mamidala est l'ingénieur principal des applications d'apprentissage automatique chez AWS Annapurna Labs. Le Dr Mamidala a obtenu son doctorat à l'Ohio State University en calcul haute performance et en communication. Au cours de son mandat chez IBM Research, le Dr Mamidala a contribué à la classe d'ordinateurs BlueGene qui a souvent dominé le classement Top500 des supercalculateurs les plus puissants et les plus économes en énergie. Le projet a reçu la médaille nationale 2009 de la technologie et de l'innovation. Après un bref passage en tant qu'ingénieur en IA dans un fonds spéculatif financier, le Dr Mamidala a rejoint les laboratoires de l'Annapurna en se concentrant sur la formation de modèles Large Language.
Jun (Luke) Huan est l'un des scientifiques principaux d'AWS AI Labs. Le Dr Huan travaille sur l'IA et la science des données. Il a publié plus de 180 articles évalués par des pairs dans des conférences et revues de premier plan. Il a reçu le prix NSF pour le développement de carrière en début de carrière en 2009. Avant de rejoindre AWS, il a travaillé chez Baidu Research en tant que scientifique distingué et directeur du Baidu Big Data Laboratory. Il a fondé StylingAI Inc., une start-up d'IA, et a travaillé en tant que PDG et scientifique en chef de 2019 à 2021. Avant de rejoindre l'industrie, il était professeur Charles E. et Mary Jane Spahr au département EECS de l'Université du Kansas.
Shruti Koparkar est Senior Product Marketing Manager chez AWS. Elle aide les clients à explorer, évaluer et adopter l'infrastructure de calcul accéléré Amazon EC2 pour leurs besoins en machine learning.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- PlatoData.Network Ai générative verticale. Autonomisez-vous. Accéder ici.
- PlatoAiStream. Intelligence Web3. Connaissance Amplifiée. Accéder ici.
- PlatonESG. Carbone, Technologie propre, Énergie, Environnement, Solaire, La gestion des déchets. Accéder ici.
- PlatoHealth. Veille biotechnologique et essais cliniques. Accéder ici.
- La source: https://aws.amazon.com/blogs/machine-learning/frugality-meets-accuracy-cost-efficient-training-of-gpt-neox-and-pythia-models-with-aws-trainium/
- :possède
- :est
- $UP
- 1
- 10
- 100
- 10K
- 120
- 16
- 160
- 180
- 20
- 500
- 7
- 9
- a
- accéléré
- accélérateur
- accélérateurs
- accommoder
- précision
- ACM
- à travers
- Supplémentaire
- renseignements supplémentaires
- ajouts
- adopter
- adopté
- Adoption
- Après
- AI
- Tous
- tous les temps faibles
- le long de
- aussi
- Amazon
- Amazon EC2
- Amazon Web Services
- Amazon Web Services (AWS)
- montant
- an
- et les
- tous
- Application
- appliqué
- d'environ
- architectural
- architecture
- SONT
- autour
- AS
- At
- disponibles
- prix
- attribué
- AWS
- Colonne vertébrale
- backend
- Baidu
- basé
- BE
- devenez
- before
- humain
- Big
- Big Data
- Milliards
- BIN
- tous les deux
- by
- Carrière
- CD
- CEO
- Change
- Modifications
- en changeant
- Charles
- ChatGPT
- chef
- classe
- le cloud
- Grappe
- Communication
- comparer
- comparant
- complet
- Complété
- complexe
- calcul
- ordinateurs
- informatique
- conférences
- contribué
- des bactéries
- conversations
- Correspondant
- Prix
- Costs
- pourriez
- Lecture
- Clients
- Tous les jours
- données
- science des données
- profond
- l'apprentissage en profondeur
- Réglage par défaut
- démontrer
- démontré
- Département
- Conception
- Développement
- différences
- dimensions
- Distingué
- distribué
- formation distribuée
- Division
- dollars
- domaine
- téléchargement
- dr
- Dr Gupta
- pendant
- e
- chacun
- "Early Bird"
- Efficace
- efficacement
- enrobage
- codage
- ingénieur
- ENGINEERING
- équations
- établir
- évaluer
- évident
- exemple
- exécuter
- explorez
- few
- la traduction de documents financiers
- Prénom
- premières étapes
- mettant l'accent
- suivre
- suivi
- Abonnement
- Pour
- trouvé
- Fondationale
- Fondée
- quatre
- fractionnaire
- De
- plein
- fund
- générer
- génération
- génératif
- obtenez
- Global
- disparu
- Bien
- GPU
- les gradients
- graphiques
- Gupta
- Matériel
- Vous avez
- he
- front
- haie
- fonds de couverture
- a aidé
- aide
- ici
- Haute
- sa
- heure
- Comment
- Cependant
- HTML
- HTTPS
- Étreindre
- IBM
- IDX
- IEEE
- Mettre en oeuvre
- améliorer
- in
- Inc
- comprendre
- Indicateur
- industrie
- d'information
- Infrastructure
- Innovation
- à l'intérieur
- instance
- plutôt ;
- intérêts
- IT
- itération
- itérations
- Jeanne
- rejoint
- joindre
- jpg
- json
- Kansas
- en gardant
- laboratoire
- Labs
- langue
- gros
- Nouveautés
- conduisant
- apprentissage
- LED
- à gauche
- Longueur
- Bibliothèque
- Flamme
- chargement
- pas à perdre
- perte
- Faible
- click
- machine learning
- a prendre une
- gérés
- manager
- Stratégie
- Match
- mathématique
- signifier
- Se rencontre
- simple
- Meta
- million
- des millions
- ML
- modèle
- modélisation statistique
- numériques jumeaux (digital twin models)
- Surveiller
- mois
- PLUS
- (en fait, presque toutes)
- Nationales
- Nature
- Besoins
- réseaux
- nœud
- nœuds
- NSF
- nombre
- Nvidia
- obtenir
- of
- souvent
- Ohio
- on
- open source
- ouvertement
- à mettre en œuvre pour gérer une entreprise rentable. Ce guide est basé sur trois décennies d'expérience
- optimisé
- or
- original
- contour
- au contrôle
- paquet
- papiers
- paramètres
- particulièrement
- évaluées par des pairs
- /
- performant
- phd
- Platon
- Intelligence des données Platon
- PlatonDonnées
- Post
- solide
- prédiction
- Directeur
- d'ouvrabilité
- procédure
- Traité
- Produit
- Professeur
- Progrès
- Projet
- à condition de
- publications
- publié
- qualité
- question
- Rapide
- R
- Classement
- Tarif
- rapport
- nous joindre
- récent
- reconnaissance
- référence
- reproduction
- conditions
- a besoin
- un article
- réservé
- ressource
- REST
- Résultats
- bon
- arrondi
- Courir
- pour le running
- même
- Épargnez
- Sciences
- Scientifique
- scripts
- SEC
- sur le lien
- supérieur
- Services
- set
- plusieurs
- elle
- montrer
- montré
- montré
- similaires
- étapes
- Taille
- petit
- faibles
- Société
- envergure
- discours
- Reconnaissance vocale
- dépensé
- Commencer
- Démarrage
- j'ai commencé
- Région
- étapes
- Étapes
- tel
- résumé
- tâches
- Technologie
- texte
- que
- Le
- leur
- puis
- théorie
- Ces
- l'ont
- this
- trois
- débit
- fiable
- à
- tokenisé
- top
- sujet
- vers
- Train
- qualifié
- Formation
- trajectoire
- transformateur
- deux
- université
- Actualités
- us
- utilisé
- d'utiliser
- utilisateurs
- Usages
- en utilisant
- variété
- variant
- Versus
- vision
- était
- we
- web
- services Web
- qui
- tout en
- largement
- Wikipédia
- comprenant
- sans
- activités principales
- travaillé
- ouvriers
- de travail
- vos contrats
- Votre
- zéphyrnet
- zéro