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.
Ejecute trabajos utilizando kubectl
Ten en cuenta que debes instalar Kubeflow Training Operator en los clústeres mediante un diagrama de Helm. Para obtener más información, consulte Instalar paquetes en el EKS clúster de Amazon con Helm. Comprueba si el plano de control de Kubeflow Training Operator está configurado correctamente ejecutando el siguiente comando.
kubectl get pods -n kubeflow
Esto debería devolver un resultado similar al siguiente.
NAME READY STATUS RESTARTS AGE training-operator-658c68d697-46zmn 1/1 Running 0 90s
Para enviar un trabajo de formación
Para ejecutar un trabajo de formación, prepare el archivo de configuración del trabajo y ejecute el kubectl apply
kubectl apply -f
/path/to/training_job.yaml
Para describir un trabajo de formación
Para recuperar los detalles del trabajo enviado al EKS clúster, utilice el siguiente comando. Devuelve información sobre el trabajo, como la hora de envío del trabajo, el tiempo de finalización, el estado del trabajo y los detalles de configuración.
kubectl get -o yaml
training-job
-nkubeflow
Para detener un trabajo de formación y eliminar EKS recursos
Para detener un trabajo de formación, usa kubectl delete. El siguiente es un ejemplo de cómo detener el trabajo de entrenamiento creado a partir del archivo de configuración. pytorch_job_simple.yaml
kubectl delete -f
/path/to/training_job.yaml
Esto debería devolver el siguiente resultado.
pytorchjob.kubeflow.org "training-job" deleted
Para habilitar la reanudación automática del trabajo
SageMaker HyperPod admite la funcionalidad de reanudación automática de tareas para las tareas de Kubernetes y se integra con el plano de control de Kubeflow Training Operator.
Asegúrese de que haya suficientes nodos en el clúster que hayan pasado la comprobación de estado. SageMaker HyperPod Los nodos deberían tener el valor de contaminación sagemaker.amazonaws.com/node-health-status
establecido en. Schedulable
Se recomienda incluir un selector de nodos en el YAML archivo de trabajo para seleccionar los nodos con la configuración adecuada, tal como se indica a continuación.
sagemaker.amazonaws.com/node-health-status: Schedulable
El siguiente fragmento de código es un ejemplo de cómo modificar la YAML configuración de un trabajo de Kubeflow para habilitar la funcionalidad de reanudación automática del PyTorch trabajo. Debe añadir dos anotaciones y configurarlas de la siguiente manera. restartPolicy
OnFailure
apiVersion: "kubeflow.org/v1" kind: PyTorchJob metadata: name: pytorch-simple namespace: kubeflow
annotations: { // config for job auto resume sagemaker.amazonaws.com/enable-job-auto-resume: "true" sagemaker.amazonaws.com/job-max-retry-count: "2" }
spec: pytorchReplicaSpecs: ...... Worker: replicas: 10restartPolicy: OnFailure
template: spec: nodeSelector: sagemaker.amazonaws.com/node-health-status: Schedulable
Para comprobar el estado de reanudación automática del trabajo
Ejecute el siguiente comando para comprobar el estado de la reanudación automática del trabajo.
kubectl describe pytorchjob -n kubeflow
<job-name>
Según los patrones de error, es posible que veas dos patrones de reinicio de las tareas de entrenamiento de Kubeflow, de la siguiente manera.
Patrón 1:
Start Time: 2024-07-11T05:53:10Z Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal SuccessfulCreateService 9m45s pytorchjob-controller Created service: pt-job-1-worker-0 Normal SuccessfulCreateService 9m45s pytorchjob-controller Created service: pt-job-1-worker-1 Normal SuccessfulCreateService 9m45s pytorchjob-controller Created service: pt-job-1-master-0 Warning PyTorchJobRestarting 7m59s pytorchjob-controller PyTorchJob pt-job-1 is restarting because 1 Master replica(s) failed. Normal SuccessfulCreatePod 7m58s (x2 over 9m45s) pytorchjob-controller Created pod: pt-job-1-worker-0 Normal SuccessfulCreatePod 7m58s (x2 over 9m45s) pytorchjob-controller Created pod: pt-job-1-worker-1 Normal SuccessfulCreatePod 7m58s (x2 over 9m45s) pytorchjob-controller Created pod: pt-job-1-master-0 Warning PyTorchJobRestarting 7m58s pytorchjob-controller PyTorchJob pt-job-1 is restarting because 1 Worker replica(s) failed.
Patrón 2:
Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal SuccessfulCreatePod 19m pytorchjob-controller Created pod: pt-job-2-worker-0 Normal SuccessfulCreateService 19m pytorchjob-controller Created service: pt-job-2-worker-0 Normal SuccessfulCreatePod 19m pytorchjob-controller Created pod: pt-job-2-master-0 Normal SuccessfulCreateService 19m pytorchjob-controller Created service: pt-job-2-master-0 Normal SuccessfulCreatePod 4m48s pytorchjob-controller Created pod: pt-job-2-worker-0 Normal SuccessfulCreatePod 4m48s pytorchjob-controller Created pod: pt-job-2-master-0