Este tópico descreve como usar o recurso SanityCheck no DLC.
Visão geral
Em cenários de treinamento de IA, você pode enfrentar os seguintes problemas:
Falhas de recursos que interrompem jobs e desperdiçam recursos de GPU: um job pode consumir muito tempo na inicialização, como ao carregar um checkpoint de modelo, e falhar devido a recursos defeituosos. Investigar o problema e reenviar o job consome recursos de GPU desnecessariamente.
Ferramentas insuficientes para diagnóstico e teste de desempenho: se o desempenho do treinamento do modelo degradar durante um job, um nó lento pode ser a causa, mas identificá-lo rapidamente é difícil. Além disso, os usuários frequentemente não possuem benchmarks práticos e confiáveis para testar o desempenho de computação e comunicação de GPU das máquinas em um grupo de recursos.
Para resolver esses problemas, o DLC oferece o recurso SanityCheck, que verifica a integridade e o desempenho dos recursos de computação em jobs de treinamento distribuído. Ative esse recurso ao criar um job de treinamento do DLC. O SanityCheck realiza uma verificação abrangente nos recursos de treinamento, isola automaticamente nós com falha e aciona fluxos de trabalho de manutenção automatizados no backend. Esse processo reduz a probabilidade de problemas na fase inicial do treinamento e aumenta a taxa de sucesso do job. Após a conclusão das verificações, o SanityCheck gera um relatório sobre o desempenho de computação e comunicação da GPU. O relatório ajuda a identificar fatores que podem degradar o desempenho do treinamento, melhorando a eficiência geral do diagnóstico.
Limitações
Atualmente, este recurso está disponível apenas para jobs de treinamento PyTorch que utilizam recursos de computação inteligente Lingjun. Esses jobs devem usar todas as GPUs em cada máquina alocada. Os recursos de computação inteligente Lingjun estão disponíveis somente para usuários incluídos na lista de permissões. Para solicitar acesso, entre em contato com seu gerente de conta.
Ativar verificações de integridade
Usar o console
Ao criar um job de treinamento do DLC no PAI console, ative as verificações de integridade configurando os seguintes parâmetros principais. Após a criação do job, o sistema verifica a integridade e a disponibilidade dos recursos antes de fornecer os resultados.
Os parâmetros principais são descritos abaixo:
-
Na seção Resource Information:
Parâmetro
Descrição
Resource Type
Selecione Lingjun Intelligence Resources.
Source
Selecione Resource Quota.
Resource Quota
Selecione uma cota de recursos existente para recursos de computação inteligente Lingjun. Para obter informações sobre como criar uma cota de recursos, consulte Criar uma cota de recursos.
Framework
Selecione PyTorch.
Job Resource
Configure o job para usar todas as GPUs em cada máquina.
-
Na seção Fault Tolerance and Diagnosis, ative a chave Health Check e configure os seguintes parâmetros:
Parâmetro
Descrição
Check Time
-
Before Job Runs (padrão): executa uma verificação prévia nos nós de computação após o sistema alocar recursos para o job e antes de executar seu código.
-
After Job Restarts: executa uma verificação de integridade após o mecanismo de tolerância a falhas automáticas do AIMaster reiniciar um job devido a uma exceção.
NotaPara usar esta opção, ative a chave Automatic Fault Tolerance. Para mais informações, consulte AIMaster: An elastic and automatic fault tolerance engine.
-
Before Job Runs + After Job Restarts: executa uma verificação de integridade tanto antes da execução do job quanto após a reinicialização.
NotaPara usar esta opção, ative a chave Automatic Fault Tolerance. Para mais informações, consulte AIMaster: An elastic and automatic fault tolerance engine.
Check Items
Os itens de verificação estão agrupados em quatro categorias: verificação de desempenho de computação, verificação de comunicação entre nós, verificação de sobreposição de computação e comunicação e verificação por simulação de modelo. Para mais detalhes sobre os itens de verificação e cenários recomendados, consulte Apêndice: Itens de verificação.
-
Por padrão, GPU GEMM (para verificar o desempenho de GPU GEMM) e All-Reduce (para verificar o desempenho de comunicação entre nós e identificar nós lentos ou defeituosos) estão ativados.
-
Pesquise ou selecione itens de verificação em uma lista. Você também pode usar um modelo de configuração rápida para selecionar um conjunto predefinido de itens.
Maximum Check Duration
Tempo máximo permitido para a verificação de integridade. O padrão é 60 minutos. Se a verificação atingir o tempo limite, o sistema aciona a política configurada para lidar com exceções de verificação.
Exception Handling Policy
Se uma verificação de integridade falhar, o sistema trata o job de acordo com a política selecionada:
-
End job: se um nó defeituoso ou suspeito for identificado, o job é encerrado e marcado como Check Failed.
-
Add to blocklist and rerun: se um nó defeituoso ou suspeito for identificado, o sistema adiciona automaticamente o nó a uma lista de bloqueios, reinicia o job e executa novamente as verificações até que todas sejam aprovadas.
Maximum Restart Count
Quando a política de processamento estiver definida como 'add to blocklist and rerun', configure o número máximo de reinicializações. O valor padrão é 10. Se o número máximo de reinicializações for excedido, a tarefa falhará automaticamente.
Other Configurations
Este parâmetro está vazio por padrão. Use-o para configurar parâmetros avançados.
-
Visualizar resultados da verificação
Status da verificação de integridade
O processo de verificação de integridade para um job do DLC inclui os seguintes status:
Checking: a verificação de integridade está em andamento.
Check Failed: a verificação falha se um nó defeituoso for detectado ou se o tempo limite for atingido.
Check Passed: após todas as verificações de integridade serem aprovadas, o status do job muda para Running.
Visualizar resultados da verificação de integridade
Usar o console
Na página de detalhes de um job do DLC, acesse a aba Event e clique em Health Check para visualizar o progresso e os resultados da verificação.
A verificação de integridade inclui itens como Preparing Check Environment, GPU GEMM, GPU Kernel Launch, All-Reduce-Single-Node, MatMul/All-Reduce Overlap e Mini GPT-Single-Node. Uma marca de verificação verde indica que um item foi aprovado.
Clique na aba Restart History para visualizar o número de reinicializações, o motivo da reinicialização e o resultado.
Configurar notificações de mensagens
Crie uma regra de notificação nas configurações de notificação de eventos do seu workspace do PAI. Para Event Type, selecione DLC Job > Automatic Fault Tolerance. Para obter informações sobre como configurar outros parâmetros, consulte Message Notification. O sistema envia uma notificação se uma verificação de integridade falhar.
Para instruções sobre como criar regras de notificação de mensagens em um workspace, consulte Event Notification Settings.
Apêndice: Itens de verificação
As durações estimadas das verificações baseiam-se em uma configuração de duas máquinas e servem apenas como referência. Os tempos reais podem variar.
|
Item de verificação |
Descrição (cenários) |
Duração estimada |
|
|
Verificação de desempenho de computação |
GPU GEMM |
Testa o desempenho de GPU GEMM. Esta verificação pode identificar:
|
1 minuto |
|
GPU Kernel Launch |
Testa a latência de lançamentos de kernel de GPU. Esta verificação pode identificar:
|
1 minuto |
|
|
Verificação de comunicação entre nós |
All-Reduce |
Testa o desempenho de comunicação entre nós e identifica nós de comunicação lentos ou defeituosos. Para vários padrões de comunicação coletiva, identifica:
|
Verificação única de comunicação coletiva 5 minutos |
|
All-to-All |
|||
|
All-Gather |
|||
|
Multi-All-Reduce |
|||
|
Network Connectivity |
Testa a conectividade de rede dos nós iniciais ou finais para identificar nós com problemas de conectividade. |
2 minutos |
|
|
Verificação de sobreposição de computação e comunicação |
MatMul/All-Reduce Overlap |
Testa o desempenho de nó único quando kernels de comunicação e computação se sobrepõem. Esta verificação pode identificar:
|
1 minuto |
|
Verificação por simulação de modelo |
Mini GPT |
Verifica a confiabilidade do sistema de IA usando simulação de modelo. Identifica:
|
1 minuto |
|
Megatron GPT |
5 minutos |
||
|
ResNet |
2 minutos |
||