Recomendações de sistema de rede para cargas de trabalho de IA na infraestrutura do Azure (IaaS)
Este artigo contém recomendações de sistema de rede para organizações que executam cargas de trabalho de IA na infraestrutura do Azure (IaaS). Desenvolver uma rede bem otimizada pode aumentar a velocidade de processamento de dados, reduzir a latência e garantir que a infraestrutura de rede seja dimensionada juntamente com as demandas de IA que aumentam constantemente.
Garantir uma largura de banda suficiente
Largura de banda suficiente é a capacidade que uma rede tem de gerenciar grandes volumes de dados sem atrasos ou interrupções. A largura de banda alta acomoda a transferência de dados rápida e ininterrupta entre sistemas locais e o Azure, auxiliando no treinamento rápido do modelo de IA e reduzindo o tempo de inatividade no pipeline. Para organizações que transferem grandes conjuntos de dados do local para a nuvem para treinamento de modelos de IA, uma conexão de alta largura de banda é essencial. Use o Azure ExpressRoute para estabelecer uma conexão de alta velocidade dedicada, segura e confiável entre sua rede local e o Azure.
Minimizar a latência
Minimizar a latência envolve reduzir atrasos na transferência de dados entre recursos em rede. A latência mais baixa processa dados com mais rapidez, permitindo insights em tempo real e melhorando o desempenho de cargas de trabalho sensíveis à latência.
Otimize a colocação de recursos. Para minimizar a latência para cargas de trabalho de IA, como pré-processamento de dados, treinamento de modelo e inferência, implante VMs (máquinas virtuais) na mesma região ou zona de disponibilidade do Azure. A colocação de recursos reduz a distância física, melhorando assim o desempenho da rede.
Use grupos de posicionamento por proximidade (PPGs). Para cargas de trabalho sensíveis à latência que exigem processamento em tempo real ou comunicação rápida entre processos, utilize PPGs para colocar fisicamente recursos em um datacenter do Azure. Os PPGs garantem a proximidade entre os recursos de computação, armazenamento e rede, o que minimiza a latência para cargas de trabalho exigentes. Soluções de orquestração e InfiniBand gerenciam automaticamente a proximidade dos nós.
Use imagens pré-configuradas do sistema operacional Linux. Para simplificar a implantação do cluster, selecione imagens do sistema operacional Linux no Azure Marketplace que venham com drivers InfiniBand, drivers NVIDIA, bibliotecas de comunicação e ferramentas de monitoramento. Essas imagens são otimizadas para desempenho e podem ser implantadas com o Azure CycleCloud para criar um cluster de forma rápida e eficiente.
Implementar um sistema de rede de alto desempenho
O sistema de rede de alto desempenho utiliza recursos avançados de rede para fazer cálculos intensivos de IA em grande escala, especialmente para tarefas aceleradas por GPU. Redes de alto desempenho garantem trocas de dados rápidas e eficientes entre GPUs, o que otimiza o treinamento de modelos e acelera os ciclos de desenvolvimento de IA.
Utilize o InfiniBand para cargas de trabalho de GPU. Para cargas de trabalho dependentes da aceleração por GPU e treinamento distribuído entre várias GPUs, use a rede InfiniBand do Azure. O recurso de acesso remoto direto à memória (RDMA) GPUDirect do InfiniBand aceita comunicação direta de GPU para GPU. Ele melhora a velocidade de transferência de dados e a eficiência do treinamento de modelos. Soluções de orquestração como o Azure CycleCloud e o Azure Batch manipulam a configuração de rede InfiniBand quando você usa as VMs SKUs apropriadas.
Escolha as VMs otimizadas para GPU do Azure. Selecione VMs que usem InfiniBand, como VMs da série ND, que são projetadas para comunicação entre GPUs de alta largura de banda e baixa latência. Essa configuração é essencial para treinamento e inferência distribuídos escaláveis, pois possibilita uma troca de dados mais rápida entre GPUs.
Otimizar para processamento de dados em larga escala
A otimização para processamento de dados em larga escala envolve estratégias para gerenciar extensas transferências de dados e altas cargas de computação. O uso de paralelismo de dados e modelos possibilita dimensionar cargas de trabalho de IA e aumentar a velocidade de processamento. Use as máquinas virtuais otimizadas para GPU do Azure para gerenciar cargas de trabalho de IA complexas e com uso intensivo de dados.
Aplique técnicas de paralelismo de dados ou modelos. Para gerenciar transferências de dados extensivas em várias GPUs, implemente o paralelismo de dados ou de modelos, dependendo das necessidades de carga de trabalho de IA. Use Memória de Alta Largura de Banda (HBM), que é ideal para cargas de trabalho de alto desempenho em razão de sua alta largura de banda, baixo consumo de energia e design compacto. A HBM permite processamento rápido de dados, essencial para cargas de trabalho de IA que exigem o processamento de grandes conjuntos de dados.
Use recursos avançados de rede da GPU. Para cenários de IA exigentes, escolha VMs do Azure, como NDH100v5 e NDMI300Xv5. O Azure configura essas VMs com conexões NVIDIA Quantum-2 CX7 InfiniBand dedicadas de 400 Gb/s em conjuntos de dimensionamento de máquinas virtuais. Essas conexões aceitam RDMA direto da GPU, permitindo transferências diretas de dados de GPU para GPU que reduzem a latência e aprimoram o desempenho geral do sistema.