SageMaker HyperPod prácticas recomendadas de configuración del 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.

SageMaker HyperPod prácticas recomendadas de configuración del 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 para indicar 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.

Prepare los scripts del ciclo de vida para configurar Slurm on SageMaker HyperPod

En los siguientes temas, se explica cómo preparar los scripts de ciclo de vida para configurar Slurm en ellos. SageMaker HyperPod

Descripción general de alto nivel

El siguiente procedimiento es el flujo principal del 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 Función de IAM 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 enCrea 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 enCree 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 la siguiente sección, 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.

Comience con los scripts básicos del ciclo de vida proporcionados por HyperPod

Esta sección explica todos los componentes del flujo básico de configuración de Slurm on con un HyperPod enfoque descendente. Comienza con la preparación de una solicitud de creación de HyperPod clústeres para ejecutarla y profundiza en la CreateCluster API estructura jerárquica hasta llegar a los scripts del ciclo de vida. Utilice los ejemplos de scripts de ciclo de vida que se proporcionan en el repositorio Awsome Distributed Training GitHub . Clona el repositorio ejecutando el siguiente comando.

git clone https://github.com/aws-samples/awsome-distributed-training/

Los scripts básicos del ciclo de vida para configurar un clúster de Slurm SageMaker HyperPod están disponibles en. 1.architectures/5.sagemaker_hyperpods/LifecycleScripts/base-config

cd awsome-distributed-training/1.architectures/5.sagemaker_hyperpods/LifecycleScripts/base-config

El siguiente diagrama de flujo muestra una descripción detallada de cómo se deben diseñar los scripts de ciclo de vida básicos. Las descripciones que aparecen debajo del diagrama y la guía de procedimientos explican cómo funcionan durante la HyperPod CreateCluster API llamada.

Un diagrama de flujo detallado de la creación de HyperPod clústeres y la estructura de los scripts del ciclo de vida.

Figura: Un diagrama de flujo detallado de la creación de HyperPod clústeres y la estructura de los scripts de ciclo de vida. (1) Las flechas discontinuas se dirigen al lugar en el que aparecen las casillas y muestran el flujo de preparación de los archivos de configuración y los scripts de ciclo de vida. Comienza con la preparación provisioning_parameters.json y el ciclo de vida de los scripts. Luego, se codifican lifecycle_script.py para una ejecución colectiva en orden. Y la ejecución del lifecycle_script.py script se realiza mediante el script on_create.sh shell, que se ejecutará en la terminal de la HyperPod instancia. (2) Las flechas continuas muestran el flujo principal de creación del HyperPod clúster y cómo se «invoca» o se «envía» a las casillas. on_create.shes obligatorio para la solicitud de creación de un clúster, ya sea en el formulario de solicitud de creación de un clúster de la interfaz de usuario de la consola create_cluster.json o en el formulario de solicitud de creación de un clúster. Tras enviar la solicitud, HyperPod ejecuta los scripts en CreateCluster API función de la información de configuración proporcionada en la solicitud y en los scripts del ciclo de vida. (3) La flecha punteada indica que la HyperPod plataforma crea instancias resource_config.json en el clúster durante el aprovisionamiento de los recursos del clúster. resource_config.jsoncontiene información sobre los recursos del HyperPod clúster, como el clústerARN, los tipos de instancias y las direcciones IP. Es importante tener en cuenta que debes preparar los scripts del ciclo de vida para que aparezcan en el resource_config.json archivo durante la creación del clúster. Para obtener más información, consulte la guía de procedimientos que aparece a continuación.

