Connect with us

Inteligência artificial

Pesquisadores Criam Alternativa à GPU

mm

Cientistas da computação da Universidade de Rice, juntamente com colaboradores da Intel, desenvolveram uma alternativa mais eficiente em termos de custo à GPU. O novo algoritmo é chamado de “motor de aprendizado profundo sub-linear” (SLIDE) e utiliza unidades centrais de processamento (CPUs) de propósito geral sem hardware de aceleração especializado. 

Os resultados foram apresentados no Centro de Convenções de Austin, que sediou a conferência de sistemas de aprendizado de máquina MLSys. 

Um dos maiores desafios dentro da inteligência artificial (IA) gira em torno de hardware de aceleração especializado, como unidades de processamento gráfico (GPUs). Antes dos novos desenvolvimentos, acreditava-se que, para acelerar a tecnologia de aprendizado profundo, era necessário o uso desse hardware de aceleração especializado. 

Muitas empresas deram grande importância ao investimento em GPUs e hardware especializado para aprendizado profundo, que é responsável por tecnologias como assistentes digitais, reconhecimento facial e sistemas de recomendação de produtos. Uma dessas empresas é a Nvidia, que cria os GPUs Tesla V100 Tensor Core. A Nvidia relatou recentemente um aumento de 41% em suas receitas do quarto trimestre em comparação com o ano anterior. 

O desenvolvimento do SLIDE abre possibilidades completamente novas.

Anshumali Shrivastava é professor assistente na Escola de Engenharia Brown da Rice e ajudou a inventar o SLIDE com os estudantes de pós-graduação Beidi Chen e Tharun Medini. 

“Nossos testes mostram que o SLIDE é a primeira implementação algorítmica inteligente de aprendizado profundo em CPU que pode superar a aceleração de hardware de GPU em conjuntos de dados de recomendação em escala industrial com arquiteturas totalmente conectadas grandes”, disse Shrivastava.

O SLIDE supera o desafio das GPUs devido à sua abordagem completamente diferente para o aprendizado profundo. Atualmente, a técnica de treinamento padrão para redes neurais profundas é a “propagação reversa” e requer a multiplicação de matrizes. Essa carga de trabalho requer o uso de GPUs, então os pesquisadores alteraram o treinamento da rede neural para que pudesse ser resolvido com tabelas de hash. 

Essa nova abordagem reduz significativamente a sobrecarga computacional para o SLIDE. A plataforma de GPU atual mais avançada que empresas como Amazon e Google usam para aprendizado profundo baseado em nuvem tem oito Tesla V100s e o preço é de cerca de $100.000. 

“Temos um no laboratório e, em nosso caso de teste, pegamos uma carga de trabalho que é perfeita para o V100, uma com mais de 100 milhões de parâmetros em redes grandes e totalmente conectadas que cabem na memória da GPU”, disse Shrivastava. “Treinamos com o melhor pacote disponível, o TensorFlow da Google, e levou 3 horas e meia para treinar.

“Em seguida, mostramos que nosso novo algoritmo pode fazer o treinamento em uma hora, não em GPUs, mas em uma CPU Xeon de 44 núcleos”, continuou.

Hashing é um tipo de método de indexação de dados inventado na década de 1990 para busca na internet. Métodos numéricos são usados para codificar grandes quantidades de informações como uma string de dígitos, que é chamada de hash. Hashes são listados para criar tabelas que podem ser pesquisadas rapidamente. 

“Não faria sentido implementar nosso algoritmo no TensorFlow ou PyTorch porque a primeira coisa que eles querem fazer é converter o que você está fazendo em um problema de multiplicação de matrizes”, disse Chen. “Isso é exatamente o que queríamos evitar. Então, escrevemos nosso próprio código em C++ do zero.”

De acordo com Shrivastava, a maior vantagem do SLIDE é que ele é paralelo de dados. 

“Quando digo paralelo de dados, quero dizer que, se eu tiver duas instâncias de dados que quero treinar, digamos uma é uma imagem de um gato e a outra de um ônibus, elas provavelmente ativarão neurônios diferentes e o SLIDE pode atualizar, ou treinar, esses dois independentemente”, disse. “Isso é uma utilização muito melhor do paralelismo para CPUs.”

“O lado negativo, em comparação com a GPU, é que precisamos de uma grande memória”, disse. “Há uma hierarquia de cache na memória principal e, se você não for cuidadoso com isso, pode ter um problema chamado cache thrashing, onde você obtém muitos erros de cache.”

O SLIDE abriu a porta para novas maneiras de implementar o aprendizado profundo e Shrivastava acredita que é apenas o começo.

“Apenas arranhamos a superfície”, disse. “Há muito que ainda podemos fazer para otimizar. Não usamos vetorização, por exemplo, ou aceleradores embutidos na CPU, como o Intel Deep Learning Boost. Há muitas outras técnicas que ainda podemos usar para tornar isso ainda mais rápido.”

Alex McFarland é um jornalista e escritor de IA que explora os últimos desenvolvimentos em inteligência artificial. Ele colaborou com inúmeras startups de IA e publicações em todo o mundo.