A expansão da infraestrutura de aprendizado de máquina do Facebook
Aqui na The Next Platform, tendemos a ficar de olho em como os principais hiperescaladores evoluem sua infraestrutura para suportar uma escala massiva e cargas de trabalho cada vez mais complexas.
Não muito tempo atrás, os principais serviços eram transações e operações relativamente padrão, mas com a adição de treinamento e inferência em modelos complexos de aprendizado profundo - algo que requer uma abordagem de duas mãos para hardware - a pilha de hardware de hiperescala teve que acelerar seu passo para acompanhe as novas demandas de desempenho e eficiência do aprendizado de máquina em escala.
Embora não inovando no lado do hardware personalizado da mesma forma que o Google, o Facebook compartilhou alguns progressos notáveis no ajuste fino de seus próprios datacenters. Desde seu backbone de rede dividida exclusivo, sistema de visualização baseado em rede neural, até atualizações em larga escala para seus farms de servidores e seu trabalho aprimorando o uso de GPU, há muito o que focar em termos de infraestrutura. Para nós, um dos desenvolvimentos mais prescientes do Facebook são seus próprios designs de servidor, que agora atendem a mais de 2 bilhões de contas no final de 2017, especificamente sua mais recente abordagem baseada em Open Compute repleta de GPU.
O sistema "Big Basin" da empresa apresentado na OCP Summit no ano passado é um sucessor da máquina "Big Sur" de primeira geração que a gigante da mídia social revelou na conferência Neural Information Processing Systems em dezembro de 2015. Como observamos no lançamento em um mergulho profundo na arquitetura, a máquina Big Sur abarrotou oito dos aceleradores Tesla M40 da Nvidia, que deslizam em slots PCI-Express 3.0 x16 e que tem 12 GB de memória buffer de quadro GDDR5 para aplicativos CUDA para jogar, e dois "Haswell" Xeon processadores E5 em um chassi bastante alto. Desde então, o design foi estendido para suportar as mais recentes GPUs Nvidia Volta V100.
O Facebook também afirma que, em comparação com Big Sur, a nova plataforma V100 Big Basin permite ganhos muito melhores em desempenho por watt, beneficiando-se da aritmética de ponto flutuante de precisão única por GPU "aumentando de 7 teraflops para 15,7 teraflops e memória de alta largura de banda ( HBM2) fornecendo largura de banda de 900 GB/s (3,1x de Big Sur)." A equipe de engenharia observa que a meia precisão também foi dobrada com essa nova arquitetura para melhorar ainda mais o rendimento.
"Big Basin pode treinar modelos que são 30% maiores devido à disponibilidade de maior rendimento aritmético e um aumento de memória de 12 GB para 16 GB. O treinamento distribuído também é aprimorado com a comunicação inter-GPU NVLink de alta largura de banda", acrescenta a equipe .
O Facebook diz que a mudança para "Big Basin" levou a uma melhoria de 300% na taxa de transferência sobre Big Sur no ResNet-50 como um exemplo e que, embora estejam satisfeitos com esses resultados, ainda estão avaliando novos designs e tecnologias de hardware.
Por enquanto, no entanto, sua infraestrutura de aprendizado de máquina é composta apenas por CPU e GPUs padrão. Embora não seja surpresa que eles não tenham seguido o caminho do Google para construir seus próprios ASICs personalizados para aprendizado profundo em escala, dadas as diferenças nos objetivos de negócios, é seguro dizer que o Facebook está mantendo suas armas Nvidia e Intel por enquanto. outros hiperescaladores buscam diversificar na frente da CPU com o Epyc da AMD.
Em uma descrição detalhada que o Facebook acaba de lançar de sua infraestrutura de hardware atual, o gigante social descreve como eles oferecem suporte a oito tipos principais de rack de computação e armazenamento que mapeiam para serviços específicos.
"Novos serviços tendem a ser mapeados para os tipos de rack existentes até atingirem o nível de garantia de seu próprio design de rack", observam os projetistas de infraestrutura, apontando para o exemplo abaixo do chassi 2U que contém três slides com dois tipos de servidor diferentes. Um tem uma CPU de soquete único com suporte para a camada da web, que é uma carga de trabalho sem estado orientada para taxa de transferência e pode ser executada com eficiência em uma CPU de menor potência, como o Xeon D, com memória e flash inferiores. A outra opção de trenó é um servidor de CPU de soquete duplo maior com um processador Broadwell ou Skylake mais robusto e muito mais DRAM para lidar com cargas de trabalho mais computacionais e pesadas em memória.