O Deep Learning Containers (DLC) do Platform for AI (PAI) oferece um ambiente flexível, estável, fácil de usar e de alto desempenho para treinamento distribuído. O DataWorks disponibiliza um nó do PAI DLC que permite carregar tarefas do DLC diretamente e configurar dependências de agendamento para execução periódica.
Pré-requisitos
-
Autorize o DataWorks a acessar o Platform for AI (PAI).
Acesse a página de autorização para conceder as permissões necessárias com um único clique em. Para obter detalhes sobre a política, consulte AliyunServiceRoleForDataWorksEngine. Somente uma conta Alibaba Cloud ou um usuário RAM com a política Aliyundataworksfullaccess pode realizar essa autorização com um clique em.
Crie um diretório de projeto. Para mais informações, consulte Diretório de projeto.
Crie um nó do PAI DLC. Para mais informações, consulte Criar um nó em um workflow.
Procedimento
-
Na página de edição do nó do PAI DLC, desenvolva o código da tarefa.
Desenvolver o código da tarefa
Escreva o código da tarefa DLC de uma das seguintes formas, conforme suas necessidades de negócio:
A partir de uma tarefa existente
Pesquise uma tarefa DLC existente no Platform for AI (PAI) pelo nome e carregue-a. Após o carregamento, o editor de nós do PAI DLC gera o código do nó com base na configuração do PAI da tarefa. Em seguida, edite esse código conforme necessário.
NotaCaso não tenha permissões para carregar ou criar uma tarefa, siga as instruções na tela para conceder os acessos necessários.
Se não houver tarefas disponíveis, acesse o PAI console para criar uma. É possível criar tarefas do PAI DLC de várias maneiras. Para mais informações, consulte Criar um job de treinamento, Criar um job de treinamento: Python SDK e Criar um job de treinamento: Linha de comando.
Do zero
Escreva o código da tarefa diretamente no editor de nós do PAI DLC no DataWorks.
Defina variáveis usando o formato ${variable_name}. Depois, no painel Scheduling Settings à direita, atribua valores a essas variáveis na seção Scheduling Parameters. Isso permite passar parâmetros dinâmicos ao código durante execuções agendadas. Para mais informações sobre como usar parâmetros de agendamento, consulte Fontes e expressões de parâmetros de agendamento. O código abaixo serve como exemplo.
dlc submit pytorchjob \ #Submit a PyTorch job by using DLC. --name=test \ #The DLC task name. We recommend that you use a variable name or the DataWorks node name. --command='echo '\''hi'\''' \ #The command to execute. In this example, the command is echo 'hi'. --workspace_id=309801 \ #The workspace in which the task runs. --priority=1 \ #The task priority. Valid values: 1 to 9. 1 indicates the lowest priority, and 9 indicates the highest priority. --workers=1 \ #The number of task nodes. If this value is greater than 1, the task is a distributed task that can run concurrently on multiple nodes. --worker_image=<image> \ #The image path for the worker. --image_repo_username=<username> \ #The username for private image authorization. --image_repo_password=<password> \ #The password for private image authorization. --data_source_uris=oss://oss-cn-shenzhen.aliyuncs.com/::/mnt/data/:{mountType:jindo} \ #Mount an OSS data source to the specified path in the container. In this example, the mount type is jindo. --worker_spec=ecs.g6.xlarge #The node specification, which specifies the compute node type.
-
Após concluir o código da tarefa do PAI DLC, execute a tarefa do nó.
-
Em Run Configuration, selecione e configure o Resource Group.
Selecione um grupo de recursos para agendamento aprovado no teste de conectividade com sua fonte de dados. Para mais informações, consulte Criar e gerenciar grupos de recursos.
Na barra de ferramentas, clique em Run para executar a tarefa do nó.
-
Para executar a tarefa do nó regularmente, configure as definições de agendamento conforme suas necessidades de negócio. Para mais informações, consulte Configurar definições de agendamento.
Após configurar a tarefa do nó, implante-o. Para mais informações, consulte Implantar nós.
Após implantar a tarefa, acesse o Operation Center para visualizar o status de execução da tarefa agendada. Para mais informações, consulte Visualizar tarefas agendadas.