Simple Science

Ciência de ponta explicada de forma simples

# Informática# Aprendizagem de máquinas# Visão computacional e reconhecimento de padrões

Melhorando a Eficiência em Redes Neurais de Baixa Precisão

Este artigo fala sobre os custos e melhorias para redes neurais de baixa precisão.

― 6 min ler


PikeLPN: Um divisor dePikeLPN: Um divisor deáguasneurais de baixa precisão.PikeLPN aumenta a eficiência em redes
Índice

Redes neurais de Baixa Precisão estão se tornando populares pela capacidade de otimizar o desempenho e a eficiência do modelo. Este artigo analisa os custos associados a modelos de baixa precisão e como eles podem ser melhorados.

Introdução às Redes Neurais de Baixa Precisão

A Quantização de baixa precisão é um método que reduz a precisão dos pesos e ativações em redes neurais. Isso permite tamanhos de modelos menores e tempos de processamento mais rápidos. No entanto, alguns aspectos dos modelos de baixa precisão podem ser negligenciados, levando a ineficiências.

O Problema com os Modelos de Baixa Precisão Atuais

Nos modelos de baixa precisão, certas operações que não passam por quantização são frequentemente ignoradas ao calcular métricas de eficiência. Elementos como Funções de Ativação, Normalização em Lote e escala de quantização têm um papel significativo no custo geral desses modelos.

Métricas Comuns Usadas

Uma métrica popular usada para avaliar a eficiência das redes neurais é chamada de Esforço de Computação Aritmética (ACE). Embora o ACE seja útil, ele nem sempre leva em conta operações elementares não quantizadas, que podem representar uma parte significativa do custo total de inferência.

Apresentando o PikeLPN

Para lidar com essas ineficiências, apresentamos o PikeLPN, um novo modelo que aplica quantização não apenas às operações padrão de multiplicação e acumulação, mas também a operações elementares. Ao fazer isso, podemos melhorar a eficiência geral dos modelos de baixa precisão.

Inovações no PikeLPN

  1. QuantNorm: Essa técnica se concentra em quantizar parâmetros de normalização em lote sem perder desempenho.
  2. Dupla Quantização: Isso reduz a sobrecarga das multiplicações de escala de quantização ao também quantizar esses parâmetros.
  3. Quantização Distribuição-Heterogênea: Essa abordagem visa resolver desajustes nas distribuições de pesos em camadas convolucionais separadas.

Elementos que Contribuem para o Custo do Modelo

Redes neurais de baixa precisão envolvem várias operações que contribuem para seus custos gerais. Aqui estão alguns dos principais contribuintes:

Camadas de Normalização em Lote

As camadas de normalização em lote ajudam a estabilizar o treinamento e melhorar o desempenho do modelo. No entanto, elas costumam usar cálculos em ponto flutuante, que podem ser caros. Se essas operações fossem quantizadas, isso poderia reduzir significativamente o custo geral dos modelos de baixa precisão.

Funções de Ativação

Funções de ativação tradicionais como ReLU estão sendo substituídas por funções parametrizadas como PReLU e DPReLU. Embora essas funções mais novas possam melhorar o desempenho do modelo, elas também aumentam o custo devido às operações elementares necessárias.

Conexões de Salto

Conexões de salto são uma característica de design comum nas redes neurais que permitem que informações contornem certas camadas. Embora ajudem a melhorar o desempenho, também podem aumentar significativamente os custos de acesso à memória.

Reavaliando Métricas de Eficiência

As métricas de eficiência existentes tendem a se concentrar em operações de multiplicação e acumulação e ignoram outras operações integrais. Isso pode dar uma imagem enganosa da eficiência de um modelo.

A Necessidade de uma Nova Métrica

Propomos uma extensão da métrica ACE para incluir operações elementares. Ao fazer isso, podemos fornecer uma estimativa mais precisa dos custos de inferência associados aos modelos de baixa precisão.

A Arquitetura do PikeLPN

