Personnalisez les SageMaker HyperPod clusters à l'aide de scripts de cycle - Amazon SageMaker

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.

  1. 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.

  2. Préparez un provisioning_parameters.json fichier, qui est unFormulaire de configuration pour le provisionnement des nœuds Slurm sur HyperPod. provisioning_parameters.jsondoit 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.

  3. 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.jsoncontient 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.

  4. 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
  5. 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
  6. 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.

  7. 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.