Aujourd'hui, des dizaines de milliers de clients créent, forment et déploient des modèles d'apprentissage automatique (ML) à l'aide de Amazon Sage Maker pour propulser des applications qui ont le potentiel de réinventer leurs activités et l'expérience client. Ces modèles ML ont augmenté en taille et en complexité au cours des dernières années, ce qui a conduit à des précisions de pointe dans une gamme de tâches et a également fait passer le temps de formation de quelques jours à quelques semaines. En conséquence, les clients doivent faire évoluer leurs modèles sur des centaines, voire des milliers d'accélérateurs, ce qui les rend plus coûteux à former.
SageMaker est un service ML entièrement géré qui aide les développeurs et les data scientists à créer, former et déployer facilement des modèles ML. SageMaker propose déjà le choix le plus large et le plus complet d'offres de calcul comprenant des accélérateurs matériels pour la formation ML, y compris G5 (Nvidia A10G) instances et P4d (Nvidia A100) les instances.
Les exigences de calcul croissantes nécessitent une puissance de traitement plus rapide et plus rentable. Pour réduire davantage les temps de formation des modèles et permettre aux praticiens du ML d'itérer plus rapidement, AWS a innové en matière de puces, de serveurs et de connectivité des centres de données. Les nouvelles instances Trn1 optimisées par Formation AWS les puces offrent le meilleur rapport qualité-prix et la formation de modèle ML la plus rapide sur AWS, offrant jusqu'à 50 % de réduction des coûts pour former des modèles d'apprentissage en profondeur sur des instances comparables basées sur GPU sans aucune baisse de précision.
Dans cet article, nous montrons comment vous pouvez maximiser vos performances et réduire vos coûts en utilisant des instances Trn1 avec SageMaker.
Vue d'ensemble de la solution
Les tâches de formation SageMaker prennent en charge les instances ml.trn1, alimentées par des puces Trainium, spécialement conçues pour les applications de formation ML hautes performances dans le cloud. Vous pouvez utiliser des instances ml.trn1 sur SageMaker pour former des modèles de traitement du langage naturel (NLP), de vision par ordinateur et de recommandation sur un large éventail d'applications, tels que la reconnaissance vocale, la recommandation, la détection des fraudes, la classification des images et des vidéos et les prévisions. Les instances ml.trn1 comportent jusqu'à 16 puces Trainium, qui est une puce ML de deuxième génération construite par AWS après Inférence AWS. Les instances ml.trn1 sont les premières Cloud de calcul élastique Amazon (Amazon EC2) avec jusqu'à 800 Gbit/s de bande passante réseau Elastic Fabric Adapter (EFA). Pour un parallélisme efficace des données et des modèles, chaque instance ml.trn1.32xl dispose de 512 Go de mémoire à bande passante élevée, fournit jusqu'à 3.4 pétaflops de puissance de calcul FP16/BF16 et comprend NeuronLink, une interconnexion intra-instance à bande passante élevée et non bloquante. .
Trainium est disponible en deux configurations et peut être utilisé dans les régions USA Est (Virginie du Nord) et USA Ouest (Oregon).
Le tableau suivant résume les fonctionnalités des instances Trn1.
Taille d'instance | trainium Accélérateurs |
Accélérateur Mémoire (GB) |
vCPU | Instance Mémoire (Gio) |
Réseau Bande passante (Gbit/s) |
ALE et RDMA Assistance |
trn1.2xlarge | 1 | 32 | 8 | 32 | Jusqu'à 12.5 | Non |
trn1.32xlarge | 16 | 512 | 128 | 512 | 800 | Oui |
trn1n.32xlarge (à venir) | 16 | 512 | 128 | 512 | 1600 | Oui |
Voyons comment utiliser Trainium avec SageMaker avec un exemple simple. Nous formerons un modèle de classification de texte avec la formation SageMaker et PyTorch en utilisant la bibliothèque Hugging Face Transformers.
Nous utilisons l'ensemble de données Amazon Reviews, qui se compose d'avis provenant d'amazon.com. Les données couvrent une période de 18 ans, comprenant environ 35 millions d'avis jusqu'en mars 2013. Les avis incluent des informations sur les produits et les utilisateurs, des évaluations et un avis en texte clair. Le code suivant est un exemple du AmazonPolarity
ensemble d'essai:
Pour cet article, nous n'utilisons que les champs de contenu et d'étiquette. Le champ de contenu est une critique en texte libre et le champ d'étiquette est une valeur binaire contenant 1 ou 0 pour les critiques positives ou négatives, respectivement.
Pour notre algorithme, nous utilisons BERT, un modèle de transformateur pré-entraîné sur un large corpus de données anglaises de manière auto-supervisée. Ce modèle vise principalement à être affiné sur les tâches qui utilisent la phrase entière (potentiellement masquée) pour prendre des décisions, telles que la classification des séquences, la classification des jetons ou la réponse aux questions.
Détails d'implémentation
Commençons par examiner de plus près les différents composants impliqués dans la formation du modèle :
- Formation AWS – À la base, chaque Instance Trainium a des appareils Trainium intégrés. Trn1.2xlarge a 1 appareil Trainium et Trn1.32xlarge a 16 appareils Trainium. Chaque appareil Trainium comprend un ordinateur (2 NeuronCore-v2), 32 Go de mémoire d'appareil HBM et NeuronLink pour une communication rapide entre appareils. Chaque NeuronCore-v2 se compose d'une unité de calcul hétérogène totalement indépendante avec des moteurs séparés (Tensor/Vector/Scalar/GPSIMD). Les GPSIMD sont des processeurs polyvalents entièrement programmables que vous pouvez utiliser pour implémenter des opérateurs personnalisés et les exécuter directement sur les moteurs NeuronCore.
- Formation Amazon Sage Maker – SageMaker fournit une expérience de formation entièrement gérée pour former facilement des modèles sans avoir à se soucier de l'infrastructure. Lorsque vous utilisez SageMaker Training, il exécute tout ce qui est nécessaire pour une tâche de formation, comme le code, le conteneur et les données, dans une infrastructure de calcul distincte de l'environnement d'appel. Cela nous permet d'exécuter des expériences en parallèle et d'itérer rapidement. SageMaker fournit un SDK Python pour lancer des travaux de formation. L'exemple de cet article utilise le SDK Python SageMaker pour déclencher la tâche d'entraînement à l'aide de Trainium.
- Neurone AWS – Étant donné que Trainium NeuronCore possède son propre moteur de calcul, nous avons besoin d'un mécanisme pour compiler notre code de formation. Le Neurone AWS Le compilateur prend le code écrit en Pytorch/XLA et l'optimise pour s'exécuter sur les appareils Neuron. Le compilateur Neuron est intégré dans le Deep Learning Container que nous utiliserons pour former notre modèle.
- PyTorch/XLA - Ce Paquet Python utilise le compilateur d'apprentissage en profondeur XLA pour connecter le cadre d'apprentissage en profondeur PyTorch et des accélérateurs cloud comme Trainium. La création d'un nouveau réseau PyTorch ou la conversion d'un réseau existant pour qu'il s'exécute sur des appareils XLA ne nécessite que quelques lignes de code spécifique à XLA. Nous verrons pour notre cas d'utilisation quels changements nous devons apporter.
- Formation distribuée – Pour exécuter la formation efficacement sur plusieurs NeuronCores, nous avons besoin d'un mécanisme pour distribuer la formation dans les NeuronCores disponibles. SageMaker prend en charge torchrun avec des instances Trainium, qui peuvent être utilisées pour exécuter plusieurs processus équivalents au nombre de NeuronCores dans le cluster. Cela se fait en transmettant le paramètre de distribution à l'estimateur SageMaker comme suit, qui démarre une formation distribuée parallèle de données où le même modèle est chargé dans différents NeuronCores qui traitent des lots de données distincts :
Changements de script nécessaires pour fonctionner sur Trainium
Examinons les modifications de code nécessaires pour adopter un script PyTorch standard basé sur GPU pour s'exécuter sur Trainium. À un niveau élevé, nous devons apporter les modifications suivantes :
- Remplacez les périphériques GPU par des périphériques Pytorch/XLA. Parce que nous utilisons la distribution de la torche, nous devons initialiser la formation avec XLA comme appareil comme suit :
- Nous utilisons le backend distribué PyTorch/XLA pour relier les API distribuées PyTorch à la sémantique de communication XLA.
- Nous utilisons PyTorch/XLA MpDeviceLoader pour les pipelines d'ingestion de données. MpDeviceLoader permet d'améliorer les performances en superposant trois étapes : le traçage, la compilation et le chargement par lots de données sur l'appareil. Nous devons envelopper le chargeur de données PyTorch avec le MpDeviceDataLoader comme suit :
- Exécutez l'étape d'optimisation à l'aide de l'API fournie par XLA, comme indiqué dans le code suivant. Cela consolide les gradients entre les cœurs et émet le calcul de l'étape du dispositif XLA.
- Mappez les API CUDA (le cas échéant) aux API PyTorch génériques.
- Remplacez les optimiseurs fusionnés CUDA (le cas échéant) par des alternatives génériques PyTorch.
L'exemple complet, qui entraîne un modèle de classification de texte à l'aide de SageMaker et Trainium, est disponible dans les éléments suivants GitHub repo. Le fichier cahier Ajuster les transformateurs pour créer des modèles de classification à l'aide de SageMaker et Trainium.ipynb est le point d'entrée et contient des instructions étape par étape pour exécuter la formation.
Tests de référence
Dans le test, nous avons exécuté deux tâches de formation : une sur ml.trn1.32xlarge et une sur ml.p4d.24xlarge avec la même taille de lot, les mêmes données de formation et d'autres hyperparamètres. Pendant les tâches de formation, nous avons mesuré le temps facturable des tâches de formation SageMaker et calculé le rapport prix-performance en multipliant le temps nécessaire pour exécuter les tâches de formation en heures par le prix par heure pour le type d'instance. Nous avons sélectionné le meilleur résultat pour chaque type d'instance parmi plusieurs exécutions de tâches.
Le tableau suivant résume nos résultats de référence.
Modèle | Type d'instance | Prix (par nœud * heure) | Débit (itérations/s) | ValidationPrécision | Temps facturable (sec) | Coût de la formation en $ |
Classement de base BERT | ml.trn1.32xlarge | 24.725 | 6.64 | 0.984 | 6033 | 41.47 |
Classement de base BERT | ml.p4d.24xlarge | 37.69 | 5.44 | 0.984 | 6553 | 68.6 |
Les résultats ont montré que l'instance Trainium coûte moins cher que l'instance P4d, offrant un débit et une précision similaires lors de la formation du même modèle avec les mêmes données d'entrée et paramètres de formation. Cela signifie que l'instance Trainium offre un meilleur rapport qualité-prix que les instances P4D basées sur GPU. Avec un exemple simple comme celui-ci, nous pouvons voir que Trainium offre un temps de formation environ 22 % plus rapide et jusqu'à 50 % de coûts en moins par rapport aux instances P4d.
Déployer le modèle entraîné
Après avoir formé le modèle, nous pouvons le déployer sur différents types d'instances tels que CPU, GPU ou AWS Inferentia. Le point clé à noter est que le modèle formé ne dépend pas de matériel spécialisé pour se déployer et faire des inférences. SageMaker fournit des mécanismes pour déployer un modèle entraîné à l'aide de mécanismes en temps réel ou par lots. L'exemple de bloc-notes dans le référentiel GitHub contient du code pour déployer le modèle formé en tant que point de terminaison en temps réel à l'aide d'une instance ml.c5.xlarge (basée sur le processeur).
Conclusion
Dans cet article, nous avons examiné comment utiliser Trainium et SageMaker pour configurer et former rapidement un modèle de classification qui permet d'économiser jusqu'à 50 % des coûts sans compromettre la précision. Vous pouvez utiliser Trainium pour un large éventail de cas d'utilisation qui impliquent une pré-formation ou un réglage fin des modèles basés sur Transformer. Pour plus d'informations sur la prise en charge de diverses architectures de modèles, reportez-vous à Directives d'ajustement de l'architecture du modèle.
À propos des auteurs
Arun Kumar Lokanatha est architecte principal de solutions ML au sein de l'équipe Amazon SageMaker Service. Il se concentre sur l'aide aux clients pour créer, former et migrer les charges de travail de production ML vers SageMaker à grande échelle. Il est spécialisé dans l'apprentissage en profondeur, en particulier dans le domaine de la PNL et du CV. En dehors du travail, il aime courir et faire de la randonnée.
Marc Yu est ingénieur logiciel chez AWS SageMaker. Il se concentre sur la construction de systèmes de formation distribués à grande échelle, l'optimisation des performances de formation et le développement de matériels de formation ml haute performance, y compris SageMaker trainium. Mark possède également une connaissance approfondie de l'optimisation de l'infrastructure d'apprentissage automatique. Dans ses temps libres, il aime faire de la randonnée et courir.
Omri Fuchs est responsable du développement logiciel chez AWS SageMaker. Il est le responsable technique responsable de la plate-forme de travail de formation SageMaker, se concentrant sur l'optimisation des performances de formation SageMaker et l'amélioration de l'expérience de formation. Il est passionné par les technologies de pointe en matière de ML et d'IA. Dans ses temps libres, il aime faire du vélo et de la randonnée.
Gal Ochri est chef de produit senior au sein de l'équipe Amazon SageMaker. Il a 7 ans d'expérience dans les outils, les frameworks et les services d'apprentissage automatique.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- Platoblockchain. Intelligence métaverse Web3. Connaissance Amplifiée. Accéder ici.
- La source: https://aws.amazon.com/blogs/machine-learning/maximize-performance-and-reduce-your-deep-learning-training-cost-with-aws-trainium-and-amazon-sagemaker/
- :est
- $UP
- 1
- 100
- 7
- 8
- a
- A100
- Qui sommes-nous
- accélérateurs
- précision
- à travers
- adopter
- Après
- AI
- algorithme
- permet
- déjà
- des alternatives
- Amazon
- Amazon EC2
- Amazon Sage Maker
- -
- ainsi que
- api
- Apis
- applications
- d'environ
- architecture
- SONT
- Réservé
- AS
- At
- disponibles
- AWS
- Inférence AWS
- backend
- Mal
- Bande passante
- base
- BE
- car
- commencer
- va
- référence
- LES MEILLEURS
- Améliorée
- jusqu'à XNUMX fois
- Au-delà
- Big
- Noir
- livre
- PONT
- construire
- Développement
- construit
- entreprises
- by
- calculé
- Appels
- CAN
- maisons
- cas
- CD
- Canaux centraux
- Modifications
- puce
- chips
- le choix
- classification
- plus
- le cloud
- Grappe
- code
- COM
- Venir
- À venir
- Communication
- comparable
- complexité
- composants électriques
- compromettre
- calcul
- calcul
- ordinateur
- Vision par ordinateur
- les configurations
- NOUS CONTACTER
- Connectivité
- Consolide
- Contenant
- contient
- contenu
- Core
- Prix
- les économies de coûts
- rentable
- Costs
- Processeur
- Customiser
- des clients
- 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.
- données
- Centre de données
- jours
- décisions
- profond
- l'apprentissage en profondeur
- le plus profond
- offre
- dépendant
- déployer
- déployer
- DÉSERT
- Détection
- mobiles
- développement
- Développement
- dispositif
- Compatibles
- différent
- directement
- distribuer
- distribué
- formation distribuée
- distribution
- Goutte
- pendant
- chacun
- même
- Est
- efficace
- efficacement
- permettre
- activé
- Endpoint
- Moteur
- ingénieur
- Moteurs
- Anglais
- Tout
- Environment
- Équivalent
- notamment
- Ether (ETH)
- peut
- exemple
- existant
- cher
- Découvrez
- Expériences
- .
- Visage
- Mode
- RAPIDE
- plus rapide
- le plus rapide
- Fonctionnalité
- Fonctionnalités:
- Doté d'
- femelle
- few
- champ
- Des champs
- Déposez votre dernière attestation
- Prénom
- s'adapter
- se concentre
- mettant l'accent
- Abonnement
- suit
- Pour
- Framework
- cadres
- fraude
- détection de fraude
- Test d'anglais
- de
- d’étiquettes électroniques entièrement
- plus
- à usage général
- génération
- GitHub
- donne
- Bien
- GPU
- les gradients
- l'
- Matériel
- Vous avez
- ayant
- aider
- aide
- caché
- Haute
- haute performance
- randonnée
- HEURES
- Comment
- How To
- HTML
- http
- HTTPS
- Des centaines
- i
- image
- Mettre en oeuvre
- améliorer
- l'amélioration de
- in
- en profondeur
- comprendre
- Y compris
- croissant
- indépendant
- d'information
- Infrastructure
- innover
- contribution
- instance
- Des instructions
- des services
- impliquer
- impliqué
- vous aider à faire face aux problèmes qui vous perturbent
- IT
- SES
- Emploi
- Emplois
- jpg
- ACTIVITES
- Tuer
- spécialisées
- Libellé
- langue
- gros
- grande échelle
- Nom de famille
- lancer
- leader
- apprentissage
- LED
- Niveau
- Bibliothèque
- VIE
- comme
- lignes
- chargement
- Style
- regardé
- love
- click
- machine learning
- LES PLANTES
- faire
- FAIT DU
- gérés
- manager
- Mars
- marque
- Matière
- Maximisez
- veux dire
- mécanisme
- Mémoire
- émigrer
- million
- ML
- modèle
- numériques jumeaux (digital twin models)
- humeur
- PLUS
- plusieurs
- multiplier
- Nature
- Langage naturel
- Traitement du langage naturel
- Besoin
- nécessaire
- négatif
- réseau et
- Nouveauté
- nlp
- nœud
- cahier
- nombre
- Nvidia
- of
- code
- Offrandes
- Offres Speciales
- Vieux
- on
- ONE
- opérateurs
- à mettre en œuvre pour gérer une entreprise rentable. Ce guide est basé sur trois décennies d'expérience
- Optimise
- l'optimisation
- Oregon
- Autre
- au contrôle
- propre
- Parallèle
- paramètre
- paramètres
- partie
- En passant
- passion
- performant
- période
- Plaintext
- plateforme
- Platon
- Intelligence des données Platon
- PlatonDonnées
- Jouez
- Point
- positif
- Post
- défaillances
- l'éventualité
- power
- alimenté
- prix
- qui se déroulent
- processus
- les process
- traitement
- Puissance de calcul
- processeurs
- Produit
- chef de produit
- Vidéo
- fournit
- aportando
- but
- Poussant
- Python
- pytorch
- question
- vite.
- PLUIE
- gamme
- votes
- en temps réel
- reconnaissance
- Recommandation
- réduire
- régions
- Standard
- conditions
- Exigences
- a besoin
- responsables
- résultat
- Résultats
- Avis
- Avis
- Courir
- pour le running
- s
- sagemaker
- même
- Épargnes
- dit
- Escaliers intérieurs
- scientifiques
- Sdk
- SEC
- choisi
- sémantique
- supérieur
- phrase
- séparé
- Séquence
- Serveurs
- service
- Services
- set
- montrer
- montré
- similaires
- étapes
- Taille
- Logiciels
- développement de logiciels
- Software Engineer
- Solutions
- disponible
- travées
- spécialisé
- spécialise
- discours
- Reconnaissance vocale
- départs
- state-of-the-art
- étapes
- Étapes
- Encore
- tel
- Support
- Les soutiens
- Système
- table
- prend
- prise
- tâches
- équipe
- Technique
- Technologie
- tester
- Classification du texte
- qui
- Les
- La Région
- leur
- Les
- Ces
- chose
- milliers
- trois
- débit
- fiable
- fois
- Titre
- à
- jeton
- les outils
- torche
- Traçant
- Train
- qualifié
- Formation
- les trains
- transformateurs
- déclencher
- types
- comprendre
- unité
- us
- utilisé
- cas d'utilisation
- Utilisateur
- Plus-value
- divers
- Vidéo
- Virginie
- vision
- VOIX
- Semaines
- Ouest
- Quoi
- qui
- blanc
- WHO
- large
- Large gamme
- sera
- comprenant
- sans
- Activités principales
- de travail
- envelopper
- code écrit
- années
- jeune
- Votre
- zéphyrnet