Introducción a SageMaker HyperPod con la consola de SageMaker AI
En el siguiente tutorial, se muestra cómo crear un nuevo clúster de SageMaker HyperPod y configurarlo con Slurm a través de la interfaz de usuario de la consola de SageMaker AI. Si sigue el tutorial, creará un clúster de HyperPod con tres nodos de Slurm: my-controller-group, my-login-group y worker-group-1.
Crear un clúster
Para ir a la página de clústeres de SageMaker HyperPod y elegir la orquestación de Slurm, siga estos pasos.
Abra la consola de Amazon SageMaker AI en https://console.aws.amazon.com/sagemaker/
. -
Seleccione Clústeres de HyperPod en el panel de navegación izquierdo y, a continuación, Administración de clústeres.
-
En la página Clústeres de SageMaker HyperPod, elija Crear clúster de HyperPod.
-
En el menú desplegable Crear clúster de HyperPod, seleccione Orquestado por Slurm.
-
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.
-
Configuración rápida: para comenzar de inmediato con la configuración predeterminada, seleccione Configuración rápida. Con esta opción, SageMaker AI creará nuevos recursos como VPC, subredes, grupos de seguridad, un bucket de Amazon S3, un rol de IAM y FSx para Lustre durante el proceso de creación del clúster.
-
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.
-
En la sección Configuración rápida, siga estos pasos para crear su clúster de HyperPod con la orquestación de Slurm.
Configuración general
Especifique un nombre para el nuevo clúster. Después de crear el clúster no puede cambiarle el nombre.
Grupos de instancias
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.
-
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 paramy-login-groupy Computación (de trabajo) paraworker-group-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-groupyworker-group-1. -
En Capacidad de instancia, elija la capacidad bajo demanda o un plan de entrenamiento para reservar recursos de computación.
-
En Tipo de instancia, elija la instancia del grupo de instancias. Para este tutorial, seleccione
ml.c5.xlargeparamy-controller-group,ml.m5.4xlargeparamy-login-groupyml.trn1.32xlargeparaworker-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 Cuotas de SageMaker HyperPod.
-
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.
-
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.
-
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 comandodf -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 de la Guía del usuario de Amazon Elastic Block Store. -
Elija Agregar grupo de instancias.
Valores predeterminados de la configuración rápida
En esta sección se enumeran todos los ajustes predeterminados para la creación de clústeres, incluidos los nuevos recursos de AWS que se crearán durante el proceso de creación de clústeres. Revise la configuración predeterminada.
En la sección Configuración personalizada, siga estos pasos para crear su clúster de HyperPod con la orquestación de Slurm.
Configuración general
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
Configure los ajustes de red para crear el clúster. Los ajustes no se puede modificar una vez creado el clúster.
-
En VPC, seleccione su propia VPC si ya dispone de una que permita a SageMaker AI acceder a su VPC. Para crear una VPC nueva, siga las instrucciones de la sección Creación de una VPC de la Guía del usuario de Amazon Virtual Private Cloud. Puede seleccionar la opción Ninguna para usar la VPC predeterminada de SageMaker AI.
-
En Bloque de CIDR de VPC IPv4, introduzca la IP de inicio de la VPC.
-
En Zonas de disponibilidad, elija las zonas de disponibilidad (AZ) en las que HyperPod creará las subredes para su clúster. Elija las AZ que coincidan con la ubicación de su capacidad de computación acelerada.
-
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
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.
-
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 paramy-login-groupy Computación (de trabajo) paraworker-group-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-groupyworker-group-1. -
En Capacidad de instancia, elija la capacidad bajo demanda o un plan de entrenamiento para reservar recursos de computación.
-
En Tipo de instancia, elija la instancia del grupo de instancias. Para este tutorial, seleccione
ml.c5.xlargeparamy-controller-group,ml.m5.4xlargeparamy-login-groupyml.trn1.32xlargeparaworker-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 Cuotas de SageMaker HyperPod.
-
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.
-
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.
-
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 comandodf -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 de la Guía del usuario de Amazon Elastic Block Store. -
Elija Agregar grupo de instancias.
Scripts de ciclo de vida
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 de ejemplo predeterminados en el Awesome Distributed Training GitHub repository
-
En Scripts de ciclo de vida, elija usar scripts de ciclo de vida predeterminados o personalizados.
-
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
Elija o cree un rol de IAM que permita ejecutar HyperPod y acceder a los recursos de AWS necesarios en su nombre.
Almacenamiento
Configure el sistema de archivos de FSx para Lustre para que se aprovisione en el clúster de HyperPod.
-
En Sistema de archivos, elija un sistema de archivos de FSx para Lustre existente para crear un nuevo sistema de archivos de FSx para Lustre o no aprovisione ningún sistema de archivos de FSx para Lustre.
-
En Rendimiento por unidad de almacenamiento, elija el rendimiento que estará disponible por TiB de almacenamiento aprovisionado.
-
En Capacidad de almacenamiento, introduzca un valor de capacidad en TB.
-
En Tipo de compresión, elija LZ4 para habilitar la compresión de datos.
-
En Versión Lustre, consulte el valor recomendado para los nuevos sistemas de archivos.
Etiquetas: opcional
En Etiquetas: opcional, añada pares clave-valor al nuevo clúster y administre el clúster como un recurso de AWS. Para obtener más información, consulte Tagging your AWS resources.
Implementación de recursos
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: SageMaker AI empezará a aprovisionar los recursos de configuración predeterminados y a crear el clúster.
-
Descargar los parámetros de la plantilla de CloudFormation: descargará el archivo JSON de los parámetros de configuración y ejecutará el comando de la AWS CLI para implementar la pila de CloudFormation a fin de 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 de SageMaker HyperPod con plantillas de CloudFormation.
Eliminación del clúster y limpieza de recursos
Una vez que haya probado correctamente la creación de un clúster de SageMaker HyperPod, seguirá ejecutándose en el estado InService hasta que elimine el clúster. Le recomendamos que elimine todos los clústeres creados con instancias de SageMaker AI bajo demanda cuando no estén en uso para evitar incurrir en cargos de servicio continuos según 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 Eliminación de un clúster de SageMaker HyperPod.
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 a ejecutar alguna carga de trabajo en el clúster, compruebe si ha cargado cualquier dato o si el trabajo ha guardado cualquier artefacto en distintos buckets de S3 o servicios de sistema de archivos, como Amazon FSx para Lustre y Amazon Elastic File System. Para evitar incurrir en gastos, elimine todos los artefactos y datos del almacenamiento o del sistema de archivos.