La siguiente guía de procedimientos explica lo que ocurre durante la creación HyperPod del clúster y cómo se diseñan los scripts del ciclo de vida básico.

  1. create_cluster.json— Para enviar una solicitud de creación de HyperPod clústeres, debe preparar un archivo de CreateCluster solicitud en JSON formato. En este ejemplo de mejores prácticas, asumimos que el archivo de solicitud tiene un nombrecreate_cluster.json. Escribe create_cluster.json para aprovisionar un HyperPod clúster con grupos de instancias. La mejor práctica es agregar la misma cantidad de grupos de instancias que la cantidad de nodos de Slurm que planeas configurar en el HyperPod clúster. Asegúrate de asignar nombres distintivos a los grupos de instancias que asignarás a los nodos de Slurm que planeas configurar.

    Además, debes especificar una ruta de depósito de S3 para almacenar todo el conjunto de archivos de configuración y scripts del ciclo de vida InstanceGroups.LifeCycleConfig.SourceS3Uri en el nombre del campo del formulario de CreateCluster solicitud, y especificar el nombre de archivo de un script de shell de punto de entrada (supongamos que lleva ese nombre). on_create.sh InstanceGroups.LifeCycleConfig.OnCreate

    nota

    Si utiliza el formulario de envío para crear un clúster en la interfaz de usuario de la HyperPod consola, la consola se encargará de rellenar y enviar la CreateCluster solicitud en su nombre y la ejecutará CreateCluster API en el backend. En este caso, no necesita crearcreate_cluster.json; en su lugar, asegúrese de especificar la información de configuración de clúster correcta en el formulario de envío de creación de un clúster.

  2. on_create.sh— Para cada grupo de instancias, debes proporcionar un script shell de punto de entrada para ejecutar comandoson_create.sh, ejecutar scripts para instalar paquetes de software y configurar el entorno de HyperPod clústeres con Slurm. Las dos cosas que debes preparar son una provisioning_parameters.json necesaria HyperPod para configurar Slurm y un conjunto de scripts de ciclo de vida para instalar paquetes de software. Este script debe escribirse para buscar y ejecutar los siguientes archivos, tal y como se muestra en el script de ejemplo que aparece en. on_create.sh

    nota

    Asegúrese de cargar todo el conjunto de scripts del ciclo de vida en la ubicación de S3 que especifiquecreate_cluster.json. También debe colocar el suyo provisioning_parameters.json en la misma ubicación.

    1. provisioning_parameters.json— Este es unFormulario de configuración para aprovisionar nodos de Slurm en HyperPod. El on_create.sh script busca este JSON archivo y define la variable de entorno para identificar la ruta al mismo. A través de este JSON archivo, puede configurar los nodos de Slurm y las opciones de almacenamiento, como Amazon FSx for Lustre for Slurm, con los que comunicarse. Enprovisioning_parameters.json, asegúrate de asignar los grupos de instancias del HyperPod clúster a los nodos de Slurm con los nombres que especificaste en create_cluster.json función de cómo planeas configurarlos.

      En el siguiente diagrama, se muestra un ejemplo de cómo se provisioning_parameters.json deben escribir los dos archivos create_cluster.json de JSON configuración para asignar grupos de HyperPod instancias a los nodos de Slurm. En este ejemplo, supongamos que se configuran tres nodos de Slurm: el nodo controlador (de administración), el nodo de inicio de sesión (que es opcional) y el nodo de cómputo (trabajador).

      sugerencia

      Para ayudarle a validar estos dos JSON archivos, el equipo de HyperPod servicio proporciona un script de validación,. validate-config.py Para obtener más información, consulte Valide los archivos JSON de configuración antes de crear un clúster de Slurm en HyperPod.

      Comparación directa entre archivos.json.

      Figura: Comparación directa entre la creación create_cluster.json de HyperPod clústeres y la configuración provisiong_params.json de Slurm. La cantidad de grupos de instancias create_cluster.json debe coincidir con la cantidad de nodos que deseas configurar como nodos de Slurm. En el caso del ejemplo de la figura, se configurarán tres nodos de Slurm en un HyperPod clúster de tres grupos de instancias. Debes asignar los grupos de instancias del HyperPod clúster a los nodos de Slurm especificando los nombres de los grupos de instancias en consecuencia.

    2. resource_config.json— Durante la creación del clúster, el lifecycle_script.py script se escribe esperando un resource_config.json archivo del mismo. HyperPod Este archivo contiene información sobre el clúster, como los tipos de instancias y las direcciones IP.

      Al ejecutar el CreateClusterAPI, HyperPod crea un archivo de configuración de recursos /opt/ml/config/resource_config.json basado en el create_cluster.json archivo. La ruta del archivo se guarda en la variable de entorno denominadaSAGEMAKER_RESOURCE_CONFIG_PATH.

      importante

      La HyperPod plataforma genera automáticamente el resource_config.json archivo y USTED NOT DEBE crearlo. El siguiente código sirve para mostrar un ejemplo de lo resource_config.json que se crearía a partir de la creación del clúster create_cluster.json en función del paso anterior, y para ayudarte a entender qué ocurre en el backend y cómo se resource_config.json vería un generado automáticamente.

      { "ClusterConfig": { "ClusterArn": "arn:aws:sagemaker:us-west-2:111122223333:cluster/abcde01234yz", "ClusterName": "your-hyperpod-cluster" }, "InstanceGroups": [ { "Name": "controller-machine", "InstanceType": "ml.c5.xlarge", "Instances": [ { "InstanceName": "controller-machine-1", "AgentIpAddress": "111.222.333.444", "CustomerIpAddress": "111.222.333.444", "InstanceId": "i-12345abcedfg67890" } ] }, { "Name": "login-group", "InstanceType": "ml.m5.xlarge", "Instances": [ { "InstanceName": "login-group-1", "AgentIpAddress": "111.222.333.444", "CustomerIpAddress": "111.222.333.444", "InstanceId": "i-12345abcedfg67890" } ] }, { "Name": "compute-nodes", "InstanceType": "ml.trn1.32xlarge", "Instances": [ { "InstanceName": "compute-nodes-1", "AgentIpAddress": "111.222.333.444", "CustomerIpAddress": "111.222.333.444", "InstanceId": "i-12345abcedfg67890" }, { "InstanceName": "compute-nodes-2", "AgentIpAddress": "111.222.333.444", "CustomerIpAddress": "111.222.333.444", "InstanceId": "i-12345abcedfg67890" }, { "InstanceName": "compute-nodes-3", "AgentIpAddress": "111.222.333.444", "CustomerIpAddress": "111.222.333.444", "InstanceId": "i-12345abcedfg67890" }, { "InstanceName": "compute-nodes-4", "AgentIpAddress": "111.222.333.444", "CustomerIpAddress": "111.222.333.444", "InstanceId": "i-12345abcedfg67890" } ] } ] }
    3. lifecycle_script.py— Este es el script principal de Python que ejecuta colectivamente los scripts del ciclo de vida que configuran Slurm en el HyperPod clúster mientras se aprovisiona. Este script lee resource_config.json desde provisioning_parameters.json y hacia dentro las rutas especificadas o identificadason_create.sh, pasa la información relevante a cada script de ciclo de vida y, a continuación, ejecuta los scripts de ciclo de vida en orden.

      Los scripts de ciclo de vida son un conjunto de scripts que puede personalizar con total flexibilidad para instalar paquetes de software y configurar las configuraciones necesarias o personalizadas durante la creación del clúster, como la configuración de Slurm, la creación de usuarios o la instalación de Conda o Docker. El lifecycle_script.pyscript de ejemplo está preparado para ejecutar otros scripts de ciclo de vida básicos en el repositorio, como lanzar Slurm deamons () start_slurm.sh, montar Amazon FSx for Lustre (mount_fsx.sh) y configurar MariaDB accounting () y accounting (). setup_mariadb_accounting.shRDSsetup_rds_accounting.sh También puede añadir más scripts, empaquetarlos en el mismo directorio y añadir líneas de código para poder ejecutar los scripts. lifecycle_script.py HyperPod Para obtener más información sobre los scripts básicos del ciclo de vida, consulte también los scripts del ciclo de vida 3.1 en el GitHub repositorio de Awsome Distributed Training.

      Además de las configuraciones predeterminadas, en la carpeta encontrará más scripts para instalar el siguiente software. utils El lifecycle_script.py archivo ya está preparado para incluir líneas de código para ejecutar los scripts de instalación, así que consulte los siguientes elementos para buscar esas líneas y descomentarlas para activarlas.

      1. Las siguientes líneas de código sirven para instalar Docker, Enroot y Pyxis. Estos paquetes son necesarios para ejecutar los contenedores de Docker en un clúster de Slurm.

        Para habilitar este paso de instalación, defina el enable_docker_enroot_pyxis parámetro True en en el archivo. config.py

        # Install Docker/Enroot/Pyxis if Config.enable_docker_enroot_pyxis: ExecuteBashScript("./utils/install_docker.sh").run() ExecuteBashScript("./utils/install_enroot_pyxis.sh").run(node_type)
      2. Puede integrar su HyperPod clúster con Amazon Managed Service for Prometheus y Amazon Managed Grafana para exportar métricas HyperPod sobre el clúster y los nodos del clúster a los paneles de Amazon Managed Grafana. Para exportar las métricas y utilizar el panel de control de Slurm, el panel de control de NVIDIADCGMexportadores y el panel de EFAmétricas de Grafana gestionada por Amazon, debe instalar el exportador de Slurm para Prometheus, el exportador y el exportador de nodos. NVIDIA DCGM EFA Para obtener más información sobre la instalación de los paquetes de exportación y el uso de los paneles de Grafana en un espacio de trabajo de Grafana gestionado por Amazon, consulte. Supervise los recursos SageMaker HyperPod del clúster

        Para habilitar este paso de instalación, defina True el enable_observability parámetro en el archivo. config.py

        # Install metric exporting software and Prometheus for observability if Config.enable_observability: if node_type == SlurmNodeType.COMPUTE_NODE: ExecuteBashScript("./utils/install_docker.sh").run() ExecuteBashScript("./utils/install_dcgm_exporter.sh").run() ExecuteBashScript("./utils/install_efa_node_exporter.sh").run() if node_type == SlurmNodeType.HEAD_NODE: wait_for_scontrol() ExecuteBashScript("./utils/install_docker.sh").run() ExecuteBashScript("./utils/install_slurm_exporter.sh").run() ExecuteBashScript("./utils/install_prometheus.sh").run()
  3. Asegúrese de cargar todos los archivos de configuración y los scripts de configuración del paso 2 al depósito de S3 que proporcionó en la CreateCluster solicitud del paso 1. Por ejemplo, supongamos que create_cluster.json tiene lo siguiente.

    "LifeCycleConfig": { "SourceS3URI": "s3://sagemaker-hyperpod-lifecycle/src", "OnCreate": "on_create.sh" }

    A continuación, "s3://sagemaker-hyperpod-lifecycle/src" debe conteneron_create.sh, lifecycle_script.pyprovisioning_parameters.json, y todos los demás scripts de configuración. Suponga que ha preparado los archivos en una carpeta local de la siguiente manera.

    └── lifecycle_files // your local folder ├── provisioning_parameters.json ├── on_create.sh ├── lifecycle_script.py └── ... // more setup scrips to be fed into lifecycle_script.py

    Para cargar los archivos, utilice el comando S3 de la siguiente manera.

    aws s3 cp --recursive ./lifecycle_scripts s3://sagemaker-hyperpod-lifecycle/src

