Ao enviar um job de treinamento no Deep Learning Containers (DLC) do Platform for AI (PAI), o DLC injeta automaticamente variáveis de ambiente utilizáveis no código.
Variáveis de ambiente do PyTorch
Em jobs de treinamento distribuído com PyTorch, todos os nós devem se comunicar pelo nó mestre. O DLC injeta as variáveis a seguir para que cada nó descubra o endereço do mestre e identifique sua posição no cluster.
|
Variável |
Descrição |
Exemplo |
|
|
Endereço de serviço do nó mestre |
|
|
|
Porta do nó mestre |
|
|
|
Total de nós no job |
|
|
|
Índice deste nó em todo o job |
|
|
|
Número de GPUs por nó worker |
|
Variáveis de ambiente do TensorFlow
O treinamento distribuído com TensorFlow usa TF_CONFIG para descrever a topologia completa do cluster e identificar a tarefa atual. O DLC define essa variável automaticamente em todos os nós.
|
Variável |
Descrição |
|
|
String JSON que descreve a topologia da rede distribuída, incluindo a lista de workers do cluster e a identidade da tarefa do nó atual |
Valor de exemplo (para worker-0 em um job com dois workers):
{
"cluster": {
"worker": [
"dlc1y3madghd****-worker-0.t1612285282502324.svc:2222",
"dlc1y3madghd****-worker-1.t1612285282502324.svc:2222"
]
},
"task": {
"type": "worker",
"index": 0
},
"environment": "cloud"
}
O array cluster.worker lista todos os workers do job. O objeto task identifica este nó: type representa sua função e index indica sua posição (baseada em zero) na lista de workers.
Variáveis de rede de alto desempenho do Lingjun
Para obter informações sobre as variáveis de ambiente usadas com o Lingjun AI Computing Service (Lingjun), consulte a seção "Configure high-performance network variables" em RDMA: redes de alto desempenho para treinamento distribuído.