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.
-
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
-
Prepara un
provisioning_parameters.json
archivo, que es un. Formulario de configuración para aprovisionar nodos de Slurm en HyperPodprovisioning_parameters.json
debe 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. -
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.json
contiene 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. -
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
-
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 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
-
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.
-
-
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.
Temas
- Comience con los scripts básicos del ciclo de vida proporcionados por HyperPod
- Qué configuraciones específicas se administran en los archivos de configuración HyperPod de Slurm
- Monta Amazon FSx for Lustre en un clúster HyperPod
- Valide los archivos de configuración JSON antes de crear un clúster de Slurm en HyperPod
- Valide el tiempo de ejecución antes de ejecutar cargas de trabajo de producción en un clúster de Slurm HyperPod
- Desarrolle scripts de ciclo de vida de forma interactiva en un nodo de clúster HyperPod
- Actualización de un clúster con scripts de ciclo de vida nuevos o actualizados