Qué configuraciones particulares se HyperPod administran en los archivos de configuración de Slurm

Al crear un clúster de Slurm en HyperPod, el HyperPod agente configura los gres.confarchivos slurm.confy /opt/slurm/etc/ para gestionar el clúster de Slurm en función de la solicitud de creación del clúster y de los scripts del ciclo de vida HyperPod . La siguiente lista muestra qué parámetros específicos gestiona y sobrescribe el HyperPod agente.

importante

Le recomendamos encarecidamente que no cambie estos parámetros gestionados por HyperPod.

  • En slurm.conf, HyperPod configura los siguientes parámetros básicos: ClusterNameSlurmctldHost,PartitionName, yNodeName.

    Además, para habilitar la Reanudación automática funcionalidad, HyperPod requiere que los SchedulerParameters parámetros TaskPlugin y estén configurados de la siguiente manera. El HyperPod agente configura estos dos parámetros con los valores necesarios de forma predeterminada.

    TaskPlugin=task/none SchedulerParameters=permit_job_expansion
  • En gres.conf, HyperPod gestiona NodeName los GPU nodos.

Instale Amazon FSx for Lustre en su clúster HyperPod

Para montar un sistema de archivos compartidos de Amazon FSx for Lustre en su HyperPod clúster, configure lo siguiente.

  1. Usa tu AmazonVPC.

    1. Para que las instancias de HyperPod clúster se comuniquen entre síVPC, asegúrate de asociarlas (Opcional) Permisos adicionales para su uso SageMaker HyperPod con Amazon Virtual Private Cloud a la IAM función para la que estás trabajando SageMaker HyperPod.

    2. Encreate_cluster.json, incluye la siguiente VPC información.

      "VpcConfig": { "SecurityGroupIds": [ "string" ], "Subnets": [ "string" ] }

      Para obtener más consejos sobre cómo configurar AmazonVPC, consulta(Opcional) Configúrelo SageMaker HyperPod con su Amazon VPC.

  2. Para terminar de configurar Slurm con Amazon FSx for Lustre, especifique el nombre de Amazon FSx DNS y el nombre de la FSx montura de Amazon provisioning_parameters.json como se muestra en la figura de la sección. Comience con los scripts básicos del ciclo de vida proporcionados por HyperPod Puedes encontrar la FSx información de Amazon en la consola Amazon FSx for Lustre de tu cuenta o ejecutando el siguiente AWS CLI comando,aws fsx describe-file-systems.

    "fsx_dns_name": "fs-12345678a90b01cde.fsx.us-west-2.amazonaws.com", "fsx_mountname": "1abcdefg"

