Simple Science

Ciência de ponta explicada de forma simples

# Informática# Arquitetura de Hardware

Apresentando o Sparq: Uma Nova Solução de Processamento para Redes Neurais Quantizadas

A Sparq quer melhorar o desempenho em redes neurais quantizadas com menos recursos.

― 5 min ler


Sparq: Eficiência noSparq: Eficiência noProcessamento Neuralrápida e com poucos recursos.Uma nova abordagem para computação
Índice

Redes Neurais Convolucionais (CNNs) são super usadas em várias áreas, tipo processamento de imagem e reconhecimento de fala. Mesmo sendo bem precisas, elas costumam precisar de muita potência de computação e memória, o que pode ser um problema pra dispositivos com recursos limitados. Pra resolver isso, os pesquisadores tão tentando maneiras de diminuir a quantidade de computação necessária sem perder muita precisão. Uma abordagem eficaz é reduzir a precisão dos dados usados nessas redes, o que pode resultar em menos uso de poder de computação e memória.

Essa técnica é chamada de Quantização. Ao diminuir a precisão dos pesos e ativações em uma CNN, é possível reduzir o tamanho do modelo e as computações necessárias. Por exemplo, redes em precisão total geralmente usam números de 32 bits. Com a quantização, dá pra baixar isso pra 8 bits ou até menos. Alguns métodos recentes mostraram que é possível quantizar pesos e ativações pra apenas 1 ou 2 bits, com uma pequena perda de precisão.

Desafios com o Hardware Atual

Enquanto a quantização é uma abordagem promissora, o hardware de computador atual não é muito adequado pra operações de menor bit. A maioria dos processadores é feita pra precisar de precisão de 8 bits ou mais, então eles não conseguem processar eficientemente os dados de 1-bit ou 2-bit que são necessários pra redes neurais de ultra-Baixa Precisão. Essa limitação resulta em uma situação onde o desempenho dessas redes em hardware padrão não é ótimo.

Alguns métodos, tipo computação bit-serial, permitem processar esses tipos de dados de baixa precisão, mas só funcionam bem pra computações de 1-bit ou 2-bit. Outras técnicas foram desenvolvidas pra melhorar o desempenho, mas geralmente exigem hardware especializado.

Introdução do Sparq

Pra lidar com esses desafios, um novo processador vetorial chamado Sparq foi desenvolvido, especificamente projetado pra operações sub-byte em redes neurais quantizadas (QNNs). Esse processador melhora a arquitetura RISC-V tradicional adicionando uma instrução personalizada chamada vmacsr, que é feita pra operações de multiplicação-deslocamento-acúmulo.

Integrando essa nova instrução, o Sparq consegue realizar cálculos de ultra-baixa precisão de forma mais eficiente do que as soluções existentes. Isso significa que o Sparq pode acelerar bastante os cálculos necessários pra QNNs em comparação com implementações padrão, sem precisar de mais área ou potência.

Como Funciona o Sparq

O Sparq é construído sobre uma versão modificada de uma arquitetura de processador RISC-V existente. A principal melhoria é a adição da instrução vmacsr, que visa otimizar cálculos de baixa precisão. Ao remover a unidade de ponto flutuante (FPU), o design foca em melhorar o desempenho de computações sub-byte enquanto reduz o consumo de energia e uso de área.

A arquitetura permite processar vários operandos de baixa precisão juntos, o que reduz o número de operações necessárias e aumenta a eficiência. Esse processo envolve deslocar e acumular resultados de um jeito que minimize os riscos de overflow, que podem acontecer ao usar precisões muito baixas.

Melhorias de Desempenho

O Sparq foi testado contra métodos anteriores, mostrando que pode oferecer melhorias significativas de velocidade. Por exemplo, ao trabalhar com precisão de 2 bits e 4 bits em operações de convolução, o Sparq atinge aumentos de velocidade de 3,2 vezes e 1,7 vezes, respectivamente, em relação a implementações otimizadas de 16 bits. Isso significa que tarefas que precisam de múltiplos cálculos podem ser feitas muito mais rápido, tornando-o uma boa escolha pra várias aplicações.

A implementação física do Sparq também mostra benefícios adicionais. Comparado ao seu antecessor, o Sparq apresenta requisitos de área e consumo de energia menores devido à remoção de componentes desnecessários como a unidade de ponto flutuante. Isso é vantajoso em ambientes onde eficiência e consumo de energia são críticos.

Possibilidades Futuras

O design atual do Sparq é promissor, mas ainda tem espaço pra melhorias. Trabalhos futuros estão planejados pra incluir aprimoramentos que aumentem a flexibilidade das capacidades de processamento. Isso inclui explorar um deslocador configurável, que permitiria operações otimizadas com base nas necessidades específicas das tarefas a serem realizadas.

Além disso, testar o Sparq em diferentes plataformas, como emulações FPGA (Field Programmable Gate Array), está sendo considerado pra validar ainda mais sua eficácia e desempenho em diversas situações.

Conclusão

Resumindo, o Sparq representa um avanço importante na área de redes neurais quantizadas. Ao focar em operações de ultra-baixa precisão e integrar uma instrução personalizada, esse novo processador vetorial proporciona aumentos significativos de desempenho enquanto se mantém eficiente em termos de energia e área. Os desenvolvimentos feitos com o Sparq destacam o potencial pra implementações mais eficazes de modelos de aprendizado de máquina em dispositivos com recursos computacionais limitados, abrindo caminho pra uma adoção mais ampla de redes neurais avançadas em aplicações práticas.

No geral, a abordagem do Sparq pra resolver limitações do hardware atual pra redes neurais quantizadas pode levar a um desempenho melhor em vários campos, incluindo processamento de imagem, linguagem natural e mais.

Fonte original

Título: Sparq: A Custom RISC-V Vector Processor for Efficient Sub-Byte Quantized Inference

Resumo: Convolutional Neural Networks (CNNs) are used in a wide range of applications, with full-precision CNNs achieving high accuracy at the expense of portability. Recent progress in quantization techniques has demonstrated that sub-byte Quantized Neural Networks (QNNs) achieve comparable or superior accuracy while significantly reducing the computational cost and memory footprint. However, sub-byte computation on commodity hardware is sub-optimal due to the lack of support for such precision. In this paper, we introduce Sparq, a Sub-byte vector Processor designed for the AcceleRation of QNN inference. This processor is based on a modified version of Ara, an open-source 64-bit RISC-V ``V'' compliant processor. Sparq is implemented in GLOBAL FOUNDRIES 22FDX FD-SOI technology and extends the Instruction Set Architecture (ISA) by adding a new multiply-shift-accumulate instruction to improve sub-byte computation effciency. The floating-point unit is also removed to minimize area and power usage. To demonstrate Sparq performance, we implement an ultra-low-precision (1-bit to 4-bit) vectorized conv2d operation taking advantage of the dedicated hardware. We show that Sparq can significantly accelerate sub-byte computations with respectively 3.2 times, and 1.7 times acceleration over an optimized 16-bit 2D convolution for 2-bit and 4-bit quantization.

Autores: Théo Dupuis, Yoan Fournier, MohammadHossein AskariHemmat, Nizar El Zarif, François Leduc-Primeau, Jean Pierre David, Yvon Savaria

Última atualização: 2023-06-16 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2306.09905

Fonte PDF: https://arxiv.org/pdf/2306.09905

Licença: https://creativecommons.org/licenses/by/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Mais de autores

Artigos semelhantes