O PikeLPN emprega designs arquitetônicos para maximizar a eficiência. Ele utiliza Convoluções Separáveis, que são conhecidas por serem computacionalmente eficientes. Esses blocos de construção evitam usar funções de ativação parametrizadas e conexões de salto, que podem aumentar os custos operacionais.

Convoluções Separáveis

Convoluções separáveis dividem o processamento em dois passos mais simples-convoluções de profundidade e convoluções ponto a ponto. Esse design permite que o PikeLPN equilibre efetivamente desempenho e eficiência.

Estratégias de Quantização no PikeLPN

O PikeLPN utiliza várias estratégias de quantização para otimizar o desempenho:

  1. Usando Quantizadores Lineares: Esses aplicam um conjunto de valores igualmente espaçados às operações.
  2. Quantizadores de Potência de Dois: Esse método restringe os níveis de quantização a potências de dois, o que pode simplificar operações e aumentar a eficiência.
  3. Quantização Distribuição-Heterogênea: Isso combina diferentes métodos de quantização com base nas características únicas de várias camadas.

Treinando Modelos PikeLPN

O treinamento envolve várias fases para garantir que o modelo seja eficaz e eficiente. Primeiro, um modelo de precisão total é treinado. Em seguida, o modelo é quantizado antes de ser retrainado.

Abordagem de Treinamento Multi-Fase

Essa abordagem permite que o modelo se familiarize com operações de precisão total e baixa, garantindo melhor desempenho uma vez que a quantização é aplicada.

Resultados: Como o PikeLPN se Compara

O PikeLPN mostra promessa em melhorar a eficiência enquanto mantém a precisão. Comparações com modelos de baixa precisão de ponta revelam seu desempenho superior.

Ganhos de Eficiência

O PikeLPN demonstra melhorias significativas no consumo de energia em comparação com outros modelos. Ele reduz a contribuição das operações elementares para o consumo total de energia, levando a uma eficiência geral melhor.

Conclusões

O PikeLPN representa um avanço significativo na eficiência de redes neurais de baixa precisão. Ao focar nos custos negligenciados associados a operações elementares e introduzir técnicas inovadoras de quantização, o PikeLPN oferece uma maneira de melhorar tanto a eficiência quanto a precisão em modelos de baixa precisão. À medida que as redes neurais continuam a evoluir, modelos como o PikeLPN desempenharão um papel essencial no seu desenvolvimento e aplicação.

Fonte original

Título: PikeLPN: Mitigating Overlooked Inefficiencies of Low-Precision Neural Networks

Resumo: Low-precision quantization is recognized for its efficacy in neural network optimization. Our analysis reveals that non-quantized elementwise operations which are prevalent in layers such as parameterized activation functions, batch normalization, and quantization scaling dominate the inference cost of low-precision models. These non-quantized elementwise operations are commonly overlooked in SOTA efficiency metrics such as Arithmetic Computation Effort (ACE). In this paper, we propose ACEv2 - an extended version of ACE which offers a better alignment with the inference cost of quantized models and their energy consumption on ML hardware. Moreover, we introduce PikeLPN, a model that addresses these efficiency issues by applying quantization to both elementwise operations and multiply-accumulate operations. In particular, we present a novel quantization technique for batch normalization layers named QuantNorm which allows for quantizing the batch normalization parameters without compromising the model performance. Additionally, we propose applying Double Quantization where the quantization scaling parameters are quantized. Furthermore, we recognize and resolve the issue of distribution mismatch in Separable Convolution layers by introducing Distribution-Heterogeneous Quantization which enables quantizing them to low-precision. PikeLPN achieves Pareto-optimality in efficiency-accuracy trade-off with up to 3X efficiency improvement compared to SOTA low-precision models.

Autores: Marina Neseem, Conor McCullough, Randy Hsin, Chas Leichner, Shan Li, In Suk Chong, Andrew G. Howard, Lukasz Lew, Sherief Reda, Ville-Mikko Rautio, Daniele Moro

Última atualização: 2024-03-29 00:00:00

Idioma: English

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

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

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