Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Commencer à SageMaker HyperPod utiliser la console SageMaker AI
Le didacticiel suivant explique comment créer un nouveau SageMaker HyperPod cluster et le configurer avec Slurm via l'interface utilisateur de la console SageMaker AI. À la suite du didacticiel, vous allez créer un HyperPod cluster avec trois nœuds Slurm, my-controller-groupmy-login-group, et. worker-group-1
Note
HyperPod permet désormais de créer des clusters Slurm sans scripts de cycle de vie. Vous pouvez créer un cluster entièrement fonctionnel à l'aide de AMI-based la configuration, l'étendre avec un script d'extension ou continuer à utiliser des scripts de cycle de vie personnalisés pour un contrôle total.
Rubriques
Création d’un cluster
Pour accéder à la page SageMaker HyperPod Clusters et choisir Slurm Orchestration, procédez comme suit.
Ouvrez la console Amazon SageMaker AI à l'adresse https://console.aws.amazon.com/sagemaker/
. -
Choisissez HyperPod Clusters dans le volet de navigation de gauche, puis Gestion des clusters.
-
Sur la page SageMaker HyperPod Clusters, choisissez Create HyperPod cluster.
-
Dans le menu déroulant Créer un HyperPod cluster, choisissez Orchestrated by Slurm.
-
Sur la page de création du cluster Slurm, vous verrez deux options. Choisissez celle qui correspond le mieux à vos besoins.
-
Configuration rapide : pour commencer immédiatement avec les paramètres par défaut, choisissez Configuration rapide. Avec cette option, l' SageMaker IA créera de nouvelles ressources telles que du VPC, des sous-réseaux, des groupes de sécurité, un compartiment Amazon S3, un rôle IAM et FSx for Lustre lors de la création de votre cluster.
-
Configuration personnalisée : pour intégrer des ressources AWS existantes ou pour respecter des exigences spécifiques de mise en réseau, de sécurité ou de stockage, choisissez Configuration personnalisée. Avec cette option, vous pouvez choisir d’utiliser les ressources existantes ou d’en créer de nouvelles, et vous pouvez personnaliser la configuration qui répond le mieux à vos besoins.
-
Dans la section Configuration rapide, suivez ces étapes pour créer votre HyperPod cluster avec l'orchestration Slurm.
Paramètres généraux
Attribuez un nom au nouveau cluster. Vous ne pourrez pas modifier le nom après la création du cluster.
Groupes d’instances
Pour ajouter un groupe d’instances, choisissez Ajouter un groupe. Chaque groupe d’instances peut être configuré différemment et vous pouvez créer un cluster hétérogène composé de plusieurs groupes d’instances avec divers types d’instances. Pour déployer un cluster, vous devez ajouter au moins un groupe d’instances pour les types de groupe Contrôleur et Calcul.
Important
Vous pouvez ajouter un seul groupe d’instances à la fois. Pour créer plusieurs groupes d’instances, répétez le processus pour chaque groupe d’instances.
Procédez comme suit pour ajouter un groupe d’instances.
-
Pour Type de groupe d’instances, choisissez un type pour votre groupe d’instances. Pour ce didacticiel, choisissez Contrôleur (principal) pour
my-controller-group, Connexion pourmy-login-groupet Calcul (travail) pourworker-group-1. -
Pour Nom, spécifiez le nom du groupe d’instances. Pour ce didacticiel, créez trois groupes d’instances nommés
my-controller-group,my-login-groupetworker-group-1. -
Pour Capacité de l’instance, choisissez une capacité à la demande ou un plan d’entraînement pour réserver vos ressources de calcul.
-
Pour Type d’instance, choisissez l’instance pour le groupe d’instances. Pour ce didacticiel, sélectionnez
ml.c5.xlargepourmy-controller-group,ml.m5.4xlargepourmy-login-groupetml.trn1.32xlargepourworker-group-1.Important
Veillez à choisir un type d’instance doté de quotas suffisants et suffisamment d’adresses IP non attribuées pour votre compte. Pour consulter ou demander des quotas supplémentaires, consultez SageMaker HyperPod quotas.
-
Pour Quantité d’instances, spécifiez un entier ne dépassant pas le quota d’instances pour l’utilisation du cluster. Pour ce didacticiel, entrez 1 pour les trois groupes.
-
Pour Zone de disponibilité cible, choisissez la zone de disponibilité dans laquelle vos instances seront provisionnées. La zone de disponibilité doit correspondre à l’emplacement de votre capacité de calcul accélérée.
-
Pour Autre volume de stockage par instance (Go) – facultatif, spécifiez un entier compris entre 1 et 16 384 pour définir la taille d’un volume Elastic Block Store (EBS) supplémentaire en gigaoctets (Go). Le volume EBS est attaché à chaque instance du groupe d’instances. Le chemin de montage par défaut pour le volume EBS supplémentaire est
/opt/sagemaker. Une fois le cluster créé avec succès, vous pouvez accéder par SSH aux instances du cluster (nœuds) et vérifier si le volume EBS est correctement monté en exécutant la commandedf -h. L’attachement d’un volume EBS supplémentaire fournit un stockage stable, hors instance et persistant de manière indépendante, comme décrit dans la section Volumes Amazon EBS du Guide de l’utilisateur Amazon Elastic Block Store. -
Choisissez Ajouter un groupe d’instances.
Paramètres par défaut de configuration rapide
Cette section répertorie tous les paramètres par défaut pour la création de votre cluster, y compris toutes les nouvelles AWS ressources qui seront créées au cours du processus de création du cluster. Passez en revue les paramètres par défaut.
Note
La configuration rapide utilise automatiquement les scripts de cycle de vie par défaut. La nouvelle option AMI-based de configuration (aucun script de cycle de vie) n'est disponible que via la configuration personnalisée. Si vous souhaitez créer un cluster sans scripts de cycle de vie, choisissez Configuration personnalisée et sélectionnez Aucun sous Scripts de cycle de vie.
Dans la section Configuration personnalisée, suivez ces étapes pour créer votre HyperPod cluster avec l'orchestration Slurm.
Paramètres généraux
Attribuez un nom au nouveau cluster. Vous ne pourrez pas modifier le nom après la création du cluster.
Pour Restauration d’instance, choisissez Automatique – recommandé ou Aucun.
Réseaux
Configurez vos paramètres réseau pour la création du cluster. Ces paramètres ne pourront pas être modifiés après la création du cluster.
-
Pour le VPC, choisissez votre propre VPC si vous en avez déjà un qui permet à l' SageMaker IA d'accéder à votre VPC. Pour créer un nouveau VPC, suivez les instructions de la section Création d’un VPC dans le Guide de l’utilisateur Amazon Virtual Private Cloud. Vous pouvez le laisser sur Aucun pour utiliser le VPC SageMaker AI par défaut.
-
Pour Bloc CIDR IPv4 du VPC, entrez l’adresse IP de départ de votre VPC.
-
Pour les zones de disponibilité, choisissez les zones de disponibilité (AZ) dans lesquelles HyperPod vous créerez des sous-réseaux pour votre cluster. Choisissez des AZ correspondant à l’emplacement de votre capacité de calcul accéléré.
-
Pour Groupes de sécurité, créez un groupe de sécurité ou choisissez jusqu’à cinq groupes de sécurité configurés avec des règles permettant la communication entre les ressources au sein du VPC.
Groupes d’instances
Pour ajouter un groupe d’instances, choisissez Ajouter un groupe. Chaque groupe d’instances peut être configuré différemment et vous pouvez créer un cluster hétérogène composé de plusieurs groupes d’instances avec divers types d’instances. Pour déployer un cluster, vous devez ajouter au moins un groupe d’instances.
Important
Vous pouvez ajouter un seul groupe d’instances à la fois. Pour créer plusieurs groupes d’instances, répétez le processus pour chaque groupe d’instances.
Procédez comme suit pour ajouter un groupe d’instances.
-
Pour Type de groupe d’instances, choisissez un type pour votre groupe d’instances. Pour ce didacticiel, choisissez Contrôleur (principal) pour
my-controller-group, Connexion pourmy-login-groupet Calcul (travail) pourworker-group-1. -
Pour Nom, spécifiez le nom du groupe d’instances. Pour ce didacticiel, créez trois groupes d’instances nommés
my-controller-group,my-login-groupetworker-group-1. -
Pour Capacité de l’instance, choisissez une capacité à la demande ou un plan d’entraînement pour réserver vos ressources de calcul.
-
Pour Type d’instance, choisissez l’instance pour le groupe d’instances. Pour ce didacticiel, sélectionnez
ml.c5.xlargepourmy-controller-group,ml.m5.4xlargepourmy-login-groupetml.trn1.32xlargepourworker-group-1.Important
Veillez à choisir un type d’instance doté de quotas suffisants et suffisamment d’adresses IP non attribuées pour votre compte. Pour consulter ou demander des quotas supplémentaires, consultez SageMaker HyperPod quotas.
-
Pour Quantité d’instances, spécifiez un entier ne dépassant pas le quota d’instances pour l’utilisation du cluster. Pour ce didacticiel, entrez 1 pour les trois groupes.
-
Pour Zone de disponibilité cible, choisissez la zone de disponibilité dans laquelle vos instances seront provisionnées. La zone de disponibilité doit correspondre à l’emplacement de votre capacité de calcul accélérée.
-
Pour Autre volume de stockage par instance (Go) – facultatif, spécifiez un entier compris entre 1 et 16 384 pour définir la taille d’un volume Elastic Block Store (EBS) supplémentaire en gigaoctets (Go). Le volume EBS est attaché à chaque instance du groupe d’instances. Le chemin de montage par défaut pour le volume EBS supplémentaire est
/opt/sagemaker. Une fois le cluster créé avec succès, vous pouvez accéder par SSH aux instances du cluster (nœuds) et vérifier si le volume EBS est correctement monté en exécutant la commandedf -h. L’attachement d’un volume EBS supplémentaire fournit un stockage stable, hors instance et persistant de manière indépendante, comme décrit dans la section Volumes Amazon EBS du Guide de l’utilisateur Amazon Elastic Block Store. -
Pour le nom de partition Slurm (groupes de calcul uniquement), entrez le nom de partition Slurm pour ce groupe d'instances de calcul. Les partitions agissent comme des files d'attente logiques qui organisent la façon dont les tâches sont planifiées sur différents ensembles de nœuds.
-
Choisissez Ajouter un groupe d’instances.
Configuration du cycle de vie : en option
Configurez le mode de provisionnement des nœuds de votre cluster. Votre choix influe sur les exigences relatives aux compartiments Amazon S3, les besoins d'accès à Internet et la complexité du provisionnement. HyperPod prend en charge trois options de configuration du cycle de vie des nœuds, chacune offrant un niveau de contrôle différent sur le processus de provisionnement.
-
Pour les scripts Lifecycle, choisissez l'une des options suivantes pour contrôler la manière dont les nœuds sont provisionnés dans votre cluster :
-
Aucun : HyperPod configure les nœuds automatiquement à l'aide de AMI-based la configuration. Les démons Slurm, Docker, Enroot, Pyxis, la comptabilité Slurm avec MariaDB, la génération et la propagation de clés SSH, la rotation des journaux et la configuration du répertoire de base sont tous configurés sans aucun script ni compartiment Amazon S3. Tous les logiciels sont préemballés dans l'AMI, de sorte qu'aucun accès à Internet n'est requis lors du provisionnement. C'est le chemin le plus simple pour les nouveaux clusters.
-
Utiliser des scripts de cycle de vie par défaut : les scripts de cycle de vie par défaut sont chargés dans le compartiment Amazon S3 choisi et utilisés pour approvisionner des nœuds. Cette option utilise les scripts du référentiel Awsome Distributed Training
(ADTR). -
Utiliser des scripts de cycle de vie personnalisés : choisissez des scripts de cycle de vie dans un compartiment Amazon S3. Cela correspond au
OnCreatechemin dans l'API, où vos scripts possèdent l'intégralité de la séquence de provisionnement, y compris au démarrage de Slurm. HyperPod n'exécute pas AMI-based la configuration lorsque cette option est sélectionnée.
Le tableau suivant récapitule les trois options :
Option Qu' HyperPod est-ce que Vous avez besoin d'un compartiment Amazon S3 ? Besoin d'un accès à Internet ? Aucune (AMI-basedconfiguration) Configure automatiquement les nœuds avec Slurm et les packages essentiels Non Non Utiliser des scripts de cycle de vie par défaut Télécharge et exécute des scripts ADTR depuis Amazon S3 Oui Oui Utiliser des scripts de cycle de vie personnalisés Exécute vos scripts depuis Amazon S3 ; vous êtes propriétaire de la séquence d'approvisionnement complète Oui Cela dépend de vos scripts -
-
Pour le fichier de script d'extension dans S3, facultatif (apparaît lorsque vous choisissez Aucun dans Lifecycle scripts), entrez l'URI Amazon S3 de votre script d'extension. Le script d'extension vous permet de fournir des fonctionnalités facultatives supplémentaires, telles que l'observabilité, le démon des services de sécurité du système (SSSD) et le montage de compartiments Amazon S3, en plus des configurations par défaut, sans gérer l'ensemble complet des scripts de cycle de vie.
Entrez l'URI Amazon S3 complet dans le script du point d'entrée, par exemple :
s3://DOC-EXAMPLE-BUCKET/extensions/run_extensions.shHyperPod télécharge l'intégralité du dossier dans lequel réside le script du point d'entrée. Structurez votre dossier Amazon S3 de manière à ce que tous les fichiers de support se trouvent dans le même répertoire que le script du point d'entrée.
Note
Dans l'API, cela correspond à une spécification
OnInitCompletedansLifeCycleConfigwithSourceS3Uri. La console les combine dans un seul champ d'URI Amazon S3 pointant directement vers le script du point d'entrée.Astuce
Pour les scripts d'extension prêts à l'emploi, consultez le dossier Extensions dans le référentiel
Awsome Distributed Training. Le run_extensions.shscript orchestre plusieurs fonctionnalités à l'aide de simples bascules booléens pour activer ou désactiver chacune d'entre elles. -
Pour le compartiment S3 pour les scripts de cycle de vie (apparaît lorsque vous choisissez Utiliser des scripts de cycle de vie par défaut ou Utiliser des scripts de cycle de vie personnalisés), choisissez de créer un nouveau compartiment ou d'utiliser un compartiment existant pour stocker les scripts de cycle de vie.
Note
La configuration facultative du cycle de vie des nœuds n'est prise en charge que pour les Slurm-orchestrated clusters. EKS-orchestrated Les clusters Amazon et les clusters Slurm utilisant Continuous NodeProvisioningMode continuent de nécessiter des scripts de cycle de vie pour chaque groupe d'instances.
Note
L'option Aucun avec script d'extension et l'option Utiliser des scripts de cycle de vie personnalisés s'excluent mutuellement. Vous ne pouvez pas combiner AMI-based la configuration avec un script d'extension et des scripts de cycle de vie personnalisés sur le même groupe d'instances. Dans l'API, cela signifie OnCreate et OnInitComplete ne peut pas être spécifié ensemble.
Permissions
Choisissez ou créez un rôle IAM qui permet d'exécuter et HyperPod d'accéder aux AWS ressources nécessaires en votre nom.
Stockage
Configurez le système de fichiers FSx for Lustre à provisionner sur le HyperPod cluster. La configuration FSx est facultative pour la création de clusters mais recommandée pour les charges de travail ML de production.
-
Pour Système de fichiers, choisissez un système de fichiers FSx pour Lustre existant, pour créer un nouveau système de fichiers FSx pour Lustre, ou ne provisionnez pas de système de fichiers FSx pour Lustre.
-
Pour Débit par unité de stockage, choisissez le débit qui sera disponible par Tio de stockage provisionné.
-
Pour Capacité de stockage, entrez une valeur de capacité en To.
-
Pour Type de compression des données, choisissez LZ4 pour activer la compression des données.
-
Pour Version Lustre, consultez la valeur recommandée pour les nouveaux systèmes de fichiers.
Note
Lorsque vous utilisez AMI-based la configuration (en choisissant None dans les scripts Lifecycle) ou un script d'extension, HyperPod gère automatiquement le montage de FSx for Lustre. Lorsque vous utilisez des scripts de cycle de vie personnalisés, vos scripts sont responsables du montage du système de fichiers.
Balises - facultatif
Pour les balises (facultatif), ajoutez des paires clé/valeur au nouveau cluster et gérez le cluster en tant que AWS ressource. Pour en savoir plus, consultez Balisage de vos ressources AWS.
déployer des ressources ;
Après avoir terminé la configuration du cluster à l’aide de la configuration rapide ou de la configuration personnalisée, choisissez l’option suivante pour démarrer le provisionnement des ressources et la création du cluster.
-
Soumettre : SageMaker AI commencera à approvisionner les ressources de configuration par défaut et à créer le cluster.
-
Télécharger les paramètres du CloudFormation modèle : vous allez télécharger le fichier JSON des paramètres de configuration et exécuter la AWS CLI commande pour déployer la CloudFormation pile afin de provisionner les ressources de configuration et de créer le cluster. Vous pouvez modifier le fichier JSON de paramètres téléchargés si nécessaire. Si vous choisissez cette option, consultez des instructions supplémentaires dans Création de SageMaker HyperPod clusters à l'aide de CloudFormation modèles.
Suppression du cluster et nettoyage des ressources
Une fois que vous avez testé avec succès la création d'un SageMaker HyperPod cluster, celui-ci continue de fonctionner tel quel InService jusqu'à ce que vous le supprimiez. Nous vous recommandons de supprimer tous les clusters créés à l'aide d'instances d' SageMaker IA à la demande lorsqu'ils ne sont pas utilisés afin d'éviter de devoir payer des frais de service continus basés sur la tarification à la demande. Dans ce didacticiel, vous avez créé un cluster composé de deux groupes d’instances. L’un d’eux utilise une instance C5. Veillez donc à supprimer le cluster en suivant les instructions dans Supprimer un SageMaker HyperPod cluster.
Toutefois, si vous avez créé un cluster avec une capacité de calcul réservée, le statut des clusters n’a aucune incidence sur la facturation des services.
Si vous avez utilisé Utiliser des scripts de cycle de vie par défaut ou Utiliser des scripts de cycle de vie personnalisés, accédez au compartiment Amazon S3 que vous avez utilisé lors de la création du cluster et supprimez les fichiers de script de cycle de vie.
Si vous avez utilisé None (AMI-based configuration uniquement) sans script d'extension, aucun nettoyage Amazon S3 n'est nécessaire pour les scripts de cycle de vie.
Si vous avez utilisé None avec un script d'extension, nettoyez les fichiers de script d'extension du compartiment Amazon S3 que vous avez spécifié.
Si vous avez testé l’exécution de charges de travail sur le cluster, vérifiez si vous avez chargé des données ou si votre tâche a enregistré des artefacts dans différents compartiments S3 ou services de système de fichiers tels qu’Amazon FSx pour Lustre et Amazon Elastic File System. Pour éviter d’encourir des frais, supprimez tous les artefacts et toutes les données du stockage ou du système de fichiers.