Ejecución de trabajos con la CLI de SageMaker HyperPod - Amazon SageMaker AI

Ejecución de trabajos con la CLI de SageMaker HyperPod

Para ejecutar los trabajos, asegúrese de haber instalado Kubeflow Training Operator en los clústeres de EKS. Para obtener más información, consulte Instalación de paquetes en el clúster de Amazon EKS mediante Helm.

Ejecute el comando hyperpod get-cluster para obtener la lista de clústeres disponibles de HyperPod.

hyperpod get-clusters

Ejecute el hyperpod connect-cluster para configurar la CLI de SageMaker HyperPod con el clúster de EKS orquestando el clúster de HyperPod.

hyperpod connect-cluster --cluster-name <hyperpod-cluster-name>

Utilice el comando hyperpod start-job para ejecutar un trabajo. En el siguiente comando se muestra el comando con las opciones necesarias.

hyperpod start-job \ --job-name <job-name> --image <docker-image-uri> --entry-script <entrypoint-script> --instance-type <ml.instance.type> --node-count <integer>

El comando hyperpod start-job también incluye varias opciones, como, por ejemplo, la reanudación automática y la programación de trabajos.

Habilitación de la reanudación automática de trabajos

El comando hyperpod start-job también tiene las siguientes opciones para especificar la reanudación automática de un trabajo. Para permitir que la reanudación automática de trabajos funcione con las características de resiliencia de nodos de SageMaker HyperPod, debe establecer el valor de la opción restart-policy en OnFailure. El trabajo debe ejecutarse en el espacio de nombres kubeflow o en un espacio de nombres con el prefijo hyperpod.

  • [--auto-resume <bool>] #Opcional, habilite la reanudación automática del trabajo después de un error, el valor predeterminado está establecido en false.

  • [--max-retry <int>] #Opcional, si la reanudación automática está establecida en true, el valor predeterminado de max-retry es 1 si no se especifica.

  • [--restart-policy <enum>] #Opcional, política de reinicio de PyTorchJob. Los valores disponibles son Always, OnFailure, Never o ExitCode. El valor predeterminado es OnFailure.

hyperpod start-job \ ... // required options \ --auto-resume true \ --max-retry 3 \ --restart-policy OnFailure

Ejecución de trabajos con opciones de programación

El comando hyperpod start-job tiene las siguientes opciones para configurar el trabajo con mecanismos de cola.

nota

Necesita que Kueue esté instalado en el clúster de EKS. Si no está instalado, siga las instrucciones que se indican en Configuración de la gobernanza de tareas de SageMaker HyperPod.

  • [--scheduler-type <enum>] #Opcional, especifique el tipo de programador. El valor predeterminado es Kueue.

  • [--queue-name <string>] #Opcional, especifique el nombre de Cola local o Cola de clúster que desea enviar con el trabajo. Los administradores del clúster deben crear la cola con CreateComputeQuota.

  • [--priority <string>] #Opcional, especifique el nombre de Clase de prioridad de carga de trabajo, que deben crear los administradores del clúster.

hyperpod start-job \ ... // required options --scheduler-type Kueue \ --queue-name high-priority-queue \ --priority high

Ejecución de trabajos a partir de un archivo de configuración

También puede crear un archivo de configuración de trabajos que incluya todos los parámetros necesarios para el trabajo y, a continuación, pasar este archivo de configuración al comando hyperpod start-job mediante la opción --config-file. En este caso:

  1. Cree el archivo de configuración de trabajos con los parámetros necesarios. Consulte el archivo de configuración de trabajos del repositorio de GitHub de SageMaker HyperPod CLI para obtener un archivo de configuración de referencia.

  2. Inicie el trabajo con el archivo de configuración de la siguiente manera.

    hyperpod start-job --config-file /path/to/test_job.yaml
sugerencia

Para obtener una lista completa de los parámetros del comando hyperpod start-job, consulte la sección Submitting a Job en README.md del repositorio de GitHub de SageMaker HyperPod CLI.