A computação paralela de IA para modelos grandes exige otimizações que reduzam a sobrecarga de comunicação, sobreponham computação e comunicação e aumentem a eficiência da comunicação. O RDMA (Remote Direct Memory Access) reduz significativamente a latência de rede e é ideal para jobs de treinamento distribuído executados em recursos de computação inteligente Lingjun.
Limites de uso
Este recurso se aplica apenas a jobs de treinamento enviados nos Lingjun intelligent computing resources.
Configure variáveis de rede de alto desempenho
O Platform for AI (PAI) ativa o recurso RDMA nos recursos de computação inteligente Lingjun e pré-configura variáveis otimizadas da NVIDIA Collective Communications Library (NCCL). Recomendamos usar as variáveis padrão para obter melhor desempenho. Ajuste-as conforme seu framework de treinamento e as características do modelo, se necessário.
Variáveis padrão (predefinição da plataforma)
A plataforma pré-configura variáveis padrão de acordo com o tipo de instância Lingjun. A tabela a seguir lista os detalhes:
|
Tipo de instância Lingjun |
Variáveis NCCL |
|
|
Para obter detalhes sobre as variáveis NCCL, consulte Environment variable description.
Descrição das variáveis de ambiente
A tabela a seguir descreve as principais variáveis de ambiente NCCL. Para mais informações, consulte a documentação do NCCL.
|
Variável de ambiente principal |
Descrição |
|
NCCL_IB_TC |
Corresponde às regras de mapeamento de rede da Alibaba Cloud. A ausência ou configuração incorreta dessa variável pode degradar o desempenho. |
|
NCCL_IB_GID_INDEX |
Fornece um valor recomendado. Caso essa variável não esteja definida ou esteja incorreta, o NCCL pode apresentar erros. |
|
NCCL_SOCKET_IFNAME |
Seleciona a porta correta para estabelecer conexões. Diferentes tipos de instância possuem requisitos distintos de porta. Sem essa configuração adequada, o NCCL pode falhar ao estabelecer conexões. |
|
NCCL_DEBUG |
Geralmente definida como INFO para gerar mais logs relacionados ao NCCL, facilitando a identificação e resolução de possíveis problemas. |
|
NCCL_IB_HCA |
Especifica o controlador de interface de rede (NIC) para comunicação RDMA. A quantidade e a convenção de nomenclatura dos dispositivos InfiniBand variam entre nós de computação. Uma definição ausente ou incorreta pode reduzir o desempenho. |
|
NCCL_IB_TIMEOUT |
Aumenta o tempo limite de conexão RDMA para melhorar a tolerância a falhas nos jobs de treinamento. A ausência ou configuração incorreta dessa variável pode interromper os jobs. |
|
NCCL_IB_QPS_PER_CONNECTION |
Eleva o número de Queue Pairs (QPs) por conexão para aumentar o throughput da rede. |
Configure imagens
Ao enviar um job de treinamento baseado nos Lingjun intelligent computing resources, utilize as imagens integradas oficiais fornecidas pelo DLC.
Estão disponíveis as três imagens oficiais de treinamento GPU a seguir:
deepspeed-training:23.06-gpu-py310-cu121-ubuntu22.04
megatron-training:23.06-gpu-py310-cu121-ubuntu22.04
nemo-training:23.06-gpu-py310-cu121-ubuntu22.04
Todas as três imagens incluem PyTorch 2.1, Megatron-LM 23.06, DeepSpeed 0.9.5, Transformers 4.29.2, NVIDIA NeMo 1.19.0, CUDA 12.1, Ubuntu 22.04 e Python 3.10. As imagens estão implantadas na região china (Ulanqab).
Documentos relacionados
Para consultar as etapas detalhadas de envio de um job de treinamento em recursos de computação inteligente Lingjun, veja Crie um job de treinamento.