

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.

# Empezando con SageMaker HyperPod
<a name="smcluster-getting-started-slurm"></a>

Comience a crear su primer SageMaker HyperPod clúster y conozca las funcionalidades de operación del clúster SageMaker HyperPod. Puede crear un SageMaker HyperPod clúster mediante la interfaz de usuario de la consola de SageMaker IA o mediante los AWS CLI comandos. Este tutorial muestra cómo crear un nuevo SageMaker HyperPod clúster con Slurm, un popular software de programación de cargas de trabajo. Tras completar este tutorial, sabrá cómo iniciar sesión en los nodos del clúster mediante los AWS Systems Manager comandos (). `aws ssm` Tras completar este tutorial, consulte también [SageMaker HyperPod Operaciones de clúster de Slurm](sagemaker-hyperpod-operate-slurm.md) para obtener más información sobre las operaciones SageMaker HyperPod básicas y [Trabajos en clústeres SageMaker HyperPod](sagemaker-hyperpod-run-jobs-slurm.md) cómo programar tareas en el clúster aprovisionado.

**sugerencia**  
[Para encontrar ejemplos prácticos y soluciones, consulte también el SageMaker HyperPod taller.](https://catalog.workshops.aws/sagemaker-hyperpod)

**Topics**
+ [

# Cómo empezar a SageMaker HyperPod usar la consola de SageMaker IA
](smcluster-getting-started-slurm-console.md)
+ [

# Creación de clústeres mediante plantillas SageMaker HyperPod CloudFormation
](smcluster-getting-started-slurm-console-create-cluster-cfn.md)
+ [

# Cómo empezar a SageMaker HyperPod usar el AWS CLI
](smcluster-getting-started-slurm-cli.md)

# Cómo empezar a SageMaker HyperPod usar la consola de SageMaker IA
<a name="smcluster-getting-started-slurm-console"></a>

El siguiente tutorial muestra cómo crear un SageMaker HyperPod clúster nuevo y configurarlo con Slurm a través de la interfaz de usuario de la consola SageMaker AI. Tras el tutorial, crearás un HyperPod clúster con tres nodos de Slurm,, y`my-controller-group`. `my-login-group` `worker-group-1`

**Topics**
+ [

## Creación de un clúster
](#smcluster-getting-started-slurm-console-create-cluster-page)
+ [

## Implementación de recursos
](#smcluster-getting-started-slurm-console-create-cluster-deploy)
+ [

## Eliminación del clúster y limpieza de recursos
](#smcluster-getting-started-slurm-console-delete-cluster-and-clean)

## Creación de un clúster
<a name="smcluster-getting-started-slurm-console-create-cluster-page"></a>

Para ir a la página de **SageMaker HyperPod clústeres** y elegir la orquestación de **Slurm**, sigue estos pasos.

1. Abre la consola Amazon SageMaker AI en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Seleccione **HyperPod Clusters** en el panel de navegación izquierdo y, a continuación, **Cluster Management**.

1. En la página **SageMaker HyperPod Clústeres**, elija **Crear HyperPod clúster**. 

1. En el menú desplegable **Crear HyperPod clúster**, selecciona **Orchestrated by Slurm**.

1. En la página de creación de clústeres de Slurm, verá dos opciones. Elija la opción que mejor se adapte a sus necesidades.

   1. **Configuración rápida**: para comenzar de inmediato con la configuración predeterminada, seleccione **Configuración rápida**. Con esta opción, la SageMaker IA creará nuevos recursos, como VPC, subredes, grupos de seguridad, un bucket de Amazon S3, una función de IAM y FSx para Lustre, durante el proceso de creación del clúster.

   1. **Configuración personalizada**: para integrarse con los recursos de AWS existentes o tener requisitos específicos de red, seguridad o almacenamiento, seleccione **Configuración personalizada**. Con esta opción, puede optar por utilizar los recursos existentes o crear unos nuevos. Además, puede personalizar la configuración que mejor se adapte a sus necesidades.

## Configuración rápida
<a name="smcluster-getting-started-slurm-console-create-cluster-default"></a>

En la sección **Configuración rápida**, sigue estos pasos para crear tu HyperPod clúster con la orquestación de Slurm.

### Configuración general
<a name="smcluster-getting-started-slurm-console-create-cluster-default-general"></a>

Especifique un nombre para el nuevo clúster. Después de crear el clúster no puede cambiarle el nombre.

### Grupos de instancias
<a name="smcluster-getting-started-slurm-console-create-cluster-default-instance-groups"></a>

Para añadir un grupo de instancias, elija **Agregar grupo**. Cada grupo de instancias se puede configurar de una forma diferente y se puede crear un clúster heterogéneo que conste de varios grupos de instancias con diversos tipos de instancias. Para implementar un clúster, debe añadir al menos un grupo de instancias para los tipos de grupo Controlador y Computación.

**importante**  
Puede añadir un grupo de instancias cada vez. Si desea crear varios grupos de instancias, repita el proceso para cada uno de ellos.

Siga estos pasos para agregar un grupo de instancias.

1. En **Tipo del grupo de instancias**, elija un tipo de instancia para su grupo de instancias. Para este tutorial, seleccione **Controlador (principal)** para `my-controller-group`, **Inicio de sesión** para `my-login-group` y **Computación (de trabajo)** para `worker-group-1`.

1. En **Nombre**, especifique un nombre para el grupo de instancias. Para este tutorial, cree tres grupos de instancias llamados `my-controller-group`, `my-login-group` y `worker-group-1`.

1.  En **Capacidad de instancia**, elija la capacidad bajo demanda o un plan de entrenamiento para reservar recursos de computación.

1. En **Tipo de instancia**, elija la instancia del grupo de instancias. Para este tutorial, seleccione `ml.c5.xlarge` para `my-controller-group`, `ml.m5.4xlarge` para `my-login-group` y `ml.trn1.32xlarge` para `worker-group-1`. 
**importante**  
Asegúrese de elegir un tipo de instancia con bastantes cuotas y que tenga suficientes direcciones IP sin asignar para su cuenta. Para ver o solicitar cuotas adicionales, consulte [SageMaker HyperPod cuotas](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-quotas).

1. En **Cantidad de instancias**, especifique un número entero que no supere la cuota de instancias de uso del clúster. Para este tutorial, introduzca **1** para los tres grupos.

1. En **Zona de disponibilidad de destino**, elija la zona de disponibilidad en la que se aprovisionarán las instancias. La zona de disponibilidad debe corresponder a la ubicación de la capacidad de computación acelerada.

1. En **Volumen de almacenamiento adicional por instancia (GB) - opcional**, especifique un número entero entre 1 y 16 384 para establecer el tamaño de un volumen adicional de Elastic Block Store (EBS) en gigabytes (GB). El volumen de EBS está asociado a cada instancia del grupo de instancias. La ruta de montaje predeterminada para el volumen de EBS adicional es `/opt/sagemaker`. Una vez que el clúster se haya creado correctamente, puede utilizar SSH en las instancias del clúster (nodos) y verificar si el volumen de EBS está montado correctamente ejecutando el comando `df -h`. La conexión de un volumen de EBS adicional proporciona un almacenamiento estable, fuera de la instancia y persistente de forma independiente, tal y como se describe en la sección [Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html) de la *Guía del usuario de Amazon Elastic Block Store*.

1. Elija **Agregar grupo de instancias**.

### Valores predeterminados de la configuración rápida
<a name="smcluster-getting-started-slurm-console-create-cluster-default-settings"></a>

En esta sección se enumeran todos los ajustes predeterminados para la creación del clúster, incluidos todos los AWS recursos nuevos que se crearán durante el proceso de creación del clúster. Revise la configuración predeterminada.

## Configuración personalizada
<a name="smcluster-getting-started-slurm-console-create-cluster-custom"></a>

En la sección **Configuración personalizada**, sigue estos pasos para crear tu HyperPod clúster con la orquestación de Slurm.

### Configuración general
<a name="smcluster-getting-started-slurm-console-create-cluster-custom-general"></a>

Especifique un nombre para el nuevo clúster. Después de crear el clúster no puede cambiarle el nombre.

En **Recuperación de instancias**, elija **Automática - *recomendado*** o **Ninguna**.

### Red
<a name="smcluster-getting-started-slurm-console-create-cluster-custom-network"></a>

Configure los ajustes de red para crear el clúster. Los ajustes no se puede modificar una vez creado el clúster.

1. En el caso de la **VPC**, elige tu propia VPC si ya tienes una que dé acceso de SageMaker IA a tu VPC. Para crear una VPC nueva, siga las instrucciones de la sección [Creación de una VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) de la *Guía del usuario de Amazon Virtual Private Cloud*. Puedes dejarlo como **Ninguno** para usar la VPC de SageMaker IA predeterminada.

1. Para el **bloque IPv4 CIDR de VPC**, introduzca la IP inicial de la VPC.

1. En el caso de **las zonas de disponibilidad**, elija las zonas de disponibilidad (AZ) en las que se HyperPod crearán las subredes para el clúster. Elija una AZs que coincida con la ubicación de su capacidad informática acelerada.

1. En **Grupos de seguridad**, cree un grupo de seguridad o elija hasta cinco grupos de seguridad configurados con reglas que permitan la comunicación entre recursos dentro de la VPC.

### Grupos de instancias
<a name="smcluster-getting-started-slurm-console-create-cluster-custom-instance-groups"></a>

Para añadir un grupo de instancias, elija **Agregar grupo**. Cada grupo de instancias se puede configurar de una forma diferente y se puede crear un clúster heterogéneo que conste de varios grupos de instancias con diversos tipos de instancias. Para implementar un clúster, debe agregar al menos un grupo de instancias.

**importante**  
Puede añadir un grupo de instancias cada vez. Si desea crear varios grupos de instancias, repita el proceso para cada uno de ellos.

Siga estos pasos para agregar un grupo de instancias.

1. En **Tipo del grupo de instancias**, elija un tipo de instancia para su grupo de instancias. Para este tutorial, seleccione **Controlador (principal)** para `my-controller-group`, **Inicio de sesión** para `my-login-group` y **Computación (de trabajo)** para `worker-group-1`.

1. En **Nombre**, especifique un nombre para el grupo de instancias. Para este tutorial, cree tres grupos de instancias llamados `my-controller-group`, `my-login-group` y `worker-group-1`.

1.  En **Capacidad de instancia**, elija la capacidad bajo demanda o un plan de entrenamiento para reservar recursos de computación.

1. En **Tipo de instancia**, elija la instancia del grupo de instancias. Para este tutorial, seleccione `ml.c5.xlarge` para `my-controller-group`, `ml.m5.4xlarge` para `my-login-group` y `ml.trn1.32xlarge` para `worker-group-1`. 
**importante**  
Asegúrese de elegir un tipo de instancia con bastantes cuotas y que tenga suficientes direcciones IP sin asignar para su cuenta. Para ver o solicitar cuotas adicionales, consulte [SageMaker HyperPod cuotas](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-quotas).

1. En **Cantidad de instancias**, especifique un número entero que no supere la cuota de instancias de uso del clúster. Para este tutorial, introduzca **1** para los tres grupos.

1. En **Zona de disponibilidad de destino**, elija la zona de disponibilidad en la que se aprovisionarán las instancias. La zona de disponibilidad debe corresponder a la ubicación de la capacidad de computación acelerada.

1. En **Volumen de almacenamiento adicional por instancia (GB) - opcional**, especifique un número entero entre 1 y 16 384 para establecer el tamaño de un volumen adicional de Elastic Block Store (EBS) en gigabytes (GB). El volumen de EBS está asociado a cada instancia del grupo de instancias. La ruta de montaje predeterminada para el volumen de EBS adicional es `/opt/sagemaker`. Una vez que el clúster se haya creado correctamente, puede utilizar SSH en las instancias del clúster (nodos) y verificar si el volumen de EBS está montado correctamente ejecutando el comando `df -h`. La conexión de un volumen de EBS adicional proporciona un almacenamiento estable, fuera de la instancia y persistente de forma independiente, tal y como se describe en la sección [Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html) de la *Guía del usuario de Amazon Elastic Block Store*.

1. Elija **Agregar grupo de instancias**.

### Scripts de ciclo de vida
<a name="smcluster-getting-started-slurm-console-create-cluster-custom-lifecycle"></a>

Puede optar por utilizar los scripts de ciclo de vida predeterminados o los scripts de ciclo de vida personalizados, que se almacenarán en su bucket de Amazon S3. Puede ver los scripts de ciclo de vida predeterminados en el [ GitHub repositorio de Awesome Distributed Training](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/7.sagemaker-hyperpod-eks/LifecycleScripts). Para obtener más información sobre los scripts de ciclo de vida, consulte [Personalización de SageMaker HyperPod clústeres mediante scripts de ciclo de vida](sagemaker-hyperpod-lifecycle-best-practices-slurm.md).

1. En **Scripts de ciclo de vida**, elija usar scripts de ciclo de vida predeterminados o personalizados.

1. En **bucket de S3 para scripts de ciclo de vida**, elija crear un nuevo bucket o utilizar un bucket existente para almacenar los scripts de ciclo de vida.

### Permisos
<a name="smcluster-getting-started-slurm-console-create-cluster-custom-permissions"></a>

Elija o cree un rol de IAM que le permita HyperPod ejecutar y acceder a AWS los recursos necesarios en su nombre.

### Almacenamiento
<a name="smcluster-getting-started-slurm-console-create-cluster-custom-storage"></a>

Configure el sistema FSx de archivos de Lustre para que se aprovisione en el clúster. HyperPod 

1. Para **el sistema de archivos**, elija un sistema de archivos existente FSx para Lustre, cree uno nuevo FSx para Lustre o no aprovisione uno FSx para Lustre.

1. En **Rendimiento por unidad de almacenamiento**, elija el rendimiento que estará disponible por TiB de almacenamiento aprovisionado.

1. En **Capacidad de almacenamiento**, introduzca un valor de capacidad en TB.

1. En el **tipo de compresión de datos**, seleccione habilitar **LZ4**la compresión de datos.

1. En **Versión Lustre**, consulte el valor recomendado para los nuevos sistemas de archivos.

### Etiquetas: opcional
<a name="smcluster-getting-started-slurm-console-create-cluster-tags"></a>

En el **caso de las etiquetas *(opcional)***, añada pares de claves y valores al nuevo clúster y administre el clúster como un AWS recurso. Para obtener más información, consulte [Tagging your AWS resources](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html).

## Implementación de recursos
<a name="smcluster-getting-started-slurm-console-create-cluster-deploy"></a>

Después de completar las configuraciones del clúster desde **Configuración rápida** o **Configuración personalizada**, elija la siguiente opción para iniciar el aprovisionamiento de recursos y la creación del clúster.
+  **Enviar**: la SageMaker IA empezará a aprovisionar los recursos de configuración predeterminados y a crear el clúster. 
+ **Descargar los parámetros de la CloudFormation plantilla**: descargará el archivo JSON de los parámetros de configuración y ejecutará el AWS CLI comando para implementar la CloudFormation pila, aprovisionar los recursos de configuración y crear el clúster. Si es necesario, puede editar el archivo JSON de parámetros descargado. Si elige esta opción, puede ver más instrucciones en [Creación de clústeres mediante plantillas SageMaker HyperPod CloudFormation](smcluster-getting-started-slurm-console-create-cluster-cfn.md).

## Eliminación del clúster y limpieza de recursos
<a name="smcluster-getting-started-slurm-console-delete-cluster-and-clean"></a>

Una vez que haya probado correctamente la creación de un SageMaker HyperPod clúster, seguirá ejecutándose en ese `InService` estado hasta que lo elimine. Te recomendamos que elimines los clústeres creados con instancias de SageMaker IA bajo demanda cuando no estén en uso para evitar incurrir en cargos de servicio continuos en función de los precios bajo demanda. En este tutorial, ha creado un clúster que consta de dos grupos de instancias. Uno de ellos utiliza una instancia C5, así que asegúrese de eliminar el clúster siguiendo las instrucciones que aparecen en [Elimina un SageMaker HyperPod clúster](sagemaker-hyperpod-operate-slurm-console-ui.md#sagemaker-hyperpod-operate-slurm-console-ui-delete-cluster).

Sin embargo, si ha creado un clúster con una capacidad de computación reservada, el estado de los clústeres no afecta a la facturación de los servicios.

Para limpiar los scripts de ciclo de vida del bucket de S3 utilizado para este tutorial, vaya al bucket de S3 que utilizó durante la creación del clúster y elimine todos los archivos.

Si ha probado la ejecución de alguna carga de trabajo en el clúster, asegúrese de haber cargado datos o de haber guardado algún artefacto en distintos buckets de S3 o servicios de sistema de archivos, como Amazon FSx for Lustre y Amazon Elastic File System. Para evitar incurrir en gastos, elimine todos los artefactos y datos del almacenamiento o del sistema de archivos.

# Creación de clústeres mediante plantillas SageMaker HyperPod CloudFormation
<a name="smcluster-getting-started-slurm-console-create-cluster-cfn"></a>

Puede crear SageMaker HyperPod clústeres utilizando las CloudFormation plantillas de HyperPod. Debe realizar la instalación AWS CLI para continuar.

**Topics**
+ [

## Configure los recursos en la consola e impleméntelos mediante CloudFormation
](#smcluster-getting-started-slurm-console-create-cluster-deploy-console)
+ [

## Configure los recursos e impleméntelos mediante CloudFormation
](#smcluster-getting-started-slurm-console-create-cluster-deploy-cfn)

## Configure los recursos en la consola e impleméntelos mediante CloudFormation
<a name="smcluster-getting-started-slurm-console-create-cluster-deploy-console"></a>

Puede configurar los recursos mediante las plantillas Consola de administración de AWS e implementarlos mediante las CloudFormation plantillas. 

Siga estos pasos.

1. *En lugar de elegir **Enviar***, elija **Descargar los parámetros de la CloudFormation plantilla** al final del tutorial en[Cómo empezar a SageMaker HyperPod usar la consola de SageMaker IA](smcluster-getting-started-slurm-console.md). El tutorial contiene información de configuración importante que necesitará para crear el clúster correctamente.
**importante**  
Si selecciona **Enviar**, no podrá implementar un clúster con el mismo nombre hasta que lo elimine.

   Tras seleccionar **Descargar los parámetros de la CloudFormation plantilla**, aparecerá en **la parte derecha de la página la AWS CLI ventana Uso del archivo de configuración para crear el clúster mediante** el uso del archivo de configuración.

1. En la ventana **Uso del archivo de configuración para crear el clúster desde la AWS CLI**, elija **Descargar archivo de parámetros de configuración**. El archivo se descargará en su equipo. Puede editar el archivo JSON de configuración según sus necesidades o dejarlo como está si no se necesita introducir ningún cambio.

1. En un terminal, vaya a la ubicación del archivo de parámetros `file://params.json`.

1. Ejecute el AWS CLI comando [create-stack](https://docs.aws.amazon.com//cli/latest/reference/cloudformation/create-stack.html) para implementar la CloudFormation pila que aprovisionará los recursos configurados y creará el HyperPod clúster.

   ```
   aws cloudformation create-stack 
       --stack-name my-stack
       --template-url https://aws-sagemaker-hyperpod-cluster-setup.amazonaws.com/templates-slurm/main-stack-slurm-based-template.yaml
       --parameters file://params.json
       --capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM
   ```

1. [Para ver el estado del aprovisionamiento de recursos, navegue hasta la consola. CloudFormation ](https://console.aws.amazon.com/cloudformation)

   Una vez finalizada la creación del clúster, consulte el nuevo clúster en **Clústeres** en el panel principal de la SageMaker HyperPod consola. También puede consultar su estado en la columna **Estado**.

1. Cuando el estado del clúster cambie a `InService`, puede empezar a iniciar sesión en los nodos del clúster. Para acceder a los nodos del clúster y empezar a ejecutar cargas de trabajo de ML, consulte [Trabajos en clústeres SageMaker HyperPod](sagemaker-hyperpod-run-jobs-slurm.md).

## Configure los recursos e impleméntelos mediante CloudFormation
<a name="smcluster-getting-started-slurm-console-create-cluster-deploy-cfn"></a>

Puede configurar los recursos e implementarlos mediante las CloudFormation plantillas de SageMaker HyperPod.

Siga estos pasos.

1. Descargue una CloudFormation plantilla SageMaker HyperPod del [sagemaker-hyperpod-cluster-setup](https://github.com/aws/sagemaker-hyperpod-cluster-setup) GitHub repositorio.

1. Ejecute el AWS CLI comando [create-stack](https://docs.aws.amazon.com//cli/latest/reference/cloudformation/create-stack.html) para implementar la CloudFormation pila que aprovisionará los recursos configurados y creará el HyperPod clúster.

   ```
   aws cloudformation create-stack 
       --stack-name my-stack
       --template-url URL_of_the_file_that_contains_the_template_body
       --parameters file://params.json
       --capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM
   ```

1. Para ver el estado del aprovisionamiento de recursos, vaya a la consola de CloudFormation .

   Una vez finalizada la creación del clúster, consulta el nuevo clúster en **Clústeres** en el panel principal de la SageMaker HyperPod consola. También puede consultar su estado en la columna **Estado**.

1. Cuando el estado del clúster cambie a `InService`, puede empezar a iniciar sesión en los nodos del clúster. Para acceder a los nodos del clúster y empezar a ejecutar cargas de trabajo de ML, consulte [Trabajos en clústeres SageMaker HyperPod](sagemaker-hyperpod-run-jobs-slurm.md).

# Cómo empezar a SageMaker HyperPod usar el AWS CLI
<a name="smcluster-getting-started-slurm-cli"></a>

Cree su primer SageMaker HyperPod clúster con los AWS CLI comandos for HyperPod.

## Crea tu primer SageMaker HyperPod clúster con Slurm
<a name="smcluster-getting-started-slurm-cli-create-cluster"></a>

[El siguiente tutorial muestra cómo crear un nuevo SageMaker HyperPod clúster y configurarlo con Slurm mediante los comandos para.AWS CLI SageMaker HyperPod](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-cli) Siguiendo el tutorial, crearás un HyperPod clúster con tres nodos de Slurm:`my-controller-group`, y. `my-login-group` `worker-group-1`

Con el enfoque de configuración basado en la API, se definen los tipos de nodos de Slurm y las asignaciones de particiones directamente en la solicitud de API mediante. CreateCluster `SlurmConfig` Esto elimina la necesidad de un `provisioning_parameters.json` archivo independiente y proporciona validación, detección de desviaciones y configuración integradas. per-instance-group FSx 

1. En primer lugar, prepare y cargue los scripts de ciclo de vida en un bucket de Amazon S3. Durante la creación del clúster, los HyperPod ejecuta en cada grupo de instancias. Cargue los scripts de ciclo de vida en Amazon S3 con el siguiente comando.

   ```
   aws s3 sync \
       ~/local-dir-to-lifecycle-scripts/* \
       s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src
   ```
**nota**  
La ruta del bucket de S3 debe empezar con un prefijo`sagemaker-`, ya que la [función de IAM para SageMaker HyperPod with](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod) `AmazonSageMakerClusterInstanceRolePolicy` solo permite el acceso a los buckets de Amazon S3 que comiencen con el prefijo específico.

   Si va a empezar desde cero, utilice ejemplos de scripts de ciclo de vida que se incluyen en el repositorio [Awsome](https://github.com/aws-samples/awsome-distributed-training/) Distributed Training. GitHub Los siguientes subpasos muestran cómo descargar y cargar los scripts de ciclo de vida de muestra en un bucket de Amazon S3.

   1. Descargue una copia de los ejemplos de scripts de ciclo de vida en un directorio de su equipo local.

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

   1. Vaya al directorio [https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config), donde encontrará un conjunto de scripts de ciclo de vida.

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

      Para obtener más información sobre los scripts de ciclo de vida, consulte [Personalización de SageMaker HyperPod clústeres mediante scripts de ciclo de vida](sagemaker-hyperpod-lifecycle-best-practices-slurm.md).

   1. Cargue los scripts en `s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src`. Puede hacerlo a través de la consola de Amazon S3 o ejecutando el siguiente comando de Amazon S3 de la AWS CLI .

      ```
      aws s3 sync \
          ~/local-dir-to-lifecycle-scripts/* \
          s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src
      ```
**nota**  
Con una configuración basada en API, no necesita crear ni cargar un archivo. `provisioning_parameters.json` La configuración de Slurm se define directamente en la solicitud de CreateCluster API en el siguiente paso.

1. Prepare un archivo de [CreateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html)solicitud en formato JSON y guárdelo como. `create_cluster.json`

   Con la configuración basada en API, debes especificar el tipo de nodo de Slurm y la asignación de particiones para cada grupo de instancias mediante el campo. `SlurmConfig` También puedes configurar los ajustes de Slurm a nivel de clúster mediante. `Orchestrator.Slurm`

   Para `ExecutionRole`, proporcione el ARN del rol de IAM que creó con la `AmazonSageMakerClusterInstanceRolePolicy` administrada en [Requisitos previos para su uso SageMaker HyperPod](sagemaker-hyperpod-prerequisites.md).

   ```
   {
       "ClusterName": "my-hyperpod-cluster",
       "InstanceGroups": [
           {
               "InstanceGroupName": "my-controller-group",
               "InstanceType": "ml.c5.xlarge",
               "InstanceCount": 1,
               "SlurmConfig": {
                   "NodeType": "Controller"
               },
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::<account-id>:role/HyperPodExecutionRole",
               "InstanceStorageConfigs": [
                   {
                       "EbsVolumeConfig": {
                           "VolumeSizeInGB": 500
                       }
                   }
               ]
           },
           {
               "InstanceGroupName": "my-login-group",
               "InstanceType": "ml.m5.4xlarge",
               "InstanceCount": 1,
               "SlurmConfig": {
                   "NodeType": "Login"
               },
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::<account-id>:role/HyperPodExecutionRole"
           },
           {
               "InstanceGroupName": "worker-group-1",
               "InstanceType": "ml.trn1.32xlarge",
               "InstanceCount": 1,
               "SlurmConfig": {
                   "NodeType": "Compute",
                   "PartitionNames": ["partition-1"]
               },
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::<account-id>:role/HyperPodExecutionRole"
           }
       ],
       "Orchestrator": {
           "Slurm": {
               "SlurmConfigStrategy": "Managed"
           }
       }
   }
   ```

   **SlurmConfig Campos**:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/smcluster-getting-started-slurm-cli.html)

   **Campos Orchestrator.Slurm:**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/smcluster-getting-started-slurm-cli.html)

   **SlurmConfigStrategy opciones:**
   + `Managed`(recomendado): gestiona `slurm.conf` y detecta HyperPod completamente los cambios no autorizados (detección de desviaciones). Las actualizaciones fallan si se detecta una desviación.
   + `Overwrite`: HyperPod sobrescribe `slurm.conf` las actualizaciones e ignora cualquier cambio manual.
   + `Merge`: HyperPod conserva los cambios manuales y los fusiona con la configuración de la API.

   **Añadir FSx para Lustre (opcional):**

   Para montar un sistema de archivos de FSx for Lustre en tus nodos de cómputo, agrégalo `FsxLustreConfig` al grupo de instancias `InstanceStorageConfigs` for Lustre. Esto requiere una configuración de VPC personalizada.

   ```
   {
       "InstanceGroupName": "worker-group-1",
       "InstanceType": "ml.trn1.32xlarge",
       "InstanceCount": 1,
       "SlurmConfig": {
           "NodeType": "Compute",
           "PartitionNames": ["partition-1"]
       },
       "InstanceStorageConfigs": [
           {
               "FsxLustreConfig": {
                   "DnsName": "fs-0abc123def456789.fsx.us-west-2.amazonaws.com",
                   "MountPath": "/fsx",
                   "MountName": "abcdefgh"
               }
           }
       ],
       "LifeCycleConfig": {
           "SourceS3Uri": "s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src",
           "OnCreate": "on_create.sh"
       },
       "ExecutionRole": "arn:aws:iam::<account-id>:role/HyperPodExecutionRole"
   }
   ```

   **Añadir FSx para OpenZFS (opcional):**

   También puede montar FSx para sistemas de archivos OpenZFS:

   ```
   "InstanceStorageConfigs": [
       {
           "FsxOpenZfsConfig": {
               "DnsName": "fs-0xyz789abc123456.fsx.us-west-2.amazonaws.com",
               "MountPath": "/shared"
           }
       }
   ]
   ```
**nota**  
Cada grupo de instancias puede tener como máximo una FSx para la configuración de Lustre y otra para la de OpenZFS. FSx Los distintos grupos de instancias pueden montar diferentes sistemas de archivos.

   **Añadir la configuración de VPC (necesaria para FSx):**

   Si la usa FSx, debe especificar una configuración de VPC personalizada:

   ```
   {
       "ClusterName": "my-hyperpod-cluster",
       "InstanceGroups": [
           {
               "InstanceGroupName": "my-controller-group",
               "InstanceType": "ml.c5.xlarge",
               "InstanceCount": 1,
               "SlurmConfig": {
                   "NodeType": "Controller"
               },
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::<account-id>:role/HyperPodExecutionRole"
           },
       ],
       "Orchestrator": {
           "Slurm": {
               "SlurmConfigStrategy": "Managed"
           }
       },
       "VpcConfig": {
           "SecurityGroupIds": ["sg-0abc123def456789a"],
           "Subnets": ["subnet-0abc123def456789a"]
       }
   }
   ```

1. Ejecute el siguiente comando para crear el clúster.

   ```
   aws sagemaker create-cluster --cli-input-json file://complete/path/to/create_cluster.json
   ```

   Esto debería devolver el ARN del clúster creado.

   ```
   {
       "ClusterArn": "arn:aws:sagemaker:us-west-2:111122223333:cluster/my-hyperpod-cluster"
   }
   ```

   Si recibe un error de límites de recursos, asegúrese de cambiar el tipo de instancia por uno con cuotas suficientes en su cuenta o bien solicite cuotas adicionales accediendo a [SageMaker HyperPod cuotas](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-quotas).

   **Errores de validación comunes:**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/smcluster-getting-started-slurm-cli.html)

1. Ejecute `describe-cluster` para comprobar el estado del clúster.

   ```
   aws sagemaker describe-cluster --cluster-name my-hyperpod-cluster
   ```

   Ejemplo de respuesta:

   ```
   {
       "ClusterArn": "arn:aws:sagemaker:us-west-2:111122223333:cluster/my-hyperpod-cluster",
       "ClusterName": "my-hyperpod-cluster",
       "ClusterStatus": "Creating",
       "InstanceGroups": [
           {
               "InstanceGroupName": "my-controller-group",
               "InstanceType": "ml.c5.xlarge",
               "InstanceCount": 1,
               "CurrentCount": 0,
               "TargetCount": 1,
               "SlurmConfig": {
                   "NodeType": "Controller"
               },
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://sagemaker-<bucket>/src",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodExecutionRole"
           },
           {
               "InstanceGroupName": "my-login-group",
               "InstanceType": "ml.m5.4xlarge",
               "InstanceCount": 1,
               "CurrentCount": 0,
               "TargetCount": 1,
               "SlurmConfig": {
                   "NodeType": "Login"
               },
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://sagemaker-<bucket>/src",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodExecutionRole"
           },
           {
               "InstanceGroupName": "worker-group-1",
               "InstanceType": "ml.trn1.32xlarge",
               "InstanceCount": 1,
               "CurrentCount": 0,
               "TargetCount": 1,
               "SlurmConfig": {
                   "NodeType": "Compute",
                   "PartitionNames": ["partition-1"]
               },
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://sagemaker-<bucket>/src",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodExecutionRole"
           }
       ],
       "Orchestrator": {
           "Slurm": {
               "SlurmConfigStrategy": "Managed"
           }
       },
       "CreationTime": "2024-01-15T10:30:00Z"
   }
   ```

   Cuando el estado del clúster cambie a **InService**, continúe con el siguiente paso. La creación del clúster suele tardar entre 10 y 15 minutos.

1. Ejecute `list-cluster-nodes` para consultar los detalles de los nodos del clúster.

   ```
   aws sagemaker list-cluster-nodes --cluster-name my-hyperpod-cluster
   ```

   Ejemplo de respuesta:

   ```
   {
       "ClusterNodeSummaries": [
           {
               "InstanceGroupName": "my-controller-group",
               "InstanceId": "i-0abc123def456789a",
               "InstanceType": "ml.c5.xlarge",
               "InstanceStatus": {
                   "Status": "Running",
                   "Message": ""
               },
               "LaunchTime": "2024-01-15T10:35:00Z"
           },
           {
               "InstanceGroupName": "my-login-group",
               "InstanceId": "i-0abc123def456789b",
               "InstanceType": "ml.m5.4xlarge",
               "InstanceStatus": {
                   "Status": "Running",
                   "Message": ""
               },
               "LaunchTime": "2024-01-15T10:35:00Z"
           },
           {
               "InstanceGroupName": "worker-group-1",
               "InstanceId": "i-0abc123def456789c",
               "InstanceType": "ml.trn1.32xlarge",
               "InstanceStatus": {
                   "Status": "Running",
                   "Message": ""
               },
               "LaunchTime": "2024-01-15T10:36:00Z"
           }
       ]
   }
   ```

   Esto `InstanceId` es lo que los usuarios del clúster necesitan para iniciar sesión (`aws ssm`) en ellos. Para obtener más información sobre cómo iniciar sesión en los nodos del clúster y ejecutar cargas de trabajo de ML, consulte [Trabajos en clústeres SageMaker HyperPod](sagemaker-hyperpod-run-jobs-slurm.md).

1. Conéctese a su clúster mediante el Administrador de AWS Systems Manager sesiones.

   ```
   aws ssm start-session \
       --target sagemaker-cluster:my-hyperpod-cluster_my-login-group-i-0abc123def456789b \
       --region us-west-2
   ```

   Una vez conectado, compruebe que Slurm esté configurado correctamente:

   ```
   # Check Slurm nodes
   sinfo
   
   # Check Slurm partitions
   sinfo -p partition-1
   
   # Submit a test job
   srun -p partition-1 --nodes=1 hostname
   ```

## Eliminación del clúster y limpieza de recursos
<a name="smcluster-getting-started-slurm-cli-delete-cluster-and-clean"></a>

Una vez que haya probado correctamente la creación de un SageMaker HyperPod clúster, seguirá ejecutándose en ese `InService` estado hasta que lo elimine. Te recomendamos que elimines todos los clústeres creados con la capacidad de SageMaker IA bajo demanda cuando no estén en uso para evitar incurrir en cargos de servicio continuos en función de los precios bajo demanda. En este tutorial, has creado un clúster que consta de tres grupos de instancias. Asegúrate de eliminar el clúster ejecutando el siguiente comando.

```
aws sagemaker delete-cluster --cluster-name my-hyperpod-cluster
```

Para limpiar los scripts de ciclo de vida del bucket de S3 utilizado para este tutorial, vaya al bucket de Amazon S3 que utilizó durante la creación del clúster y elimine todos los archivos.

```
aws s3 rm s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src --recursive
```

Si ha probado la ejecución de algún modelo de carga de trabajo de entrenamiento en el clúster, compruebe también si ha cargado algún dato o si su trabajo ha guardado algún artefacto en distintos buckets de Amazon S3 o servicios de sistema de archivos, como Amazon FSx for Lustre y Amazon Elastic File System. Para evitar incurrir en gastos, elimine todos los artefactos y datos del almacenamiento o del sistema de archivos.

## Temas relacionados
<a name="smcluster-getting-started-slurm-cli-related-topics"></a>
+ [SageMaker HyperPod Configuración de Slurm](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-slurm-configuration)
+ [Personalización de SageMaker HyperPod clústeres mediante scripts de ciclo de vida](sagemaker-hyperpod-lifecycle-best-practices-slurm.md)
+ [FSx configuración mediante InstanceStorageConfigs](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-slurm-fsx-config)
+ [SageMaker HyperPod Operaciones de clúster de Slurm](sagemaker-hyperpod-operate-slurm.md)