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,NeveroExitCode. El valor predeterminado esOnFailure.
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
-
[--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:
-
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.
-
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 JobREADME.md del repositorio de GitHub de SageMaker HyperPod CLI.