Valide los archivos JSON de configuración antes de crear un clúster de Slurm en HyperPod

Para validar los archivos de JSON configuración antes de enviar una solicitud de creación de clústeres, utilice el script de validación de la configuración. validate-config.py Este script analiza y compara el archivo de configuración del HyperPod clúster y el JSON archivo de configuración JSON de Slurm, e identifica si hay algún error de configuración de los recursos entre los dos archivos y también entre los recursos de Amazon, EC2 Amazon VPC y Amazon. FSx Por ejemplo, para validar los provisioning_parameters.json archivos create_cluster.json y de la Comience con los scripts básicos del ciclo de vida proporcionados por HyperPod sección, ejecute el script de validación de la siguiente manera.

python3 validate-config.py --cluster-config create_cluster.json --provisioning-parameters provisioning_parameters.json

A continuación se muestra un ejemplo del resultado de una validación correcta.

✔️ Validated instance group name worker-group-1 is correct ... ✔️ Validated subnet subnet-012345abcdef67890 ... ✔️ Validated security group sg-012345abcdef67890 ingress rules ... ✔️ Validated security group sg-012345abcdef67890 egress rules ... ✔️ Validated FSx Lustre DNS name fs-012345abcdef67890.fsx.us-east-1.amazonaws.com ✔️ Validated FSx Lustre mount name abcdefgh ✅ Cluster Validation succeeded

