Para executar treinamento incremental contínuo e ajustar modelos com dados ou hiperparâmetros atualizados, use o recurso de agendamento periódico para enviar tarefas de treinamento distribuído (DLC) em intervalos regulares. O DLC integra-se ao DataWorks, permitindo usar as configurações de agendamento dele para enviar tarefas do DLC. Este tópico explica como configurar e enviar periodicamente tarefas do DLC.
Informações básicas
Configure o agendamento periódico para tarefas usando um dos seguintes métodos:
Método 1: Use um nó PAI DLC no DataWorks para carregar uma tarefa do DLC e configurar dependências de agendamento, programando a execução periódica da tarefa. Para mais informações, consulte Method 1: Use a PAI DLC node.
Método 2: Crie uma tarefa de script e configure as dependências de agendamento para executá-la periodicamente. Para mais informações, consulte Method 2: Create a script task.
Pré-requisitos
Verifique se as permissões necessárias para o DLC foram concedidas. Para mais informações, consulte Cloud product dependencies and authorization: DLC.
-
Conceda acesso do DataWorks ao PAI.
Acesse a Página de Autorização para conceder as permissões com um único clique. Para mais detalhes sobre a política de permissões, 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.
-
Crie um fluxo de trabalho.
É necessário criar um fluxo de trabalho antes de criar um nó. Para mais informações, consulte Create a workflow.
Considerações
Cada execução concluída de um nó PAI DLC gera uma nova tarefa do DLC na plataforma de Treinamento Distribuído (DLC) do PAI. Para evitar o acúmulo de muitas tarefas com nomes idênticos, defina uma frequência de agendamento adequada e adicione variáveis de data e hora ao nome da tarefa. Atribua parâmetros de agendamento baseados em tempo a essas variáveis para que cada nome de tarefa inclua um carimbo de data/hora exclusivo. Para mais informações, consulte Step 2: Develop a PAI DLC task.
O DataWorks não oferece suporte à execução de tarefas PAI DLC no grupo de recursos de agendamento público.
Os exemplos neste tópico usam a região China (Shanghai). A interface do usuário pode variar em outras regiões.
Método 1: Usar um nó PAI DLC
Etapa 1: Criar uma tarefa do DLC
Faça login no PAI console, acesse a página de tarefas de treinamento distribuído e crie uma tarefa do DLC. O exemplo a seguir mostra como enviar uma tarefa do DLC do tipo framework PyTorch. Para mais informações, consulte Quickly submit a single-node PyTorch transfer learning job.
Etapa 2: Criar um nó PAI DLC
-
Faça login no DataWorks console. Na região desejada, clique em no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Data Development.
Clique com o botão direito no fluxo de trabalho desejado e escolha .
Na caixa de diálogo Create Node, insira um Name para o nó e clique em OK. Em seguida, desenvolva e configure a tarefa dentro do nó.
-
Na página de edição do nó, pesquise e carregue a tarefa do DLC criada pelo nome.
Após carregar a tarefa, o editor de nós do DLC gera o código correspondente com base na configuração da tarefa no PAI. Você pode então editar a tarefa usando esse código. Para mais informações, consulte Step 2: Create a PAI DLC node.
Etapa 3: Configurar o agendamento da tarefa
Clique em Scheduling Settings no lado direito da área de edição do nó. O painel Scheduling Settings contém itens de configuração como Basic Properties, Scheduling Parameters, Time Properties, Resource Properties e Scheduling Dependencies. Configure o ciclo de agendamento na seção Time Properties. O DataWorks executará automaticamente a tarefa do nó com base no ciclo configurado. Para mais detalhes sobre a configuração, consulte Overview of task scheduling properties.
Defina as propriedades Rerun e Parent Nodes do nó antes de confirmá-lo.
Para evitar a criação de numerosas tarefas difíceis de distinguir e com o mesmo nome no PAI ao usar o agendamento periódico no DataWorks, defina um ciclo de agendamento adequado às suas necessidades durante o desenvolvimento da tarefa do DLC. Para mais informações, consulte Step 2: Develop a PAI DLC task.
Etapa 4: Depurar o código da tarefa
Realize as seguintes operações de depuração para garantir que a tarefa seja executada corretamente.
-
(Opcional) Selecione um grupo de recursos e atribua valores aos parâmetros personalizados.
Clique no ícone
na barra de ferramentas. Na caixa de diálogo Parameter, selecione o grupo de recursos de agendamento para depuração.Se o código da sua tarefa usar parâmetros de agendamento, atribua valores a eles aqui para depuração. Para mais informações sobre a lógica de atribuição de parâmetros, consulte What is the difference in assignment logic among Run, Advanced Run, and smoke test in the development environment?.
-
Salve e execute o código.
Clique no ícone
na barra de ferramentas para salvar o código e, em seguida, clique no ícone
para executar a tarefa. -
(Opcional) Realize um teste de fumaça (smoke test).
Para verificar se a tarefa do nó agendada é executada conforme o esperado no ambiente de desenvolvimento, realize um teste de fumaça ao enviar o nó ou após o envio. Para mais informações, consulte Perform a smoke test.
Etapa 5: Confirmar e publicar a tarefa
Após configurar a tarefa do nó, envie-a e faça o deploy. Depois do deploy, o nó será executado periodicamente com base em sua configuração de agendamento.
Clique no ícone
na barra de ferramentas para salvar o nó.-
Clique no ícone
na barra de ferramentas para enviar a tarefa do nó.Na caixa de diálogo Commit Node, insira uma Change Description. Você também pode escolher se deseja realizar uma revisão de código após o envio.
NotaDefina o Rerun attribute e os Parent Nodes do nó antes de enviá-lo.
A revisão de código ajuda a garantir a qualidade do código e evita que tarefas com erros sejam implantadas em produção. Se você ativar a revisão de código, o código enviado deverá ser aprovado antes do deploy. Para mais informações, consulte Code review.
Se você utilizar um workspace no modo padrão, clique em Deploy no canto superior direito da página de edição do nó após o envio para implantar a tarefa em produção. Para mais informações, consulte Deploy a task.
Etapa 6: Visualizar logs de operação
Depois que a tarefa for enviada e implantada, ela será executada periodicamente com base na configuração do nó. Clique em O&M Personnel no canto superior direito da página do editor para visualizar o status de agendamento e execução. Para mais informações, consulte Manage scheduled tasks.
Método 2: Criar uma tarefa de script
Etapa 1: Criar um grupo de recursos de agendamento exclusivo
No DataWorks console, crie um grupo de recursos exclusivo para agendamento. Para mais informações, consulte Use an exclusive resource group for scheduling.
Etapa 2: Vincular o workspace
Vincule o grupo de recursos exclusivo de agendamento a um workspace antes de poder selecioná-lo. Para mais informações, consulte Step 2: Bind a workspace.
Etapa 3: Instalar o kit de ferramentas do DLC
A instalação do kit de ferramentas do DLC requer permissão de administrador.
-
Crie um comando.
Faça login no DataWorks console. No painel de navegação à esquerda, clique em Resource Group. A página Exclusive Resource Group aparece por padrão.
Localize o grupo de recursos exclusivo cujo Purpose seja Data Scheduling. Na coluna Actions, clique no ícone
e selecione O&M Assistant.-
Na página do Assistente de O&M, clique em Create Command, configure os parâmetros principais conforme descrito na tabela a seguir e clique em OK.
Parâmetro
Descrição
Command Type
Selecione Manually Enter.
Command Content
Insira os seguintes comandos.
wget -P /home/admin/usertools/tools/ https://dlc-release.oss-cn-zhangjiakou.aliyuncs.com/console/public/latest/dlc --no-check-certificate chmod +x /home/admin/usertools/tools/dlcInstallation Directory
Instale o kit de ferramentas no diretório /home/admin/usertools/tools/.
Timeout
O período de tempo limite para o comando, em segundos. Se o comando atingir o tempo limite, o sistema o encerrará. Recomenda-se um valor de 60 segundos.
-
Execute o comando.
Na página do Assistente de O&M, localize o comando criado e clique em Actions na coluna Run Command.
No painel Run Command, clique em Run.
-
Visualize o status de execução do comando.
Na lista na parte inferior da página do Assistente de O&M, clique em View result para o comando correspondente. Se o status de execução for Succeeded, o comando para instalar o kit de ferramentas do DLC foi executado com sucesso.
Na caixa de diálogo Command Execution Result, visualize os detalhes da execução. Se o progresso for 100%, o kit de ferramentas do DLC foi instalado com sucesso.
Etapa 4: Criar um fluxo de trabalho
-
Acesse a página DataStudio.
Faça login no DataWorks console. Na barra de navegação superior, selecione a região desejada. No painel de navegação à esquerda, escolha . Na página exibida, selecione o workspace desejado na lista suspensa e clique em Go to Data Development.
Etapa 5: Enviar uma tarefa de teste
O envio periódico de tarefas requer um nó de tarefa existente. Antes de configurar o agendamento, execute um teste de fumaça para criar esse nó inicial. Se já existir um nó, pule para a Etapa 6.
-
Edite o script de deploy.
Na página do fluxo de trabalho, clique duas vezes no nó Shell criado (nó de deploy).
-
Na página do nó Shell, insira os seguintes comandos.
# Generate a job description file. cat << EOF > jobfile name=dataworks-job workers=1 worker_spec=ecs.g6.large worker_image=registry-vpc.cn-hangzhou.aliyuncs.com/pai-dlc/pytorch-training:1.7.1-gpu-py37-cu110-ubuntu18.04 command=echo $(date) EOF # Submit the job. /home/admin/usertools/tools/dlc submit pytorchjob\ --access_id=<your_access_key_id> \ --access_key=<your_access_key_secret> \ --endpoint=pai-dlc.cn-hangzhou.aliyuncs.com \ --region=cn-hangzhou \ --job_file=./jobfile \ --interactiveO arquivo jobfile descreve as informações da tarefa. Para mais detalhes sobre a configuração, consulte Submit commands. A tabela a seguir lista o mapeamento entre o parâmetro endpoint e as regiões.
Região
Endpoint
China (Shanghai)
pai-dlc.cn-shanghai.aliyuncs.com
China (Beijing)
pai-dlc.cn-beijing.aliyuncs.com
China (Hangzhou)
pai-dlc.cn-hangzhou.aliyuncs.com
China (Shenzhen)
pai-dlc.cn-shenzhen.aliyuncs.com
China (Hong Kong)
pai-dlc.cn-hongkong.aliyuncs.com
Singapore
pai-dlc.ap-southeast-1.aliyuncs.com
Malaysia (Kuala Lumpur)
pai-dlc.ap-southeast-3.aliyuncs.com
Germany (Frankfurt)
pai-dlc.eu-central-1.aliyun.cs.com
-
Execute o script.
Na página do nó Shell, clique no ícone
na parte superior da página. Na caixa de diálogo Warning, clique em Continue to Run.Na página Run Parameters, defina Resource Group for Scheduling como o grupo de recursos exclusivo que você criou. Em seguida, clique em OK.
Após a conclusão da execução, uma tarefa é criada. Visualize a tarefa na página de treinamento distribuído (DLC) no workspace padrão do PAI.
Etapa 6: Configurar o agendamento periódico
-
Execute a tarefa agendada.
Na página do nó Shell, clique em Scheduling Settings no lado direito.
Na página Scheduling Settings, vá para a seção Time Properties e configure as propriedades Scheduling Cycle e Rerun.
Na seção Scheduling Dependencies, clique em Use Workspace Root Node ao lado de Parent Nodes.
Configure as dependências. Para mais informações, consulte Configure same-cycle scheduling dependencies.
Clique no ícone
na parte superior da página do nó Shell para salvar a configuração.Clique no ícone
na parte superior da página do nó Shell para confirmar a tarefa agendada.
-
Visualize as instâncias da tarefa agendada.
Na página do nó Shell, clique em O&M no canto superior direito. Na página Operation Center, escolha .
Na página de detalhes da instância, visualize o Scheduled Time da tarefa enviada automaticamente. Na coluna Actions, escolha para visualizar o log de execução de cada envio.
Documentos relacionados
Visualize e gerencie tarefas do DLC enviadas periodicamente no PAI console: