Les développements récents en apprentissage automatique (ML) ont conduit à des modèles de plus en plus volumineux, dont certains nécessitent des centaines de milliards de paramètres. Bien qu’ils soient plus puissants, la formation et l’inférence sur ces modèles nécessitent des ressources informatiques importantes. Malgré la disponibilité de bibliothèques de formation distribuées avancées, il est courant que les tâches de formation et d'inférence nécessitent des centaines d'accélérateurs (GPU ou puces ML spécialement conçues telles que Formation AWS ainsi que les Inférence AWS), et donc des dizaines ou des centaines d'instances.
Dans de tels environnements distribués, l'observabilité des instances et des puces ML devient essentielle pour affiner les performances du modèle et optimiser les coûts. Les métriques permettent aux équipes de comprendre le comportement de la charge de travail, d'optimiser l'allocation et l'utilisation des ressources, de diagnostiquer les anomalies et d'augmenter l'efficacité globale de l'infrastructure. Pour les data scientists, l'utilisation et la saturation des puces ML sont également pertinentes pour la planification des capacités.
Cet article vous guide à travers le Modèle d'observabilité Open Source pour AWS Inferentia, qui vous montre comment surveiller les performances des puces ML, utilisées dans un Service Amazon Elastic Kubernetes (Amazon EKS), avec des nœuds de plan de données basés sur Cloud de calcul élastique Amazon (Amazon EC2) instances de type Inf1 ainsi que les Inf2.
Le motif fait partie du Accélérateur d'observabilité AWS CDK, un ensemble de modules avisés pour vous aider à définir l'observabilité des clusters Amazon EKS. L'AWS CDK Observability Accelerator est organisé autour de modèles, qui sont des unités réutilisables pour déployer plusieurs ressources. L'ensemble d'observabilité open source d'instruments de modèles d'observabilité avec Grafana géré par Amazon des tableaux de bord, un Distribution AWS pour OpenTelemetry collecteur pour collecter des métriques, et Service géré Amazon pour Prometheus pour les stocker.
Vue d'ensemble de la solution
Le diagramme suivant illustre l'architecture de la solution.
Cette solution déploie un cluster Amazon EKS avec un groupe de nœuds qui inclut des instances Inf1.
Le type AMI du groupe de nœuds est AL2_x86_64_GPU
, qui utilise le AMI Amazon Linux accélérée optimisée pour Amazon EKS. En plus de la configuration standard de l'AMI optimisée pour Amazon EKS, l'AMI accélérée inclut le Exécution NeuronX.
Pour accéder aux puces ML depuis Kubernetes, le modèle déploie le Neurone AWS plug-in de périphérique.
Les métriques sont exposées à Amazon Managed Service pour Prometheus par le neuron-monitor
DaemonSet, qui déploie un conteneur minimal, avec le Outils neurones installée. Plus précisément, le neuron-monitor
DaemonSet exécute le neuron-monitor
commande transmise au neuron-monitor-prometheus.py
script compagnon (les deux commandes font partie du conteneur) :
La commande utilise les composants suivants :
neuron-monitor
collecte des métriques et des statistiques à partir des applications Neuron exécutées sur le système et diffuse les données collectées vers la sortie standard Format JSONneuron-monitor-prometheus.py
mappe et expose les données de télémétrie du format JSON dans un format compatible Prometheus
Les données sont visualisées dans Amazon Managed Grafana par le tableau de bord correspondant.
Le reste de la configuration pour collecter et visualiser les métriques avec Amazon Managed Service pour Prometheus et Amazon Managed Grafana est similaire à celle utilisée dans d'autres modèles basés sur l'open source, qui sont inclus dans le AWS Observability Accelerator for CDK
Référentiel GitHub.
Pré-requis
Vous avez besoin des éléments suivants pour suivre les étapes décrites dans cet article :
Mettre en place l'environnement
Effectuez les étapes suivantes pour configurer votre environnement :
- Ouvrez une fenêtre de terminal et exécutez les commandes suivantes :
- Récupérez les ID d'espace de travail de tout espace de travail Amazon Managed Grafana existant :
Voici notre exemple de sortie :
- Attribuer les valeurs de
id
ainsi que lesendpoint
aux variables d'environnement suivantes :
COA_AMG_ENDPOINT_URL
doit inclure https://
.
- Créez une clé API Grafana à partir de l'espace de travail Amazon Managed Grafana :
- Configurez un secret dans Gestionnaire de systèmes AWS:
Le secret sera accessible par le module complémentaire External Secrets et rendu disponible en tant que secret Kubernetes natif dans le cluster EKS.
Amorcer l'environnement AWS CDK
La première étape de tout déploiement AWS CDK consiste à amorcer l'environnement. Vous utilisez le cdk bootstrap
dans l'AWS CDK CLI pour préparer l'environnement (une combinaison de compte AWS et de région AWS) avec les ressources requises par AWS CDK pour effectuer des déploiements dans cet environnement. L'amorçage AWS CDK est nécessaire pour chaque combinaison de compte et de région. Par conséquent, si vous avez déjà démarré AWS CDK dans une région, vous n'avez pas besoin de répéter le processus d'amorçage.
Déployez la solution
Effectuez les étapes suivantes pour déployer la solution :
- Cloner le cdk-aws-observabilité-accélérateur référentiel et installez les packages de dépendances. Ce référentiel contient du code AWS CDK v2 écrit en TypeScript.
Les paramètres réels des fichiers JSON du tableau de bord Grafana doivent être spécifiés dans le contexte AWS CDK. Vous devez mettre à jour context
dans les cdk.json
fichier, situé dans le répertoire courant. L'emplacement du tableau de bord est précisé par le fluxRepository.values.GRAFANA_NEURON_DASH_URL
paramètre, et neuronNodeGroup
est utilisé pour définir le type d'instance, le numéro et Boutique de blocs élastiques Amazon (Amazon EBS) utilisée pour les nœuds.
- Entrez l'extrait suivant dans
cdk.json
, remplaçantcontext
:
Vous pouvez remplacer le type d'instance Inf1 par Inf2 et modifier la taille si nécessaire. Pour vérifier la disponibilité dans la région sélectionnée, exécutez la commande suivante (modifier Values
comme bon vous semble):
- Installez les dépendances du projet :
- Exécutez les commandes suivantes pour déployer le modèle d'observabilité open source :
Valider la solution
Effectuez les étapes suivantes pour valider la solution :
- Exécutez le
update-kubeconfig
commande. Vous devriez pouvoir obtenir la commande à partir du message de sortie de la commande précédente :
- Vérifiez les ressources que vous avez créées :
La capture d'écran suivante montre notre exemple de sortie.
- Assurez-vous que le
neuron-device-plugin-daemonset
DaemonSet est en cours d'exécution :
Voici notre résultat attendu :
- Confirmez que le
neuron-monitor
DaemonSet est en cours d'exécution :
Voici notre résultat attendu :
- Pour vérifier que les périphériques et les cœurs Neuron sont visibles, exécutez le
neuron-ls
ainsi que lesneuron-top
commandes provenant, par exemple, de votre pod neuron-monitor (vous pouvez obtenir le nom du pod à partir de la sortie dekubectl get pods -A
):
La capture d'écran suivante montre notre résultat attendu.
La capture d'écran suivante montre notre résultat attendu.
Visualisez les données à l'aide du tableau de bord Grafana Neuron
Connectez-vous à votre espace de travail Amazon Managed Grafana et accédez au Tableaux de bord panneau. Vous devriez voir un tableau de bord nommé Neurone / Moniteur.
Pour voir quelques métriques intéressantes sur le tableau de bord Grafana, nous appliquons le manifeste suivant :
Il s'agit d'un exemple de charge de travail qui compile le modèle torchvision ResNet50 et exécute des inférences répétitives dans une boucle pour générer des données de télémétrie.
Pour vérifier que le pod a été déployé avec succès, exécutez le code suivant :
Vous devriez voir un pod nommé pytorch-inference-resnet50
.
Après quelques minutes, en regardant dans le Neurone / Moniteur tableau de bord, vous devriez voir les métriques collectées similaires aux captures d'écran suivantes.
Grafana Operator et Flux travaillent toujours ensemble pour synchroniser vos tableaux de bord avec Git. Si vous supprimez vos tableaux de bord par accident, ils seront automatiquement réapprovisionnés.
Nettoyer
Vous pouvez supprimer l'intégralité de la pile AWS CDK avec la commande suivante :
Conclusion
Dans cet article, nous vous avons montré comment introduire l'observabilité, avec des outils open source, dans un cluster EKS doté d'un plan de données exécutant des instances EC2 Inf1. Nous avons commencé par sélectionner l'AMI accélérée optimisée pour Amazon EKS pour les nœuds du plan de données, qui inclut le runtime du conteneur Neuron, donnant accès aux appareils AWS Inferentia et Trainium Neuron. Ensuite, pour exposer les cœurs et les appareils Neuron à Kubernetes, nous avons déployé le plugin de périphérique Neuron. La collecte et le mappage réels des données de télémétrie dans un format compatible Prometheus ont été réalisés via neuron-monitor
ainsi que les neuron-monitor-prometheus.py
. Les métriques proviennent d'Amazon Managed Service pour Prometheus et sont affichées sur le tableau de bord Neuron d'Amazon Managed Grafana.
Nous vous recommandons d'explorer des modèles d'observabilité supplémentaires dans le Accélérateur d'observabilité AWS pour CDK Dépôt GitHub. Pour en savoir plus sur Neuron, reportez-vous au Documentation AWS Neuron.
À propos de l’auteur
Riccardo Freschi est un architecte de solutions senior chez AWS, spécialisé dans la modernisation des applications. Il travaille en étroite collaboration avec les partenaires et les clients pour les aider à transformer leurs paysages informatiques dans leur transition vers le cloud AWS en refactorisant les applications existantes et en en créant de nouvelles.
- 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/open-source-observability-for-aws-inferentia-nodes-within-amazon-eks-clusters/
- :est
- $UP
- 09
- 1
- 100
- 15%
- 20
- 23
- 30
- 600
- 7
- 8
- 9
- 900
- a
- Capable
- Qui sommes-nous
- au dessus de
- accéléré
- accélérateur
- accélérateurs
- accès
- accédé
- accident
- Compte
- atteint
- infection
- présenter
- Choisir
- ajout
- Supplémentaire
- admin
- Avancée
- âge
- allocation
- permettre
- déjà
- aussi
- Bien que
- toujours
- Amazon
- Amazon EC2
- Grafana géré par Amazon
- Amazon Web Services
- an
- ainsi que les
- anomalies
- tous
- api
- Application
- applications
- Appliquer
- architecture
- SONT
- autour
- AS
- At
- Authentification
- automatiquement
- disponibilité
- disponibles
- AWS
- Inférence AWS
- basé
- BE
- devient
- humain
- milliards
- Block
- Bootstrap
- amorçage
- tous les deux
- construire
- Développement
- by
- CAN
- Peut obtenir
- Compétences
- CD
- Change
- vérifier
- chips
- cli
- étroitement
- le cloud
- Grappe
- code
- recueillir
- collection
- collectionneur
- recueille
- COM
- combinaison
- commander
- Commun
- compagnon
- complet
- composants électriques
- calcul
- calcul
- configuration
- Contenant
- contient
- contexte
- Correspondant
- Prix
- créée
- Courant
- Clients
- tableau de bord
- tableaux de bord
- données
- dépendances
- Dépendance
- déployer
- déployé
- déployer
- déploiement
- déploiements
- déploie
- la description
- voulu
- Malgré
- développements
- dispositif
- Compatibles
- diagramme
- annuaire
- dans
- distribué
- formation distribuée
- Ne pas
- e
- chacun
- efficace
- Endpoint
- Environment
- environnements
- exemple
- existant
- attendu
- explorez
- Exporter
- exposé
- externe
- Doté d'
- few
- Déposez votre dernière attestation
- Fichiers
- Prénom
- s'adapter
- FLUX
- mettant l'accent
- Abonnement
- Pour
- le format
- de
- recueillies
- générer
- obtenez
- Git
- GitHub
- GPU
- Réservation de groupe
- Vous avez
- he
- vous aider
- Comment
- How To
- HTML
- http
- HTTPS
- Des centaines
- i
- ID
- ids
- if
- illustre
- in
- Dans d'autres
- comprendre
- inclus
- inclut
- Y compris
- Améliore
- de plus en plus
- Infrastructure
- installer
- Installé
- instance
- instruments
- intéressant
- développement
- introduire
- IT
- Emplois
- chemin
- json
- ACTIVITES
- paysages
- gros
- APPRENTISSAGE
- apprentissage
- LED
- bibliothèques
- linux
- situé
- emplacement
- recherchez-
- click
- machine learning
- LES PLANTES
- Entrée
- a prendre une
- gérés
- cartographie
- Map
- message
- Métrique
- minimal
- Minutes
- ML
- modèle
- numériques jumeaux (digital twin models)
- modernisation
- modifié
- Modules
- Surveiller
- PLUS
- plusieurs
- prénom
- Nommé
- indigène
- NAVIGUER
- Besoin
- nécessaire
- Besoins
- Nouveauté
- nœud
- nœuds
- nombre
- of
- on
- et, finalement,
- ouvert
- open source
- opérateur
- Dogmatique
- à mettre en œuvre pour gérer une entreprise rentable. Ce guide est basé sur trois décennies d'expérience
- Optimiser
- optimisé
- or
- Organisé
- Autre
- nos
- sortie
- global
- Forfaits
- panneau
- paramètre
- paramètres
- partie
- partenaires,
- chemin
- Patron de Couture
- motifs
- Effectuer
- performant
- avion
- et la planification de votre patrimoine
- Platon
- Intelligence des données Platon
- PlatonDonnées
- plug-in
- Post
- solide
- Préparer
- précédent
- processus
- Projet
- protocole
- fournisseurs
- aportando
- solutions
- recommander
- reportez-vous
- région
- pertinent
- répéter
- répétitif
- remplacer
- dépôt
- exigent
- conditions
- ressource
- Resources
- REST
- réutilisable
- Courir
- pour le running
- fonctionne
- d'exécution
- échantillon
- scientifiques
- screenshots
- scénario
- secret
- secrets
- sur le lien
- choisi
- la sélection
- service
- Services
- set
- Paramétres
- installation
- devrait
- montré
- Spectacles
- significative
- similaires
- Taille
- Fragment
- So
- sur mesure
- Solutions
- quelques
- Identifier
- source
- spécifiquement
- spécifié
- empiler
- Standard
- j'ai commencé
- stats
- Statut
- étapes
- Étapes
- Boutique
- flux
- Avec succès
- tel
- sûr
- combustion propre
- Système
- équipes
- dizaines
- terminal
- texte
- qui
- Les
- leur
- Les
- puis
- donc
- l'ont
- this
- ceux
- Avec
- à
- ensemble
- Formation
- Transformer
- type
- Manuscrit
- comprendre
- unités
- mise à jour
- Mises à jour
- utilisé
- d'utiliser
- Usages
- en utilisant
- VALIDER
- Valeurs
- vérifier
- via
- visible
- visualiser
- marche
- était
- we
- web
- services Web
- ont été
- qui
- la totalité
- sera
- fenêtre
- comprenant
- dans les
- sans
- activités principales
- travailler ensemble
- vos contrats
- code écrit
- Vous n'avez
- Votre
- zéphyrnet