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

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

  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 de ciclo de vida para que se ejecuten de forma colectiva y en orden en un script de Python central (lifecycle_script.py) y escribir un script de intérprete de comandos 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 y ARNs, 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 bucket de S3. Tenga en cuenta que debe crear una ruta de bucket de S3 que empiece por sagemaker-, ya que tiene que elegir un Función de IAM para SageMaker HyperPod asociado a AmazonSageMakerClusterInstanceRolePolicy, que solo permite las rutas de bucket de S3 que comienzan con el prefijo sagemaker-. 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 de creación HyperPod de clústeres.

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

    • Opción 2: Si utilizas la interfaz de usuario de la consola de SageMaker IA, rellena 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 fase, asegúrese de crear grupos de instancias en la misma estructura que planeó en los pasos 1 y 2. Además, asegúrese de especificar el bucket de S3 del paso 5 en los formularios de solicitud.

  7. Envía 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.