Ângulo de Anderson
Os GPUs Podem Ser Melhores, Não Apenas Mais Rápidos, no Treinamento de Redes Neurais Profundas

Pesquisadores da Polônia e do Japão, trabalhando com a Sony, encontraram evidências de que sistemas de aprendizado de máquina treinados em GPUs em vez de CPUs podem conter menos erros durante o processo de treinamento e produzir resultados superiores, contradizendo a compreensão comum de que as GPUs simplesmente realizam essas operações mais rapidamente, e não melhor.
A pesquisa, intitulada Impacto da Incerteza da GPU no Treinamento de Redes Neurais Profundas Predominantes, vem da Faculdade de Psicologia e Ciências Cognitivas da Universidade Adam Mickiewicz e de duas universidades japonesas, juntamente com os Laboratórios de Ciência da Computação da SONY.
O estudo sugere que as ‘incertezas’ que as redes neurais profundas exibem diante de várias configurações de hardware e software favorecem unidades de processamento gráfico mais caras (e cada vez mais escassas) e encontrou em testes que uma rede neural profunda treinada exclusivamente em CPU produziu taxas de erro mais altas ao longo do mesmo número de épocas (o número de vezes que o sistema reprocessa os dados de treinamento ao longo de uma sessão).

Neste exemplo suplementar do artigo, vemos (duas últimas linhas), uma qualidade de resultado semelhante obtida de uma variedade de GPUs, e (primeira linha), os resultados inferiores obtidos de uma gama de CPUs capazes.. Fonte: https://arxiv.org/pdf/2109.01451.pdf
Fenômenos Estranhos
Essas descobertas preliminares não se aplicam uniformemente a todos os algoritmos de aprendizado de máquina populares, e no caso de arquiteturas de autoencoder simples, o fenômeno não aparece.
No entanto, o trabalho sugere que pode haver uma possível ‘velocidade de fuga’ para a eficácia do treinamento em redes neurais complexas, onde realizar as mesmas operações a uma velocidade mais baixa e com tempos de treinamento mais longos não obtém a paridade de desempenho que se esperaria de rotinas de iteração matemática.
Os pesquisadores sugerem que essa disparidade de desempenho pode ser particular a certos tipos de redes neurais e que os aspectos indeterminados do processamento específico da GPU, frequentemente vistos como um obstáculo a ser superado, podem não apenas fornecer benefícios notáveis, mas também podem ser incorporados intencionalmente em sistemas posteriores. O artigo também sugere que as descobertas podem oferecer insights mais profundos no processamento computacional relacionado ao cérebro.
Identificar as peculiaridades que aumentam a eficiência e a qualidade dos resultados dessa forma em GPUs tem o potencial de obter uma compreensão mais profunda das arquiteturas de ‘caixa preta’ de IA e até mesmo para melhorar o desempenho da CPU – embora, atualmente, as causas subjacentes sejam elusivas.
Autoencoder Vs. PredNet
Ao estudar as anomalias, os pesquisadores usaram um autoencoder básico e também a Rede Neural Predominante da Universidade de Harvard PredNet, pesquisa de 2016 que foi projetada para explorar e tentar replicar o comportamento do córtex cerebral humano.
Ambos os sistemas são redes neurais profundas projetadas para sintetizar imagens apropriadas por meio de aprendizado não supervisionado (com dados dos quais as etiquetas foram omitidas), embora o autoencoder lide linearmente com uma imagem por lote, que então produziria uma saída como a próxima imagem em um pipeline recorrente. O autoencoder foi treinado no banco de dados de escrita à mão MNIST.

O autoencoder nos testes dos pesquisadores foi treinado no banco de dados MNIST, que compreende 60.000 imagens de treinamento de 28×28 pixels, anti-aliasing para indução de escala de cinza, bem como 10.000 imagens de teste.
Em contraste, o PredNet avalia entrada de vídeo complexa e, no caso dessa pesquisa, foi treinado no conjunto de dados FPSI, que apresenta extensas filmagens de vídeo de um dia no Disney World em Orlando, Flórida (Disney foi um dos associados de pesquisa no artigo de 2012).

Sequências de imagens do FPSI, mostrando vistas em primeira pessoa de um dia no Disney World.
As duas arquiteturas são muito diferentes em termos de complexidade. O autoencoder é projetado para reconstruir imagens em vez de prever valores-alvo. Em contraste, o PredNet apresenta quatro camadas, cada uma das quais consiste em neurônios de representação que usam memória de longo prazo convolucional (LSTM).
As camadas produzem previsões contextuais que são então comparadas a um alvo para produzir um termo de erro que se propaga por toda a rede. Cada um dos dois modelos utiliza aprendizado não supervisionado.

A arquitetura simples e linear do autoencoder e a rede mais labiríntica e recursiva do PredNet.
Ambos os sistemas foram testados em uma variedade de configurações de hardware e software, incluindo CPUs sem GPUs (Intel i5-4590, i7-6800K, i5-7600K ou AMD Ryzen-5-3600) e CPUs com GPUs (Intel i5-7600K + NVIDIA GTX-750Ti, i5-7600K + GTX-970, i7-6700K + GTX-1080, i7-7700K + GTX-1080Ti, i7-9700 + RTX-2080Ti, i5-7600K + RTX-2060 super, AMD Ryzen-5-3600 + RTX-2070 super ou i5-9400 + Titan-RTX).
O visualizador de processo interativo htop foi usado para garantir que todo o treinamento ocorresse em uma thread única (em um Intel i7-6800K), em quatro threads (em um Intel i5-4590 e i5-7600K) ou seis threads (em um AMD Ryzen-5-3600).
Pontos de Sela
No autoencoder, a diferença média em todas as configurações, com e sem cuDNN, não foi significativa. Para o PredNet, os resultados foram mais surpreendentes, com diferenças notáveis na avaliação de perda e qualidade entre o treinamento em CPU e GPU.

Os resultados de perda média para o treinamento do PredNet em quatro CPUs e oito GPUs, com a rede treinada em 5000 quadros de vídeo em 250 lotes, com perda média para os últimos 1000 quadros (50 lotes) representada. O cuDNN foi desativado.
Os pesquisadores concluem que ‘Embora o mecanismo seja incerto, o hardware da GPU parece ter a capacidade de avançar o treinamento das DNNs.’
Os resultados indicam que as GPUs podem ser melhores em evitar pontos de sela – as áreas em uma descida de gradiente que descrevem o fundo de uma encosta.

O nadir das encostas em uma descida de gradiente é o ‘ponto de sela’, nomeado por razões óbvias. Fonte: https://www.pinterest.com.au/pin/436849232581124086/
Pontos de sela, embora sejam um obstáculo, têm sido amplamente descartados como facilmente contornáveis na otimização recente da descida de gradiente estocástica (SGD), mas o novo artigo sugere que não apenas as GPUs podem estar singularmente equipadas para evitar esses pontos, mas que a influência dos pontos de sela talvez deva ser revisitada.












