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.
Personnalisez les SageMaker HyperPod clusters à l'aide de scripts de cycle
SageMaker HyperPod propose toujours des clusters de up-and-running calcul, qui sont hautement personnalisables car vous pouvez écrire des scripts de cycle de vie pour indiquer SageMaker HyperPod comment configurer les ressources du cluster. Les rubriques suivantes présentent les meilleures pratiques pour préparer des scripts de cycle de vie afin de configurer des SageMaker HyperPod clusters avec des outils de gestion de charge de travail open source.
Les rubriques suivantes présentent en détail les meilleures pratiques pour préparer des scripts de cycle de vie sur lesquels configurer les configurations Slurm. SageMaker HyperPod
Aperçu de haut niveau
La procédure suivante est le flux principal du provisionnement d'un HyperPod cluster et de sa configuration avec Slurm. Les étapes sont classées selon une approche ascendante.
-
Planifiez la manière dont vous souhaitez créer des nœuds Slurm sur un HyperPod cluster. Par exemple, si vous souhaitez configurer deux nœuds Slurm, vous devez configurer deux groupes d'instances dans un HyperPod cluster.
-
Préparez un
provisioning_parameters.json
fichier, qui est unFormulaire de configuration pour le provisionnement des nœuds Slurm sur HyperPod.provisioning_parameters.json
doit contenir les informations de configuration du nœud Slurm à provisionner sur le cluster. HyperPod Cela doit refléter la conception des nœuds Slurm de l'étape 1. -
Préparez un ensemble de scripts de cycle de vie pour configurer Slurm HyperPod afin d'installer des packages logiciels et de configurer un environnement dans le cluster adapté à votre cas d'utilisation. Vous devez structurer les scripts de cycle de vie de manière à ce qu'ils s'exécutent collectivement dans un script Python central (
lifecycle_script.py
), et écrire un script shell point d'entrée (on_create.sh
) pour exécuter le script Python. Le script shell entrypoint est ce que vous devez fournir à une demande de création de HyperPod cluster plus tard à l'étape 5.Notez également que vous devez écrire les scripts dans lesquels vous vous attendez à ce
resource_config.json
qu'ils soient générés HyperPod lors de la création du cluster.resource_config.json
contient des informations sur les ressources du HyperPod cluster telles que les adresses IP, les types d'instances etARNs, et c'est ce que vous devez utiliser pour configurer Slurm. -
Rassemblez tous les fichiers des étapes précédentes dans un dossier.
└── lifecycle_files // your local folder ├── provisioning_parameters.json ├── on_create.sh ├── lifecycle_script.py └── ... // more setup scrips to be fed into lifecycle_script.py
-
Téléchargez tous les fichiers dans un compartiment S3. Copiez et conservez le chemin du compartiment S3. Notez que vous devez créer un chemin de compartiment S3 commençant par,
sagemaker-
car vous devez choisir un chemin IAMrôle pour SageMaker HyperPod attaché avec AmazonSageMakerClusterInstanceRolePolicy, qui n'autorise que les chemins de compartiment S3 commençant par le préfixesagemaker-
. La commande suivante est un exemple de commande permettant de télécharger tous les fichiers dans un compartiment S3.aws s3 cp --recursive
./lifecycle_files
s3://sagemaker-hyperpod-lifecycle/src
-
Préparez une demande HyperPod de création de cluster.
-
Option 1 : Si vous utilisez le AWS CLI, rédigez une demande de création de cluster au JSON format (
create_cluster.json
) en suivant les instructions deCréation d'un nouveau cluster. -
Option 2 : Si vous utilisez l'interface utilisateur de la SageMaker console, remplissez le formulaire de demande de cluster dans l'interface utilisateur de la HyperPod console en suivant les instructions deCréation d'un SageMaker HyperPod cluster.
À ce stade, assurez-vous de créer des groupes d'instances dans la même structure que celle que vous avez planifiée aux étapes 1 et 2. Assurez-vous également de spécifier le compartiment S3 à l'étape 5 dans les formulaires de demande.
-
-
Soumettez la demande de création de cluster. HyperPod approvisionne un cluster en fonction de la demande, puis crée un
resource_config.json
fichier dans les instances du HyperPod cluster et configure Slurm sur le cluster exécutant les scripts de cycle de vie.
Les rubriques suivantes vous expliquent en détail comment organiser les fichiers de configuration et les scripts de cycle de vie pour qu'ils fonctionnent correctement lors de la création de HyperPod clusters.
Rubriques
- Commencez par les scripts de cycle de vie de base fournis par HyperPod
- Quelles configurations particulières sont HyperPod gérées dans les fichiers de configuration de Slurm
- Monter Amazon FSx for Lustre sur un HyperPod cluster
- Validez les fichiers JSON de configuration avant de créer un cluster Slurm sur HyperPod
- Validez le temps d'exécution avant d'exécuter des charges de travail de production sur un cluster Slurm sur HyperPod
- Développez des scripts de cycle de vie de manière interactive sur un nœud de HyperPod cluster
- Mettre à jour un cluster avec des scripts de cycle de vie nouveaux ou mis à jour