Abordagem de co-design de hardware-software pode tornar as redes neurais menos famintas de energia
p Uma equipe liderada pela UC San Diego desenvolveu hardware e algoritmos que podem reduzir o uso de energia e o tempo durante o treinamento de uma rede neural. Crédito:David Baillot / Escola de Engenharia da UC San Diego Jacobs
p Uma equipe liderada pela Universidade da Califórnia em San Diego desenvolveu uma abordagem de co-design de hardware-software neuroinspirada que pode tornar o treinamento de rede neural mais eficiente em termos de energia e mais rápido. Seu trabalho pode um dia tornar possível treinar redes neurais em dispositivos de baixo consumo de energia, como smartphones, laptops e dispositivos incorporados. p O avanço é descrito em artigo publicado recentemente em
Nature Communications .
p Treinar redes neurais para realizar tarefas como reconhecer objetos, navegar em carros autônomos ou jogar consome muito tempo e poder de computação. Computadores grandes com centenas a milhares de processadores são normalmente necessários para aprender essas tarefas, e os tempos de treinamento podem levar de semanas a meses.
p Isso porque fazer esses cálculos envolve a transferência de dados para frente e para trás entre duas unidades separadas - a memória e o processador - e isso consome a maior parte da energia e do tempo durante o treinamento da rede neural, disse o autor sênior Duygu Kuzum, professor de engenharia elétrica e de computação na Jacobs School of Engineering da UC San Diego.
p Para resolver este problema, Kuzum e seu laboratório se uniram à Adesto Technologies para desenvolver hardware e algoritmos que permitem que esses cálculos sejam realizados diretamente na unidade de memória, eliminando a necessidade de embaralhar dados repetidamente.
p "Estamos lidando com este problema de duas pontas - o dispositivo e os algoritmos - para maximizar a eficiência energética durante o treinamento da rede neural, "disse o primeiro autor Yuhan Shi, um Ph.D. em engenharia elétrica. estudante do grupo de pesquisa de Kuzum na UC San Diego.
p O componente de hardware é um tipo de tecnologia de memória não volátil supereficiente em termos de energia - uma matriz de 512 kilobit subquantum Conductive Bridging RAM (CBRAM). Consome de 10 a 100 vezes menos energia do que as tecnologias de memória líderes de hoje. O dispositivo é baseado na tecnologia de memória CBRAM da Adesto - ele tem sido usado principalmente como um dispositivo de armazenamento digital que tem apenas os estados '0' e '1', mas Kuzum e seu laboratório demonstraram que ele pode ser programado para ter vários estados analógicos para emular sinapses biológicas no cérebro humano. Este dispositivo denominado sináptico pode ser usado para fazer computação in-memory para treinamento de rede neural.
p "A memória on-chip em processadores convencionais é muito limitada, portanto, eles não têm capacidade suficiente para realizar computação e armazenamento no mesmo chip. Mas nesta abordagem, temos uma matriz de memória de alta capacidade que pode fazer cálculos relacionados ao treinamento da rede neural na memória sem transferência de dados para um processador externo. Isso permitirá muitos ganhos de desempenho e reduzirá o consumo de energia durante o treinamento, "disse Kuzum.
p Kuzum, que é afiliado ao Center for Machine-Integrated Computing and Security da UC San Diego, liderou esforços para desenvolver algoritmos que pudessem ser facilmente mapeados neste array de dispositivos sinápticos. Os algoritmos proporcionaram ainda mais economia de energia e tempo durante o treinamento da rede neural.
p A abordagem usa um tipo de rede neural com eficiência energética, chamada de rede neural de spiking, para implementar a aprendizagem não supervisionada no hardware. Além disso, A equipe de Kuzum aplica outro algoritmo de economia de energia que desenvolveram, chamado de "poda suave, "o que torna o treinamento de rede neural muito mais eficiente em termos de energia, sem sacrificar muito em termos de precisão.
p Yuhan Shi configura o array de dispositivos sinápticos para teste. Crédito:Universidade da Califórnia - San Diego
p
Algoritmos de economia de energia
p As redes neurais são uma série de camadas conectadas de neurônios artificiais, onde a saída de uma camada fornece a entrada para a próxima. A força das conexões entre essas camadas é representada pelos chamados "pesos". O treinamento de uma rede neural trata da atualização desses pesos.
p As redes neurais convencionais gastam muita energia para atualizar continuamente cada um desses pesos. Mas ao aumentar as redes neurais, apenas os pesos vinculados aos neurônios de spiking são atualizados. Isso significa menos atualizações, o que significa menos tempo e poder de computação.
p A rede também faz o que é chamado de aprendizagem não supervisionada, o que significa que ele pode essencialmente treinar a si mesmo. Por exemplo, se for exibida uma série de dígitos numéricos manuscritos à rede, descobrirá como distinguir entre zeros, uns, dois, etc. Um benefício é que a rede não precisa ser treinada em exemplos rotulados, o que significa que não precisa ser informada de que está vendo um zero, um ou dois - o que é útil para aplicativos autônomos como navegação.
p Para tornar o treinamento ainda mais rápido e eficiente em termos de energia, O laboratório de Kuzum desenvolveu um novo algoritmo que eles apelidaram de "poda suave" para implementar com a rede neural de spiking não supervisionada. A poda suave é um método que encontra pesos que já amadureceram durante o treinamento e os define para um valor constante diferente de zero. Isso impede que eles sejam atualizados para o restante do treinamento, o que minimiza o poder de computação.
p A poda suave difere dos métodos de poda convencionais porque é implementada durante o treinamento, em vez de depois. Também pode levar a uma maior precisão quando uma rede neural testa seu treinamento. Normalmente na poda, pesos redundantes ou sem importância são completamente removidos. A desvantagem é quanto mais pesos você podar, menos preciso será o desempenho da rede durante o teste. Mas a poda suave apenas mantém esses pesos em uma configuração de baixa energia, então eles ainda estão por aí para ajudar a rede a funcionar com maior precisão.
p
Co-design de hardware e software para o teste
p A equipe implementou a rede neural de spiking não supervisionada e neuroinspirada e o algoritmo de poda suave na matriz de dispositivo sináptico CBRAM subquântico. Em seguida, eles treinaram a rede para classificar os dígitos manuscritos do banco de dados MNIST.
p Em testes, a rede classificou os dígitos com 93 por cento de precisão, mesmo quando até 75 por cento dos pesos foram removidos suavemente. Em comparação, a rede funcionou com menos de 90 por cento de precisão quando apenas 40 por cento dos pesos foram podados usando métodos de poda convencionais.
p Em termos de economia de energia, a equipe estima que sua abordagem de co-design de hardware-software neuroinspirada pode, eventualmente, reduzir o uso de energia durante o treinamento da rede neural em duas a três ordens de magnitude em comparação com o estado da arte.
p "Se compararmos o novo hardware com outras tecnologias de memória semelhantes, estimamos que nosso dispositivo pode reduzir o consumo de energia de 10 a 100 vezes, então, nosso co-projeto de algoritmo corta isso em mais 10. No geral, podemos esperar um ganho de cem a mil vezes em termos de consumo de energia seguindo nossa abordagem, "disse Kuzum.
p Seguindo em frente, Kuzum e sua equipe planejam trabalhar com empresas de tecnologia de memória para avançar esse trabalho para os próximos estágios. Seu objetivo final é desenvolver um sistema completo no qual as redes neurais possam ser treinadas na memória para realizar tarefas mais complexas com baixo consumo de energia e orçamentos de tempo.