Valide el tiempo de ejecución antes de ejecutar cargas de trabajo de producción en un clúster de Slurm en HyperPod

Para comprobar el tiempo de ejecución antes de ejecutar cualquier carga de trabajo de producción en un clúster de Slurm HyperPod, usa el script de validación del tiempo de ejecución. hyperpod-precheck.py Este script comprueba si el clúster de Slurm tiene todos los paquetes instalados para ejecutar Docker, si el clúster tiene un sistema de archivos correctamente montado FSx para Lustre y un directorio de usuarios que comparte el sistema de archivos, y si el deamon de Slurm se ejecuta en todos los nodos de cómputo.

Para ejecutar el script en varios nodos a la vez, utilice srun el siguiente comando de ejemplo para ejecutar el script en un clúster de Slurm de 8 nodos.

# The following command runs on 8 nodes srun -N 8 python3 hyperpod-precheck.py
nota

Para obtener más información sobre el script de validación, por ejemplo, qué funciones de validación en tiempo de ejecución proporciona el script y pautas para resolver los problemas que no superan las validaciones, consulte Validación en tiempo de ejecución antes de ejecutar cargas de trabajo en el repositorio de Awsome Distributed Training. GitHub

Desarrolle scripts de ciclo de vida de forma interactiva en un nodo de clúster

En esta sección se explica cómo puede desarrollar scripts de ciclo de vida de forma interactiva sin tener que crear y eliminar un HyperPod clúster de forma repetida.

  1. Cree un HyperPod clúster con los scripts de ciclo de vida básicos.

  2. Inicie sesión en un nodo de clúster.

  3. Desarrolle un script (configure_xyz.sh) editándolo y ejecutándolo repetidamente en el nodo.

    1. HyperPod ejecuta los scripts del ciclo de vida como usuario root, por lo que le recomendamos que los ejecute configure_xyz.sh como usuario root durante el desarrollo para asegurarse de que el script se prueba en las mismas condiciones mientras se ejecuta HyperPod.

  4. Integre el script lifecycle_script.py añadiendo una línea de código similar a la siguiente.

    ExecuteBashScript("./utils/configure_xyz.sh").run()
  5. Cargue los scripts de ciclo de vida actualizados en el depósito de S3 que utilizó inicialmente para cargar los scripts de ciclo de vida básicos.

  6. Pruebe la versión integrada de lifecycle_script.py creando un HyperPod clúster nuevo.

Actualice un clúster con scripts de ciclo de vida nuevos o actualizados

Hay tres formas de actualizar el HyperPod software.

  • UpdateClusterSoftwareAPIPara parchear el HyperPod software, se vuelven a ejecutar los scripts del ciclo de vida en todo el grupo de instancias.

  • UpdateClusterAPISolo ejecuta los scripts del ciclo de vida de los nuevos grupos de instancias.

  • También puedes ejecutar los scripts del ciclo de vida directamente en las HyperPod instancias.

Consideraciones

Ten en cuenta lo siguiente a la hora de utilizarlos SageMaker HyperPod.

  • HyperPod se ejecuta SageMaker HyperPod DLAMI en cada instancia de un clúster y AMI tiene paquetes de software preinstalados que cumplen con las compatibilidades entre ellos y HyperPod las funcionalidades. Tenga en cuenta que si reinstala alguno de los paquetes preinstalados, usted es responsable de instalar los paquetes compatibles y tenga en cuenta que es posible que algunas HyperPod funcionalidades no funcionen del modo esperado.