Personalice SageMaker HyperPod los clústeres mediante scripts de ciclo de vida - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Personalice SageMaker HyperPod los clústeres mediante scripts de ciclo de vida

SageMaker HyperPod siempre ofrece up-and-running clústeres de procesamiento, que son altamente personalizables, ya que puede escribir scripts de ciclo de vida que indiquen SageMaker HyperPod cómo configurar los recursos del clúster. Los siguientes temas son prácticas recomendadas para preparar scripts de ciclo de vida para configurar SageMaker HyperPod clústeres con herramientas de gestión de cargas de trabajo de código abierto.

En los siguientes temas, se analizan en profundidad las mejores prácticas para preparar scripts de ciclo de vida para configurar las configuraciones de Slurm. SageMaker HyperPod

Descripción general de alto nivel

El siguiente procedimiento es el flujo principal de aprovisionamiento de un HyperPod clúster y su configuración con Slurm. Los pasos se ordenan siguiendo un enfoque de abajo hacia arriba.

  1. Planifique cómo quiere crear los nodos de Slurm en un clúster. HyperPod Por ejemplo, si quieres configurar dos nodos de Slurm, tendrás que configurar dos grupos de instancias en un clúster. HyperPod

  2. Prepara un provisioning_parameters.json archivo, que es un. Formulario de configuración para aprovisionar nodos de Slurm en HyperPod provisioning_parameters.jsondebe contener la información de configuración del nodo de Slurm que se va a aprovisionar en el clúster. HyperPod Esto debería reflejar el diseño de los nodos de Slurm del paso 1.

  3. Prepare un conjunto de scripts de ciclo de vida para configurar Slurm, HyperPod instalar paquetes de software y configurar un entorno en el clúster para su caso de uso. Debe estructurar los scripts del ciclo de vida para que se ejecuten colectivamente en orden en un script de Python central (lifecycle_script.py) y escribir un script de shell de punto de entrada (on_create.sh) para ejecutar el script de Python. El script de shell de punto de entrada es lo que debe proporcionar a una solicitud de creación de HyperPod clústeres más adelante en el paso 5.

    Además, tenga en cuenta que debe escribir los scripts para esperar resource_config.json que se generen HyperPod durante la creación del clúster. resource_config.jsoncontiene información sobre los recursos del HyperPod clúster, como las direcciones IP, los tipos de instancias yARNs, y es lo que debe usar para configurar Slurm.

  4. Reúna todos los archivos de los pasos anteriores en una carpeta.

    └── 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. Cargue todos los archivos en un bucket de S3. Copie y conserve la ruta del depósito de S3. Tenga en cuenta que debe crear una ruta de bucket de S3 empezando por, sagemaker- ya que tiene que elegir una conexión IAMrol para SageMaker HyperPod con AmazonSageMakerClusterInstanceRolePolicy, que solo permite las rutas de bucket de S3 que comiencen con el prefijosagemaker-. El siguiente comando es un ejemplo de comando para cargar todos los archivos en un bucket de S3.

    aws s3 cp --recursive ./lifecycle_files s3://sagemaker-hyperpod-lifecycle/src
  6. Prepare una solicitud HyperPod de creación de clústeres.

    • Opción 1: Si utiliza el AWS CLI, escriba una solicitud de creación de clústeres en el JSON formato (create_cluster.json) siguiendo las instrucciones que se indican enCree un clúster nuevo.

    • Opción 2: Si utiliza la interfaz de usuario de la SageMaker consola, rellene el formulario de solicitud de creación de un clúster en la interfaz de usuario de la HyperPod consola siguiendo las instrucciones que se indican enCrea un SageMaker HyperPod clúster.

    En esta etapa, asegúrate de crear grupos de instancias con la misma estructura que planeaste en los pasos 1 y 2. Además, asegúrate de especificar el depósito de S3 del paso 5 en los formularios de solicitud.

  7. Envíe la solicitud de creación del clúster. HyperPod aprovisiona un clúster en función de la solicitud y, a continuación, crea un resource_config.json archivo en las instancias del HyperPod clúster y configura Slurm en el clúster ejecutando los scripts del ciclo de vida.

En los siguientes temas se explica y profundiza en los detalles sobre cómo organizar los archivos de configuración y los scripts del ciclo de vida para que funcionen correctamente durante la creación del HyperPod clúster.