Recomendações para garantir a performance e o retorno do investimento de Clusters para Inteligência Artificial
Introdução
Com a crescente demanda por processamento de sistemas de Inteligência Artificial resolvemos, devidamente autorizados, compartilhar com a nossa clientela o texto seguinte de autoria da MICROWAY.
A B2F TI tem uma longa relação de parceria com a MICROWAY, empresa americana especializada e dedicada ao projeto e fornecimento de Clusters computacionais que resultaram numa dezena de fornecimentos conjuntos e Clientes satisfeitos no Brasil.
Considerações Iniciais
Inteligência Artificial e, mais especificamente, Deep Learning estão revolucionando o modo como as empresas utilizam a grande quantidade de dados que coletam e como os pesquisadores aceleram o tempo de descoberta. Alguns dos exemplos mais significativos vêm do modo como a Inteligência Artificial afetou a vida como a conhecemos, com o reconhecimento de voz dos smartphones, a classificação de imagens dos mecanismos de pesquisa e a detecção de câncer em imagens biomédicas. Nos últimos anos a maioria das empresas e grupos de pesquisas tem coletado dados valiosos ou implementado novos processos para coletar dados e utiliza-los com inovações do Deep Learning para obter insights, fazer previsões acuradas e abrir o caminho para novas descobertas.
Desenvolver um plano para processar cargas de trabalho de Inteligência Artificial na infraestrutura de negócios ou de grupos de pesquisa apresenta muitos desafios. No entanto, existem dois elementos-chave que devem orientar as decisões de planejamento de Clusters computacionais para processar aplicações de Inteligência Artificial. Primeiro, entender os tipos e volumes de dados é fundamental para determinar os requisitos computacionais para o treinamento da rede neural. Segundo porem igualmente importante, entender a expectativa do negócio ou grupo de pesquisa para o tempo resposta na obtenção de resultados dos modelos.
Cada um desses fatores influencia o processamento da carga de trabalho de Inteligência Artificial tanto na fase do Treinamento quanto na fase da Inferência. Subestimar as características dos dados resultará em recursos computacionais e de infraestrutura insuficientes para treinar as redes em um prazo razoável, enquanto que, subestimar o tempo-para-resultados na fase de Inferência pode resultar em não entregar o Retorno do Investimento ou dificultar a obtenção dos resultados da pesquisa.
A seguir, apresentamos resumidamente os diferentes recursos que devem ser levados em consideração no projeto de Cluster para processamento de Inteligência Artificial (Cluster IA).
Arquiteturas do Sistema
As cargas de trabalho de Inteligência Artificial são muito semelhantes às cargas de trabalho de HPC, pois exigem recursos computacionais maciços combinados com acesso rápido e eficiente a conjuntos de dados gigantes. Atualmente, existem sistemas especificamente desenhados para atender à carga de trabalho de Cluster para Inteligência Artificial. Esses sistemas descritos nas seções abaixo geralmente compartilham características semelhantes: Núcleos de CPU de alto desempenho, Grande capacidade de memória, Múltiplas GPUs conectadas por NVLink por nó computacional, Interconexões Ethernet 10G ou InfiniBand EDR. No entanto, existem diferenças sutis com cada plataforma, senão vejamos:
Microway GPU-Accelerated NumberSmasher
A Microway demonstra o valor da experiência em cada implementação que faz de cluster de GPUs. O longo histórico da empresa de projetar e implantar clusters de GPU no estado da arte para HPC torna seu conhecimento inestimável para configurar de forma personalizada Clusters para Inteligência Artificial prontos para produção em escala real. Um dos nós computacionais com GPUs mais comumente utilizado em Inteligência Artificial é o Microway NumberSmasher 1U com NVLink. Este sistema fornece elevado desempenho computacional num espaço reduzido, o que o torna um bloco ideal para construção de clusters escaláveis. Alternativamente, o Octoputer com Single Root Complex oferece maior número de GPUs para maximização da performance total de um único sistema.
Para garantir o máximo desempenho e confiabilidade a MICROWAY testa, ajusta e integra cada nó computacional construído. Todos clusters, uma vez integrados, passam por testes totais de sistema para garantir a operacionalidade de todo o conjunto em condições de pico. Também oferece serviços de integração de diversos “frameworks” de Inteligência Artificial, além do conjunto completo de utilitários e software de gerenciamento do cluster. Finalmente, todos os sistemas Microway são fornecidos com Lifetime Technical Support.
Para saber mais sobre os clusters e sistemas de GPU da Microway, visite Tesl GPU clusters.
NVIDIA DGX
Os sistemas DGX-1 e DGX Station da NVIDIA oferecem não apenas um denso poder computacional por sistema, mas também incluem o acesso a nuvem NVIDIA GPU CLOUD and Container Registry. Esses recursos da NVIDIA fornecem ambientes de contêiners otimizados para hospedagem de bibliotecas e “frameworks” normalmente executados em um Cluster AI. Isso permite que pesquisadores e cientistas de dados se concentrem em fornecer resultados, em vez de se preocupar com manutenção e ajuste de software. Como fornecedora de soluções Elite de produtos NVIDIA, a Microway oferece sistemas DGX como uma solução de sistema para processamento de Inteligência Artificial completo ou como parte de um projeto de cluster IA personalizado.
Para saber mais, visite Microway Tesla DGX-1 e DGX Station.
IBM Power Systems com PowerAI
O compromisso da IBM com o design inovador de chips e sistemas para HPC e Inteligência Artificial criou uma plataforma para computação de próxima geração. Por meio da colaboração com a NVIDIA, os IBM Power Systems são as únicas plataformas de GPU disponíveis que integram a conectividade NVLink entre CPU e GPU. A versão mais recente do AC922 Power System da IBM oferece taxa de transferência 10 vezes superior a dos sistemas x86 tradicionais. Além disso, a Microway integra o IBM PowerAI com sua otimizada distribuição de software para proporcionar menor tempo de implementação.
Mais informações sobre as ofertas IBM da Microway podem ser vista em Tecnologia IBM Power_AI
.
TESLA ou GeFORCE ?
As GPUs da NVIDIA são o principal elemento de projeto numa implementação de Cluster IA de classe mundial e os especialistas são com frequência questionados sobre a diferença entre as GPUs GeFORCE e TESLA. Embora à primeira vista placas de vídeo GeFORCE de ponta pareçam imitar as capacidades computacionais dos produtos profissionais TESLA, nem sempre é esse o caso e numa inspeção mais detalhada, as diferenças tornam-se evidentes.
Ao determinar qual GPU usar, os números brutos de desempenho são normalmente as primeiras especificações técnicas a serem analisadas. No que se refere especificamente às cargas de trabalho de Inteligência Artificial, uma GPU TESLA tem até 1000 vezes o desempenho de uma placa GeFORCE de ponta executando cálculos de ponto flutuante com meia precisão (FP16). As placas GeFORCE também não suportam instruções INT8 usadas na inferência para Deep Learning. Embora seja possível usar GeFORCE para o trabalho de Inteligência Artificial, isso não é recomendado para sistemas de produção em larga escala. Além do processamento bruto, há muitos outros recursos que descrevemos em nosso artigo no link abaixo.
O preço das placas de vídeo NVIDIA permite que empresas e pesquisadores entendam o impacto potencial da Inteligência Artificial e desenvolvam código sem elevados investimentos. A Microway, no entanto, recomenda que o uso de placas de vídeo com aceleradores gráficos em Inteligência Artificial seja limitado a estações de trabalho durante o processo de investigação e desenvolvimento inicial. O Microway Knowledge Center disponibiliza um artigo detalhado sobre diferenças entre TESLA e GeFORCE.
Treinamento e Inferenciação
Há uma grande diferença em Inteligência Artificial entre os recursos necessários para “efficient training” e “efficient inferencing”. O treinamento de redes neurais requer recursos significativos de GPU para computação, recursos do sistema host para transmissão de dados, acesso confiável e rápido a conjuntos de dados completos e uma arquitetura de rede para suportar tudo isso. O requisito de recurso para inferência, no entanto, depende de como os novos dados serão alimentados na produção. A inferência em tempo real tem um requisito computacional muito menor porque os dados são alimentados à rede neural como ocorrem em tempo real. Isso é muito diferente da inferência em massa, na qual novos conjuntos de dados inteiros são alimentados na rede neural ao mesmo tempo. Além disso, como dissemos no início deste documento, entender a expectativa de tempo-para-resultado provavelmente afetará o projeto geral do Cluster AI, independentemente da carga de trabalho.
Arquitetura do armazenamento
O tipo de arquitetura de armazenamento usado com um Cluster AI pode e terá um impacto significativo na eficiência do mesmo. Embora o armazenamento possa parecer um assunto bastante nebuloso, as demandas de uma carga de trabalho de AI são um fator amplamente conhecido. Durante o treinamento, os nós do Cluster IA precisam de acesso a conjuntos de dados inteiros porque os dados serão acessados com frequência e sucessivamente durante todo o processo de treinamento. Muitos dispositivos comerciais de INTELIGENCIA ARTIFICIAL, como o DGX-1, utilizam cache de grandes volumes e alta velocidade em cada nó para obter eficiência. Os sistemas de arquivos de rede padrão e de alto desempenho são suficientes para implantações de cluster de AI de pequeno e médio porte. Se os nós tiverem sido configurados corretamente para cada um deles, com suficiente espaço de cache, o sistema de arquivos em si não precisa ter desempenho excepcional, já que está lá apenas para armazenamento de longo prazo. No entanto, se os nós não tiverem espaço de cache local suficiente para o conjunto de dados, a necessidade de armazenamento de desempenho aumenta. Existem recursos de componente que podem aumentar o desempenho de um NFS sem necessidade de sistema de arquivos paralelo, mas esse não é um cenário comum para essa carga de trabalho. O objetivo deve ser sempre ter espaço de cache local suficiente para um desempenho ideal. Os sistemas de arquivos paralelos são conhecidos por seu desempenho e, às vezes, pelo preço. Esses sistemas de armazenamento devem ser reservados para implantações de cluster maiores, proporcionando o melhor benefício pelo investimento realizado.
Para mais informações veja este documento da NVIDIA
Infraestrutura de rede
Utilizar o tipo certo de infraestrutura de rede reduzirá os gargalos e melhorará o desempenho do Cluster IA. As diretrizes para a rede mudarão dependendo do tamanho / tipo de dados que passam pela rede, bem como da natureza da computação. Por exemplo, pequenos arquivos de texto não precisarão de tanta largura de banda quanto os arquivos de vídeo 4K, mas o treinamento Deep Learning requer acesso a todo o pool de dados que pode saturar a rede. Voltando ao início deste artigo, a compreensão dos conjuntos de dados ajuda identificar e evitar gargalos no sistemas. Os especialistasda B2F ou da MICROWAY podem ajudá-lo nessa análise.
Todas as implantações de cluster da GPU, independentemente da carga de trabalho, devem utilizar um sistema de rede hierárquico que inclua uma rede de gerenciamento e uma rede de tráfego de dados. As redes de gerenciamento são tipicamente um único link Gigabit ou 10Gb Ethernet para suportar o gerenciamento do sistema. Redes de tráfego de dados, no entanto, podem exigir maior banda de passagem para acomodar maior tráfego e menor latência para maior eficiência.
Redes de dados comuns usam Ethernet (10G / 25G / 40G / 50G) ou InfiniBand (56Gb ou 100Gb). Existem muitos casos em que 10G ~ 50G Ethernet será suficiente para o tamanho dos arquivos e o volume de dados que passam pela rede ao mesmo tempo. Estes tipos de redes costumam ser usados em cargas de trabalho com tamanhos de arquivos menores, como imagens estáticas ou onde a computação ocorre em um único nó. Mas também podem ser uma rede econômica para um cluster com um pequeno número de nós.
No entanto, para arquivos maiores e / ou computação de GPU de vários nós, como Treinamento de DL, o EDR InfiniBand de 100 Gb é a malha de escolha pela maior largura de banda e menor latência bem como por permitir a comunicação de GPU ponto a ponto entre nós via RDMA (Remote Direct Memory Access), que pode aumentar a eficiência do sistema como um todo.
Para comparar velocidades de rede e latências, veja performance das mais comuns redes de dados.
Sam Wheeler
MICROWAY, Outubro de 2017
Esta é uma tradução do texto original que você encontra aqui.