Personalizzazione dei SageMaker HyperPod cluster utilizzando script del ciclo di vita - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Personalizzazione dei SageMaker HyperPod cluster utilizzando script del ciclo di vita

SageMaker HyperPod offre sempre cluster di up-and-running calcolo, che sono altamente personalizzabili in quanto è possibile scrivere script del ciclo di vita per indicare come configurare le risorse del cluster. SageMaker HyperPod Gli argomenti seguenti sono le best practice per preparare gli script del ciclo di vita per configurare SageMaker HyperPod i cluster con strumenti open source per la gestione del carico di lavoro.

Negli argomenti seguenti vengono illustrate le best practice approfondite per la preparazione degli script del ciclo di vita su cui configurare le configurazioni Slurm. SageMaker HyperPod

Panoramica generale

La procedura seguente è il flusso principale per il provisioning di un HyperPod cluster e la sua configurazione con Slurm. Le fasi sono in ordine, in base a un approccio dal basso verso l’alto.

  1. Pianifica come vuoi creare i nodi Slurm su un cluster. HyperPod Ad esempio, se desideri configurare due nodi Slurm, dovrai configurare due gruppi di istanze in un cluster. HyperPod

  2. Prepara un provisioning_parameters.json file, che è un. Modulo di configurazione per il provisioning dei nodi Slurm su HyperPod provisioning_parameters.jsondeve contenere informazioni sulla configurazione del nodo Slurm da fornire sul cluster. HyperPod Questo file dovrebbe riflettere la progettazione dei nodi Slurm della Fase 1.

  3. Prepara un set di script del ciclo di vita su cui configurare Slurm per installare pacchetti software e configurare un ambiente nel cluster adatto HyperPod al tuo caso d'uso. È necessario strutturare gli script del ciclo di vita in modo che vengano eseguiti collettivamente in ordine in uno script Python centrale (lifecycle_script.py), oltre a scrivere uno script shell del punto di ingresso (on_create.sh) per eseguire lo script Python. Lo script di shell entrypoint è ciò che devi fornire a una richiesta di creazione di HyperPod cluster più avanti nel Passaggio 5.

    Inoltre, si noti che è necessario scrivere gli script in modo da aspettarsi resource_config.json che vengano generati HyperPod durante la creazione del cluster. resource_config.jsoncontiene informazioni sulle risorse del HyperPod cluster come indirizzi IP, tipi di istanze e ARNs, ed è ciò che è necessario utilizzare per configurare Slurm.

  4. Raccogli tutti i file delle fasi precedenti in una cartella.

    └── 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. Carica tutti i file in un bucket S3. Copia e annota il percorso del bucket S3. Ricorda di creare un percorso del bucket S3 che inizi con sagemaker-, perché dovrai scegliere un percorso del Ruolo IAM per SageMaker HyperPod collegato a AmazonSageMakerClusterInstanceRolePolicy, che consente solo i percorsi dei bucket S3 che iniziano con il prefisso sagemaker-. Di seguito è riportato un comando di esempio per caricare tutti i file in un bucket S3.

    aws s3 cp --recursive ./lifecycle_files s3://sagemaker-hyperpod-lifecycle/src
  6. Prepara una richiesta di creazione HyperPod del cluster.

    • Opzione 1: se utilizzi ilAWS CLI, scrivi una richiesta di creazione del cluster in formato JSON (create_cluster.json) seguendo le istruzioni all'indirizzoCreazione di un nuovo cluster.

    • Opzione 2: se utilizzi l'interfaccia utente della console SageMaker AI, compila il modulo di richiesta Crea un cluster nell'interfaccia utente della HyperPod console seguendo le istruzioni riportate all'indirizzoCreazione di un cluster SageMaker HyperPod .

    In questa fase, assicurati di creare gruppi di istanze nella stessa struttura pianificata nelle Fasi 1 e 2. Inoltre, assicurati di specificare il bucket S3 della Fase 5 nei moduli di richiesta.

  7. Invia la richiesta di creazione del cluster. HyperPod esegue il provisioning di un cluster in base alla richiesta, quindi crea un resource_config.json file nelle istanze del HyperPod cluster e configura Slurm sul cluster che esegue gli script del ciclo di vita.

I seguenti argomenti illustrano e approfondiscono i dettagli su come organizzare i file di configurazione e gli script del ciclo di vita in modo che funzionino correttamente durante la creazione del cluster. HyperPod