An Ultra-Compact, BRAM-Free Streaming 2D Convolution Accelerator on Low-Power FPGAs
Este artigo apresenta um acelerador de convolução 2D em streaming, ultracompacto e livre de BRAM, para FPGAs de baixo consumo que utiliza registradores de deslocamento baseados em LUT e um datapath MAC em pipeline para alcançar alto throughput e uso mínimo de recursos, mantendo a precisão bit-a-bit em um SoC Xilinx Zynq-7020.
Artigo original sob licença CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo
No mundo da tecnologia moderna, existe um esforço constante para tornar os dispositivos inteligentes menores, mais baratos e capazes de funcionar com baterias minúsculas. Esse impulso deu origem à "computação de borda" (edge computing), onde tarefas complexas como o reconhecimento de faces ou a detecção de objetos ocorrem diretamente em uma câmera ou sensor, em vez de enviar os dados de volta para um enorme servidor na nuvem. O motor matemático por trás dessa visão é um processo chamado convolução, que atua como um filtro deslizando sobre uma imagem para encontrar padrões específicos, como a borda nítida de um edifício ou a curva de um rosto. Para fazer isso, o dispositivo deve olhar para um pequeno grupo de pixels de cada vez, multiplicá-los por números específicos e somar os resultados. Embora computadores poderosos em centros de dados lidem com isso facilmente, fazer isso em um chip pequeno e de baixa potência é difícil porque o chip possui memória e energia muito limitadas. Ele não pode se dar ao luxo de armazenar a imagem inteira para consultá-la novamente, nem pode desperdiçar energia esperando que os dados cheguem.
Pesquisadores da Universidade Ain Shams projetaram um novo acelerador de hardware que resolve esses problemas para chips pequenos e de baixa potência encontrados em dispositivos como drones ou sensores vestíveis. Eles criaram um circuito especializado que pode processar um fluxo de dados de imagem conforme eles chegam, um pixel de cada vez, sem nunca precisar armazenar a foto inteira na memória. A equipe construiu este sistema em um tipo de chip reconfigurável chamado FPGA, especificamente visando um modelo conhecido como Zynq-7020, que é comum em eletrônicos embarcados. O objetivo deles era eliminar todos os componentes de memória pesados e que consomem muita energia normalmente necessários para essa tarefa e substituí-los por uma estrutura muito mais leve e eficiente que caiba inteiramente dentro dos blocos lógicos básicos do chip.
O núcleo de sua inovação é um método de lidar com os dados da imagem que evita a necessidade de grandes bancos de memória dedicados. Tipicamente, para analisar um pequeno quadrado de uma imagem, um computador precisa se lembrar da linha atual de pixels e das duas linhas que vieram imediatamente antes dela. Os designs padrão usam grandes blocos de memória para manter essas linhas, o que consome espaço e energia valiosos. Os pesquisadores, em vez disso, construíram um sistema que utiliza unidades de armazenamento minúsculas e flexíveis encontradas dentro da estrutura lógica do chip. Essas unidades agem como uma esteira rolante, mantendo apenas o suficiente de dados para reconstruir o necessário quadrado de três por três pixels conforme o fluxo da imagem passa. Ao usar esses pequenos elementos de armazenamento distribuídos em vez de grandes blocos de memória, eles eliminaram a necessidade de quaisquer blocos de memória dedicados, liberando espaço para outras tarefas e reduzindo drasticamente a energia necessária para operar o sistema.
O acelerador processa os dados da imagem em um ritmo constante, aceitando um pixel a cada ciclo de clock. À medida que os pixels fluem, o sistema forma instantaneamente a vizinhança de três por três necessária, multiplica cada pixel pelo seu peso correspondente e soma os resultados. Para garantir que a matemática permaneça precisa e não produza erros devido a números que ficam grandes demais, o design utiliza um tamanho especificamente provado matematicamente para seus registradores de cálculo internos. Isso garante que a soma dos nove valores multiplicados nunca sofra overflow ou retorne incorretamente, um problema comum em sistemas digitais de tamanho fixo. Uma vez concluído o cálculo, o resultado é cuidadosamente ajustado para caber em uma faixa padrão, e uma etapa opcional pode ser aplicada para remover quaisquer valores negativos, imitando uma etapa comum usada em redes de inteligência artificial.
A equipe testou seu design rigorosamente, executando-o através de simulações e comparando os resultados contra um modelo de software confiável. Eles verificaram que o hardware produzia exatamente a mesma saída que o software para cada único pixel em imagens de teste, incluindo fotografias naturais complexas e padrões geométricos. Quando construíram o design no chip alvo, os resultados mostraram que o sistema consumiu quase nenhum recurso de memória, usando zero blocos de memória dedicados. Ele ocupou menos de meio por cento da capacidade lógica total do chip e usou apenas uma fração mínima de seus processadores matemáticos especializados. O sistema operou a uma velocidade de 100 milhões de ciclos por segundo, processando um quadro completo de uma imagem de 32 por 32 pixels em pouco mais de dez microssegundos.
O consumo de energia foi outro grande sucesso. A parte ativa do chip que realiza os cálculos usou apenas nove miliwatts de potência, o que é menos da energia necessária para acender um pequeno LED. Embora a potência total medida tenha incluído a energia necessária para enviar sinais para fora do chip para pinos externos, os pesquisadores observaram que, em um dispositivo real onde o chip se comunica com outras partes internamente, esse custo de energia externa desapareceria, deixando o núcleo de cálculo rodar com menos de dez miliwatts. Este nível de eficiência torna possível executar tarefas avançadas de visão em dispositivos que são alimentados por pequenas baterias ou até mesmo por colheita de energia (energy harvesting), sem a necessidade de grandes sistemas de resfriamento ou fontes de alimentação pesadas.
O design não é isento de limites. Ele é atualmente construído especificamente para processar imagens de canal único, como fotos em preto e branco, e é otimizado para um tamanho de padrão de três por três. Alterar o tamanho do padrão ou lidar com imagens coloridas exigiria a reconstrução do circuito. Além disso, o sistema espera um fluxo contínuo de dados e não possui um mecanismo para pausar e esperar caso a fonte de dados pare. No entanto, para o seu propósito pretendido de lidar com pequenos e rápidos patches de imagem em hardware de baixa potência, os pesquisadores demonstraram que sua abordagem é uma solução altamente eficiente. Ao provar que a análise de imagem complexa pode ser feita com quase nenhuma memória e o mínimo de energia, este trabalho abre as portas para uma nova geração de sensores inteligentes e autônomos que podem ver e entender o mundo sem precisar de uma conexão com a nuvem.
Afogado em artigos na sua área?
Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.