As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
nota
O currículo automático do trabalho de treinamento requer a versão de lançamento do Kubeflow Training Operator1.7.0
,1.8.0
, ou. 1.8.1
Observe que você deve instalar o Kubeflow Training Operator nos clusters usando um chart do Helm. Para obter mais informações, consulte Instale pacotes no cluster do Amazon EKS usando o Helm. Verifique se o ambiente de gerenciamento do Kubeflow Training Operator está configurado corretamente executando o comando a seguir.
kubectl get pods -n kubeflow
Esse comando retorna uma saída semelhante à seguinte:
NAME READY STATUS RESTARTS AGE
training-operator-658c68d697-46zmn 1/1 Running 0 90s
Para enviar um trabalho de treinamento
Para executar um trabalho de treinamento, prepare o arquivo de configuração do trabalho e execute o comando kubectl apply
kubectl apply -f
/path/to/training_job.yaml
Como descrever um trabalho de treinamento
Para recuperar os detalhes do trabalho enviado ao cluster do EKS, use o comando a seguir. Ele retorna informações do trabalho, como o tempo de envio do trabalho, o tempo de conclusão, o status do trabalho e os detalhes da configuração.
kubectl get -o yaml
training-job
-nkubeflow
Para interromper um trabalho de treinamento e excluir recursos do EKS
Para interromper um trabalho de treinamento, use kubectl delete. Veja a seguir um exemplo de como interromper o trabalho de treinamento criado a partir do arquivo de configuração pytorch_job_simple.yaml
.
kubectl delete -f
/path/to/training_job.yaml
Essa saída deve retornar o seguinte resultado:
pytorchjob.kubeflow.org "training-job" deleted
Para ativar a retomada automática do trabalho
SageMaker HyperPod oferece suporte à funcionalidade de retomada automática de tarefas do Kubernetes, integrando-se ao plano de controle do Kubeflow Training Operator.
Verifique se há nós suficientes no cluster que passaram pela verificação de SageMaker HyperPod integridade. Os nós devem ter a taint sagemaker.amazonaws.com/node-health-status
definida como Schedulable
. É recomendável incluir um seletor de nós no arquivo YAML do trabalho para selecionar nós com a configuração apropriada da seguinte forma:
sagemaker.amazonaws.com/node-health-status: Schedulable
O trecho de código a seguir é um exemplo de como modificar a configuração YAML de uma tarefa do Kubeflow para ativar a funcionalidade de retomada automática da PyTorch tarefa. Você precisa adicionar duas anotações e definir restartPolicy
da seguinte OnFailure
forma:
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: 10
restartPolicy: OnFailure
template:
spec:
nodeSelector:
sagemaker.amazonaws.com/node-health-status: Schedulable
Para verificar o status de retomada automática do trabalho
Execute o comando a seguir para recuperar o status da automação.
kubectl describe pytorchjob -n kubeflow
<job-name>
Dependendo dos padrões de falha, você pode ver dois padrões de reinicialização do trabalho de treinamento do Kubeflow da seguinte maneira:
Padrão 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.
Padrão 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