BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias IBM usa treinamento de escala eficiente e reduz o tempo de treino de redes neurais

IBM usa treinamento de escala eficiente e reduz o tempo de treino de redes neurais

Favoritos

Em agosto de 2017, a IBM anunciou que quebrou o recorde de treinamento dos recursos de reconhecimento de imagem. A pesquisa da IBM reduziu seu tempo de treinamento para o diagrama de rede neural chamado ResNet-50 para apenas 50 minutos. Em outro diagrama de rede chamado ResNet-101, eles obtiveram um recorde de precisão de 33,8%. Usando 256 GPUs eles treinaram sua rede neural no conjunto de dados ImageNet-22K dataset, com 7,5 milhões de imagens. Como efeito de comparação, em junho de 2017, o Facebook anunciou que conseguiu treinar seu modelo em uma hora, mas eles usaram um conjunto de dados menor e uma rede neural menor. A IBM publicou seus resultados como um documento no arXiv.

O InfoQ conversou com Hillery Hunter, diretora de infra estrutura cognitiva acelerada do time de pesquisa da IBM (IBM Research), e fez várias perguntas.

InfoQ: Você poderia começar nos contando qual o problema que você enfrentou ao tentar quebrar esse recorde? Quão grande era o seu conjunto de dados, e quais os problemas que outros normalmente enfrentam com esses conjuntos de dados?

Hillery Hunter: Nós usamos 7,5 milhões de imagens para rodar o treinamento no ResNet-101, e quando você está lidando com tantos dados, o tempo de computação torna-se um grande desafio. Se você tivesse conduzido esse treinamento de problema em um único servidor, teria demorado cerca de 16 dias para ser concluído. Atualmente, existem poucos domínios em que as pessoas vão tolerar esse montante de tempo de processamento. Nós queríamos resolver este problema de escala de tempo, diminuindo o treinamento para esse grande conjunto de dados para bem abaixo de um dia.

InfoQ: A comunicação entre as mais de 256 GPUs que vocês utilizaram é muito importante nesta conquista. Você poderia dizer o que fez e como isso ajuda na formação de sua rede?

Hunter: Nós desenvolvemos uma biblioteca de comunicação personalizada que ajuda todos os aprendizes do sistema (cada uma das GPUs) a se comunicarem entre si a velocidades e largura de banda muito próximas às ótimas. Nossa biblioteca pode ser integrada em qualquer framework de aprendizado profundo (TensorFlow, Caffe, etc.) - ela não é codificada em apenas um pacote de software deep learning. Quando os aprendizes conseguem se comunicar muito rapidamente, você pode adicionar mais aprendizes de forma mais produtiva ao seu sistema, e completar a execução de treinamento mais rápido. Se você não tiver um tempo de comunicação rápido, aí começam os gargalos de escalabilidade e você não pode adicionar mais servidores (GPUs) para resolver seu problema de treinamento.

InfoQ: Algo que você menciona é a eficiência da escala. O recorde anterior foi de 89%, e vocês conseguiram atingir agora 95%. O que exatamente é a eficiência de escala, e como isso é relevante para o seu tempo de treinamento?

Hunter: A eficiência de escala é uma medida que verifica a eficácia com que muitos servidores podem trabalhar juntos para resolver seu problema de computação. Quanto mais eficiente for sua escala, mais servidores você pode adicionar e acelerar o tempo de sua solução. A eficiência de escala de 95% significa que, em vez de usar um servidor para resolver o problema, você usou 100 servidores, e eles completarão o problema 95 vezes mais rápido.

InfoQ: Neste caso, vocês utilizaram 256 GPUs para obter a eficiência de escala de 95%. Se eu usasse 10.000 GPUs, minha rede ainda treinaria 9.500 vezes mais rápido? Em outras palavras, esta é uma escala linear? E quais são os fatores limitantes?

Hunter: Acreditamos que nossa nova biblioteca de comunicação é bastante próxima do ótimo, e esperamos continuar a ver grandes acelerações com muitas mais GPUs. Neste momento, a comunidade de pesquisa de deep learning está trabalhando para abordar um fator limitante chamado "tamanho do lote" (batch size). Atualmente, esse fator torna difícil a execução com 10.000 GPUs, mas, à medida que ele for superado, nós esperamos que seja possível escalar muito mais GPUs.

InfoQ: Além de quebrar o recorde, vocês também conseguiram melhorar a precisão de 29,8% para 33,8%. Isso é puramente por causa de mais "poder de treinamento", ou vocês mudaram o diagrama de rede?

Hunter: Nós não criamos um novo projeto de rede neural para este trabalho; nós alavancamos o treinamento totalmente síncrono (possível devido à nossa biblioteca de comunicação de baixa latência), e conseguimos treinar em muitas imagens de forma viável por causa de nossa vantagem de tempo de treinamento.

InfoQ: Em que estrutura você desenvolveu seu modelo?

Hunter: No nosso anúncio, descrevemos o trabalho realizado tanto na Torch (ResNet-50) quanto na Caffe (ResNet-101). Através do programa de pré-visualização de tecnologia PowerAI, o IBM Server Group também disponibiliza a nossa tecnologia de Deep Learning Distribuída para que as pessoas tentem usar o TensorFlow.

InfoQ: Você poderia explicar o que é a plataforma PowerAI e o que ela pode fazer pelos os desenvolvedores?

Hunter: A PowerAI é um conjunto de recursos de deep learning, incluindo frameworks (como Caffe, Tensorflow, Torch, Chainer, etc.), e suporte a vários servidores e ferramentas de usuário pré-compiladas e pré-otimizadas para servidores IBM acelerados por GPU. O PowerAI ajuda os usuários a evitarem a inconveniência de começar com ferramentas de deep learning de código aberto, e oferece recursos para ajudar a acelerar o tempo de treinamento e simplificar o desempenho de aprendizagem em conjuntos de dados personalizados. Qualquer um pode experimentar os recursos do PowerAI em seu próprio servidor ou através da nuvem Nimbix.

InfoQ: Há planos para aumentar ainda mais a velocidade de treinamento? Qual você acha que é o limite em termos de tempo de computação e precisão?

Hunter: Acreditamos que nossa biblioteca de aprendizagem profunda distribuída está bastante próxima do ótimo em termos de eficiência de escala, mas, em geral, definitivamente pensamos que o tempo de treinamento de aprendizagem profunda e as precisões vão melhorar ainda mais. Queremos ver a aprendizagem profunda sair da torre de marfim, onde as capacidades em larga escala estão levando de semanas a um mês, e ir para as mãos de clientes que precisam de resultados comerciais em minutos e segundos.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT