DeVIT: Low-Power Vision Transformer Acceleration Using Delta Computation
Este artigo introduz o DeVIT, um método de aceleração de baixo consumo para Vision Transformers que explora a localidade de valores em modelos quantizados para permitir a multiplicação de matrizes sem multiplicadores por meio de computação diferencial.
Artigo original sob licença CC BY 4.0 (http://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
Imagine que você esteja tentando ensinar um robô superinteligente a reconhecer imagens, como identificar um gato em uma árvore ou um carro em uma rua. Para fazer isso, usamos programas de computador especiais que imitam o cérebro, chamados "Vision Transformers". Esses programas são incrivelmente poderosos, mas também são feras gigantescas e vorazes. Eles precisam realizar bilhões de cálculos matemáticos minúsculos toda vez que olham para uma foto, e devoram enormes quantidades de memória e bateria. Por causa disso, é muito difícil colocá-los em dispositivos pequenos, como celulares ou drones, sem que eles superaqueçam ou fiquem sem energia.
Para domar essas feras famintas, os cientistas têm tentado tornar a matemática mais simples. Um truque popular é a "quantização", que é como arredondar os números que o robô utiliza. Em vez de usar decimais precisos, o robô usa apenas um conjunto limitado de números inteiros, como 0, 1, 2, até 255. Isso economiza espaço, mas não impede o robô de fazer bilhões de multiplicações. No entanto, há um bônus oculto para esse arredondamento: como o robô é forçado a usar apenas alguns números específicos, ele acaba usando os mesmos números repetidamente. É como se um chef tivesse apenas cinco ingredientes; ele usaria o mesmo pote de tempero repetidamente. A grande questão é: podemos construir um robô que perceba quando está prestes a usar o mesmo tempero novamente e pule o trabalho, economizando energia nesse processo?
É exatamente isso que os pesquisadores por trás do DeVIT (Delta-coded Vision Transformer) se propuseram a resolver. Eles perceberam que, como esses "Vision Transformers" são forçados a usar um conjunto limitado de números, os pesos (os números que dizem ao robô o que procurar) frequentemente ficam logo ao lado uns dos outros em valor. Por exemplo, se o robô precisa multiplicar um número por 5, depois por 6, depois por 7, ele não precisa fazer três cálculos separados e difíceis. Ele pode apenas fazer o primeiro, depois somar um pouquinho para o próximo, e somar um pouquinho mais para o seguinte.
A equipe do DeVIT inventou uma maneira inteligente de organizar esses números para que o robô possa usar esse truque de "somar um pouquinho" em vez de fazer multiplicações completas e pesadas. Eles ordenam os números em uma linha, do menor para o maior, e armazenam apenas a diferença entre eles (o "delta"). Se a diferença for pequena, o robô pode apenas "deslocar" o número (o que é como multiplicar por 2 ou 4) e somá-lo, em vez de fazer uma multiplicação complexa. Se a diferença for zero (significando que o número é o mesmo do anterior), o robô não precisa fazer nada — ele apenas reutiliza a resposta anterior.
Ao usar este método, os pesquisadores mostraram que conseguiram reduzir a quantidade de matemática que o robô precisa fazer para apenas 0,53 do que uma versão não otimizada precisaria. Isso significa que o robô faz menos da metade do trabalho! Em seus testes, este novo design usou 159,57 nJ (nanojoules) de energia para um único passo principal de cálculo. Isso é cerca de 5,5% menos energia do que os melhores métodos de "deslocamento e soma" existentes com os quais eles compararam.
No entanto, há uma ressalva. Para fazer isso funcionar, os pesquisadores tiveram que ordenar os números e armazenar informações extras sobre onde eles pertencem, o que consome um pouco de espaço de memória extra. Além disso, como eles estão aproximando as diferenças, há uma pequena troca em termos de precisão. Em seus experimentos com diferentes modelos, a precisão caiu um pouco — às vezes até 3,11 pontos percentuais para classificação de imagens ou 2,53 pontos de mAP para detecção de objetos. Embora este seja um preço pequeno a pagar por uma economia de energia tão grande, isso significa que o método ainda não é perfeito para todas as situações.
Em resumo, o DeVIT é como dar ao robô uma folha de consulta. Em vez de recalcular os mesmos problemas matemáticos do zero toda vez, ele olha para sua lista ordenada de números, vê que o próximo está apenas um pequeno passo de distância e pega um atalho. Isso torna o robô mais rápido e muito mais eficiente energeticamente, nos aproximando de ter uma IA poderosa que possa rodar em dispositivos do dia a dia sem esgotar a bateria.
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.